next up previous contents
Next: HTTP [,] Up: Standards Previous: IP [,]   Contents

TCP/IP [21,40]

Packets are sent on a best-effort basis. There is no guarantee that your packets will be sent. There is no guarantee that your packets will arrive in the order they were sent (errors can cause packets to go the long way around while other packets make it thru the short way). There is no guarantee that your packets are not sent several times resulting in duplicates (this can happen if a routing error occurs and your packets get stored and routed over multiple paths). The default protocol is called UDP [39], which means ``User Datagram Protocol''.

TCP, which mean ``Transmission Control Protocol'' (telnet) is a reliable protocol. That is, TCP will deliver your packets, guarantee that they arrive, arrive in order, and arrive without duplicates. TCP does this by implementing a handshake protocol that allows the sending end to number the packets and the receiving end to acknowledge numbered packets, put them in numeric order, and discard duplicates. Lost packets can be explicitly requested.

Thus TCP builds a reliable protocol on top of an unreliable one. The advantage is clear. The disadvantage is cost in bits used for overhead and in time spent acknowledging packets. Over a reliable link TCP is much more expensive than UDP.


next up previous contents
Next: HTTP [,] Up: Standards Previous: IP [,]   Contents
root 2004-02-18