Description

This article explains why you cannot have a ping payload larger than 1472 when you designate do-not-fragment on Ethernet interfaces with default MTU settings.

 

Symptoms

When trying to ping from an Ethernet interface with default MTU settings, if you try to set a payload greater than 1472 and do-not-fragment , you may see something like this:

router@lab# run ping x.x.x.x size 1500 do-not-fragment

PING x.x.x.x (x.x.x.x): 1500 data bytes
ping: sendto: Message too long
ping: sendto: Message too long
ping: sendto: Message too long
ping: sendto: Message too long
^C
--- x.x.x.x ping statistics ---

4 packets transmitted, 0 packets received, 100% packet loss

 

Solution

The reason for this is that by default, Juniper uses the standard IP MTU of 1500. Along with the default size, you have to account for 8 bytes being used for the ICMP header and another 20 bytes for the IP address.

This comes to:

1500 - 8 - 20 = 1472

As such, 1472 bytes is the largest payload that you can set where you have "do fragment" turned off. 

 

Modification History

2020-04-09: Article checked for accuracy; found to be valid and relevant; minor non-technical modifications made

 

Related Information