| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
IP Datagram Size, the Maximum Transmission Unit (MTU), and Fragmentation Overview (Page 4 of 4) Internet Minimum MTU: 576 Bytes Each router must be able to fragment as needed to handle IP datagrams up to the size of the largest MTU used by networks to which they attach. Routers are also required, as a minimum, to handle an MTU of at least 576 bytes. This value is specified in RFC 791, and was chosen to allow a reasonable sized data block of at least 512 bytes, plus room for the standard IP header and options. Since it is the minimum size specified in the IP standard, 576 bytes has become a common default MTU value used for IP datagrams. Even if a host is connected over a local network with an MTU larger than 576, it may choose to use an MTU value of 576 anyway, to ensure that no further fragmentation will be required by intermediate routers. Note that while intermediate routers may further fragment an already-fragmented IP message, intermediate devices do not reassemble fragments. Reassembly is done only by the recipient device. This has some advantages and some disadvantages, as we will see when we examine the reassembly process. When trying to send a great deal of data, efficiency in message transmissions becomes important. The larger each IP datagram we send, the smaller the percentage of bytes wasted for overhead such as header fields. This means that ideally, we want to use as large an MTU as possible without fragmentation occurring. Determining the optimal MTU to use for a route between two devices requires knowing the MTU of every link on that routeinformation that the end-points of the connection simply dont have. They can determine the MTU of the overall route, however, using a clever technique called path MTU discovery. I call this technique clever because it does not use any special feature designed for the particular purpose of determining a routes MTU, but rather an error reporting mechanism built into TCP/IP Internet Control Message Protocol (ICMP). One of the message types defined in ICMPv4 is the Destination Unreachable message, which is returned under various conditions where an IP datagram cannot be delivered. One of these situations is when a datagram is sent that is too large to be forwarded by a router over a physical link but which has its Dont Fragment (DF) flag set to prevent fragmentation. In this case, the datagram must be discarded and a Destination Unreachable message sent back to the source. A device can exploit this capability by testing the path with datagrams of different sizes, to see how large they must be before they are rejected. The source node typically sends a datagram that has the MTU of its local physical link, since that represents an upper bound on the MTU of any path to or from that device. If this goes through without any errors, it knows it can use that value for future datagrams to that destination. If it gets back any Destination Unreachable - Fragmentation Needed and DF Set messages, this means some other link between it and the destination has a smaller MTU. It tries again using a smaller datagram size, and continues until it finds the largest MTU that can be used on the path.
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. |