Monday, February 14, 2011

Path MTU Discovery (PMTUD) using the Cisco Extended Ping

The "Sweep range of sizes" option of the Cisco Extended Ping allows us to vary the sizes of the ICMP Echo packets. It can be used to determine the minimum MTU size configured on the routers along the path to a destination end system, and eventually reduces performance problems caused by packet fragmentation.

RT1#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
RT2              Ser 0/0            152          R                  Ser 0/0
RT1#
RT1#sh run int s0/0
Building configuration...

Current configuration : 65 bytes
!
interface Serial0/0
 ip address 192.168.1.1 255.255.255.0
end

RT1#

RT2#sh run int s0/0
Building configuration...

Current configuration : 74 bytes
!
interface Serial0/0
 mtu 100
 ip address 192.168.1.2 255.255.255.0
end

RT2#

RT1#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]: 1
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface:
Type of service [0]:
Set DF bit in IP header? [no]: y
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]: y
Sweep min size [36]: 51
Sweep max size [18024]: 150
Sweep interval [1]:
Type escape sequence to abort.
Sending 100, [51..150]-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
Packet sent with the DF bit set
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.....
Success rate is 90 percent (50/55), round-trip min/avg/max = 4/14/48 ms
RT1#

Download the pcap file here.

3 comments:

  1. I like use sweep to test the hardware itself, if it can handle small and larger packtes. the use of data pattern helps this kind of test.

    ReplyDelete
  2. Selecting the "verbose" option in the extended ping will show at what exact MTU it goes wrong :-)

    ReplyDelete