[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: The IPv4 Internet MTU



 

> -----Original Message-----
> From: Iljitsch van Beijnum [mailto:iljitsch@muada.com] 
> Sent: Friday, October 12, 2007 2:53 AM
> To: bob.hinden@nokia.com
> Cc: IPv6 Operations
> Subject: Re: The IPv4 Internet MTU
> 
> On 12-okt-2007, at 2:01, Bob Hinden wrote:
> 
> >> Minimum MTU for IPv4 is only 68 bytes; minimum EMTU_R
> >> is the one that is 576 - right?
> 
> > I forget the exact terminology, but Brian is talking about the  
> > biggest packet one can send and be guaranteed it will not be  
> > fragmented.  The is 576 bytes for IPv4 and 1280 bytes for IPv6.
> 
> > I think of it as the biggest smallest packet one can send :-)
> 
> Please note that the former and the latter are not the same thing. In

> IPv4, fragmentation is always an option unless you set the DF bit.  
> That doesn't mean it's a good idea to set the DF bit because  
> fragmentation is less than desireable, because the alternative is  
> worse: the packet is dropped. You ONLY get to set the DF bit if you  
> have a mechanism in place that can recover from the drops and resend  
> smaller packets. As far as I know, this is universally not the case  
> for IPv4 UDP applications so those should NEVER set the DF bit.
> 
> 68 is not the minimum MTU for IPv4, it's a throw-away observation in  
> RFC 791 that having an MTU even smaller than 68 is unworkable. In  
> practice, the smallest MTU that I've seen in IPv4 is 296 (see work by

> Van Jacobsen) and for a long time, 576 was the largest univesally  
> supported packet size on the IPv4 internet. But this was so long ago  
> that it doesn't mean much anymore today. There are basically two  
> types of UDP protocols: the old / low volume ones such as the DNS,  
> where a 512 / 576 limit is explicitly or implicitly understood, and  
> the newer / higher volume ones such as A/V streaming that will  
> usually work just fine at sizes between 1300 and 1400 bytes.

The BCP for this is RFC3819, Section 2. It essentially says
that slow links should set an MTU that is "small, but not
too small". It gives an example number of 256b, but leaves
it up to the reader to decide just how small "too small" is.
Main takeaway for me is that if the path MTU is 576 or smaller,
just drop everything bigger than 576 and set DF=0 in the others.

Fred
fred.l.templin@boeing.com