Timeout while testing MTU via ping

ipmtunetworkingping

I tested it on Windows 7 and Ubuntu 11.10 with MTU size 1500B.

  • IP packet – 20B
  • ICMP packet – 8B

1500 – 28 = 1472

So maximum packet that I could ping without fragmentation is 1472B, and this is correct, because when I try set higher value, it shows that fragmentation is needed. But maximum value when ping is successful, is 1448 on both systems. When I try values between 1449 – 1472 bytes I get time out. Why is that?

Best Answer

There are several possibilities:

  • The ping target ignores pings over a certain size.
  • The ping packet is fragmented somewhere along the way and the target system (or some in between firewall) doesn't answer fragmented ping requests.

You can test the latter by pinging with the "don't fragment" option set (on ubuntu: add a -M do option), but that is not failsafe since some routers don't properly return an error if they drop a too large packet.

Related Question