In the TCP/IP protocol suite, all packets are delivered by the IP datagram delivery service. Packet delivery is not guaranteed by this service. A packet can be misdirected, duplicated, or lost on the way to its destination. The service is connectionless because all packets are transmitted independently of any other packets. This is in contrast to a telephone network, for instance, where a connection is established and maintained.
To keep track of the delivery status, TCP/IP applications using the IP datagram delivery service expect to receive replies from the destination node.
IP defines the form that packets must take and the ways that packets are handled when they are transmitted or received. The form the packet takes is called an IP datagram. It is the basic unit of information that is passed across a TCP/IP network. The IP datagram consists of a header and a data section. The header section contains the sender’s (source) IP address and the receiver’s (destination) IP address and other information. Figure 1-4 shows the general form of an IP datagram.
Figure 1-4 Basic Frame of an IP Datagram
The IP address for a node is a logical address and is independent of any particular hardware or network topology. It has the same form, regardless of the media type. The IP address (version 4) is a 4-byte (32-bit) numeric value that identifies both a network and a local host or node (computer or other device) on that network. The 4-byte IP address is usually represented in dotted decimal notation. Each byte is represented by a decimal number, and periods separate the bytes, for example, 22.214.171.124.
The Data-Link layer transmits IP packets in the data section of its physical frame. Because IP supports a 64-KB packet length, an IP datagram might not fit in a data-link frame. Also, in traveling to its destination, a datagram can traverse many different media with different physical frame lengths. An IP router might need to forward a packet across media in which the inbound and outbound frame lengths differ.
To handle these potential problems with packet transmission, IP specifies a method for breaking datagrams into fragments. The fragments are reassembled when they arrive at the final destination. Reassembling fragments reconstructs the entire IP datagram.
The maximum transfer unit (MTU) is the maximum size of data packets that can be transferred across a given physical network. For local area networks, such as Ethernet, the MTU is determined by the network hardware. For wide area networks that use serial lines to interconnect packet switches, the MTU is determined by software.
The Path MTU is the smallest of all MTUs, for the hops along a path from the source host to the destination host. The Path MTU governs the size of the largest IP packet that can be sent across the path without fragmentation. This feature conforms to RFC 1191.
This feature is automatically enabled when you enable TCP/IP.
There are two advantages to this feature. The Path MTU avoids fragmentation anywhere along the path and it reduces the protocol overhead.
The Path MTU discovery process prevents fragmentation between two routers. Figure 1-5 illustrates a sample Path MTU discovery process, followed by an example of the steps involved.
Figure 1-5 Sample Path MTU Discovery Process
The following describes the steps involved in the sample Path MTU discovery process illustrated above:
Host A opens a File Transfer Protocol (FTP) connection to Host B.
Host A and Host B negotiate the maximum segment size (MSS) during their connection. This is the largest TCP segment that a host can send across a network. The MSS in Figure 1-5 is 4,110 bytes, which is 4,150 bytes minus 40 bytes for the IP and TCP headers.
Host A sends a 4,150-byte packet to 4,110 bytes of data and 40 bytes of header information to Host B. The Don’t Fragment (DF) flag in the IP header is set to yes in Host A.
Router 1 receives the packet from Host A. Then Router 1 determines that the packet is larger than 1,500 bytes, which is the maximum packet size that can be sent over a PPP network.
Router 1 sends Host A an ICMP destination unreachable error message. This message indicates that Router 1 must fragment packets larger than 1,500 bytes.
Host A receives the error message from Router 1. In response, it adjusts the maximum segment size to 1,460 bytes.
Host A resends the data from Step 3. Each packet consists of 1,460 bytes of data and 40 bytes of header information.
Router 1 accepts the packets and forwards them to Router 2, which then sends them to Host B.