I recently became aware of RFC 4821, Packetization Layer Path MTU Discovery, dated March 2007. One of the problems with the traditional Path MTU discovery mechanism is that it relies on the return of ICMP code for “fragmentation needed and DF set” (also called the Datagram Too Big message in RFC 1191). In today’s networks, ICMP messages are often filtered out as a way to hide network infrastructure (see RFC2923). Network security folks have learned to let these packets through so that Path MTU continues fo function. But what about alternative mechanisms so that security concerns can be addressed?
RFC 4821 describes a way in which the packetization layer (layer 4 in the OSI model, or TCP in the Internet Protocol model) increases packet sizes and uses packet loss to detect the maximum packet size that will transit a given path. The lower layers are not used to determine the MTU. The RFC mentions an interesting case: an inconsistently configured multi-channel link or multipath topology, each with an inconsistent MTU. Some packets make it through at a high MTU and others fail due to the link(s) with a lower MTU. The protocol monitors packet loss to detect inconsistent multi-channel MTU configurations.
One of the interesting limitations with this protocol is its use with UDP and applications in which there is minimal (or no) feedback on which base the modification of the outoing MTU.
I just checked Cisco’s web site and didn’t find anything there that referenced the use of this protocol. A few google searches didn’t turn up anyone who had implemented this mechanism. Fortunately, there isn’t a chicken-and-egg problem here in that there is no dependency between multiple systems to implement it. I’d like to know if anyone has implemented it and how well it works. Unfortunately, the RFC doesn’t mention any reference implementations. If you know of one, Please post a comment to let everyone know where it is and how well it works.
Re-posted with Permission
NetCraftsmen would like to acknowledge Infoblox for their permission to re-post this article which originally appeared in the Applied Infrastructure blog under http://www.infoblox.com/en/communities/blogs.html