The Basics of IP Transport
As shown in Figure 8-1, IP corresponds to layer 3 of the Open Systems Interconnection (OSI) seven-layer protocol stack. At its most basic level, IP simply passes a packet of data from one router to another through the network to the appropriate destination, as identified by the destination IP address in the IP packet header. This simple operation means that IP is inherently unreliable. IP provides no protection against a loss of packets, which might happen if congestion occurs along the path from the source to the destination. Moreover, in a given stream of packets from the source to the destination, it is quite possible that packets will take different routes through the network, meaning that different packets can have different delays and also that packets may arrive at the destination out of sequence. In data networks, in order to ensure an error-free, in-sequence delivery of packets to the destination application, the Transmission Control Protocol (TCP) is used. This protocol resides on the layer above IP. When a session is to be set up between two applications, the application data is first passed to TCP where a TCP header is applied, the data is then passed to IP where an IP header is applied, and then it is forwarded through the network. The information contained in the TCP header includes, among other things, source and destination port numbers, which identify the applications at each end; sequence numbers and acknowledgement numbers, which enable the detection of lost packets; and a checksum, which enables the detection of corrupted packets. TCP uses these information elements to request retransmission of lost or corrupted packets and to deliver packets to the destination application in the correct order. In order to do all of this, TCP first establishes a connection between peer TCP instances at each end. This involves a sequence of messages between the TCP instances prior to the transfer of user data. Instead of using TCP at layer 4 in the stack, the User Datagram Protocol (UDP) is another option. This is a simple protocol, which does little more than enable the identification of the source and destination applications. It does not support recovery from loss or error and does not ensure an insequence delivery of packets. It is meant for simple request-response types of transactions, rather than the sequential transfer of multiple packets.An application that would use UDP rather than TCP, for example, is the Domain Name Service (DNS), a classic one-shot request-response protocol.
265 times read
|