Path MTU Discovery

Unanswered Question
May 10th, 2007
User Badges:

Hi Experts,


Can any one tell me the advantage of Path MTU Discovery? What are the pros and cons? Is there global configuration command or is there any routing protocol specific command?


Cheers,

Nik

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
mohammedmahmoud Thu, 05/10/2007 - 15:36
User Badges:
  • Green, 3000 points or more

Hi,


PMTUD is an algorithm described in RFC 1191 and implemented in recent TCP/IP stacks. This algorithm attempts to discover the largest IP datagram that can be sent without fragmentation through an IP path and maximizes data transfer throughput.


PMTUD is implemented when you have an IP sender set the "Don't Fragment" (DF) flag in the IP header. If an IP packet with this flag set reaches a router whose next-hop link has too small an MTU to send the packet without fragmentation, that router discards that packet and sends an ICMP "Fragmentation needed but DF set" error to the IP sender. When the IP sender receives this Internet Control Message Protocol (ICMP) message, it learns to use a smaller IP MTU for packets sent to this destination, and subsequent packets are able to get through.


Various problems can cause the PMTUD algorithm to fail. The IP sender never learns the smaller path MTU but continues unsuccessfully to retransmit the too-large packet, until the retransmissions time out. Some problems include:


* The router with the too-small next hop path fails to generate the necessary ICMP error message.

* A router in the reverse path between the small-MTU router and the IP sender discards the ICMP error message before it can reach the IP sender.

* Confusion in the IP sender's stack in which it ignores the received ICMP error message.


A workaround for these problems is to configure the IP sender to disable PMTUD. This causes the IP sender to send their datagrams with the DF flag clear. When the large packets reach the small-MTU router, that router fragments the packets into multiple smaller ones. The smaller, fragmented data reaches the destination where it is reassembled into the original large packet.


http://www.ietf.org/rfc/rfc2923.txt?number=2923

http://www.cisco.com/warp/public/105/38.shtml

http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml



HTH, please do rate all helpful replies,

Mohammed Mahmoud.

Richard Burts Thu, 05/10/2007 - 19:04
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

  • Cisco Designated VIP,

    2017 LAN, WAN

Nik


Mohammed has given a good explanation of PMTUD. But let me try to address your questions a bit more directly:

- what are advantages? the advantage of PMTUD is that packets will be sent which conform to the lowest MTU along the path. Therefore fragmentation is avoided It also avoids the possible problem that Mohammed describes in which some intermediate device is dropping packets (because of DF) and the originating station continues to send packets that are too large.

- pro and con. the pro is that it makes the network work much more effectively. the con is that it may generate a few extra packets to be sent over the network. [note: PMTUD is implemented by the end station. the router (or switch) in the network does not control this. it is controlled be the IP stack of the end station]

- is there any global configuration or routing protocol specific command? since PMTUD is controlled by the end station, there are no commands on the router that control it. there are some commands on the router that can clear the DF flag, or the ip tcp adjust-mss command that manipulate the segment size to work around possible MTU issues.


So I think the basic point of this is that PMTUD is implemented and controlled by the end station and not by the router.


HTH


Rick

mohammedmahmoud Thu, 05/10/2007 - 22:56
User Badges:
  • Green, 3000 points or more

Hi Rick,


Perfect and direct replies, to the point as always, never deserves less than 5 :)



BR,

Mohammed Mahmoud.

mlu Fri, 05/11/2007 - 11:17
User Badges:

"But, reassembly is very inefficient on a router whose primary job is to forward packets as quickly as possible. A router is not designed to hold on to packets for any length of time. Also a router doing reassembly chooses the largest buffer available (18K) with which to work because it has no way of knowing the size of the original IP packet until the last fragment is received."


why does cisco choose 18k as the size for largest buffer?


bjornarsb Thu, 05/10/2007 - 22:33
User Badges:
  • Bronze, 100 points or more

Hi,


Keep in mind that PMTU only works for TCP!

TCP and UDP operates quiet different. As TCP has lots of flow control parameteres , UDP is just best effort.


So for bad designed UDP applications you could expirience problems.



BR,

Bjornarsb

Actions

This Discussion