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.
do-not-fragment
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
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.
2020-04-09: Article checked for accuracy; found to be valid and relevant; minor non-technical modifications made