Andrew McNabb wrote:
UDP sends datagrams.
TCP manages datagrams with reliable delivery (acks, time-outs,
resends, etc), packet ordering, flow control/windowing, etc.
I almost agree. UDP indeed deals with datagrams, but TCP does not. TCP
deals entirely with streams (with all of the features you mentioned).
I think Bryan meant that *internally*, the TCP code deals with datagrams
and makes them reliable by ordering them and dealing with dropped
packets, such that by the time TCP is done passing data up to the
application, they are no longer datagrams, but rather a reliable set of
data from a session with the other side of the TCP connection.
Theoretically, it is possible to implement TCP on top of UDP, I imagine.
It would be slightly easier than doing it directly on top of IP, since
UDP gives you port numbers for free. :) That would be a fun weekend
project...
--Dave
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/