|
|
Transmission Control Protocol, User Datagram Protocol (UDP), and Internet Control Message Protocol (ICMP) all reside at the transport layer.
TCP breaks up messages into datagrams and makes sure messages arrive at their destination. It sends acknowledgments between the devices to keep track of which datagrams have arrived. If a datagram doesn’t arrive at the destination, it is re-sent. TCP also reassembles datagrams into their proper order on arrival by using a sequence number in the header of the TCP datagram.
UDP doesn’t do as much as TCP. It is designed for applications for which you don’t need to put together sequences of datagrams. UDP doesn’t do acknowledgments, and it doesn’t care whether or not a packet (datagram) has made it to the destination. Since UDP doesn’t reassemble datagrams, no sequence number appears in the header. The upside to UDP is that the protocol has much less overhead than TCP, so it is useful for high-bandwidth applications that aren’t upset by missing a packet or two—such as streaming video.
ICMP is used for error messages and for providing feedback about problems in the communication environment. For example, if you attempt to connect to a host, your system may get back an ICMP message saying “host unreachable.” ICMP has no port numbers, because the network software itself interprets ICMP messages. Two common utilities that use ICMP are ping and tracert.
|
|