3

I've been trying to figure out why some(very few) of the people who visit my site have random slowdowns and error pages('page cannot be loaded'). The random slowdowns and error pages never happen for me and most of the people who visit my site. The site is load balanced(which explains the 'random') and for some reason, I was thinking that lowering the MTU might help(I don't remember where I got that idea from).

Then I wanted to see what the best MTU from my office to the website was. This is where things got strange. Using 'ping www.example.com -f -l xxxx':

MTU of 1500: Packet needs to be fragmented but DF set (ok)
MTU of 1490: Packet needs to be fragmented but DF set (ok)
MTU of 1480: Packet needs to be fragmented but DF set (ok)
MTU of 1470: Request timed out (hu?)
MTU of 1475: Packet needs to be fragmented but DF set (ok)
MTU of 1474: Packet needs to be fragmented but DF set (ok)
MTU of 1473: Packet needs to be fragmented but DF set (ok)
MTU of 1472: Request timed out (???)
MTU of 1400: Request timed out (???)
MTU of 1300: Request timed out (???)
MTU of 1200: Request timed out (???)
MTU of 1100: Request timed out (???)
MTU of 1000: Packet needs to be fragmented but DF set (ok)
MTU of 1024: Packet needs to be fragmented but DF set (ok)
MTU of 1025: Request timed out (???)

So it seems that my website isn't responding if the MTU is less than 1473 or greater than 1024. Shouldn't it respond with 'packet needs to be fragmented but..' instead???

Is that an actual problem? or is that how it should be? Could there be some bad hardware or incorrectly setup software causing that?

3 Answers3

3

A response of "Packet needs to be fragmented but DF set" for packets 1473 and larger is normal for ethernet, so those aren't anything to worry about AFAIK. Anything 1472 or lower should go through as long as each hop in the path supports that MTU. The random "Packet needs to be fragmented but DF set" you are getting for packets smaller than 1472 makes me think that the pings are taking multiple paths and that one or more of those paths has an MTU smaller than the packet where the fragmentation message appears (1000 and 1024). The "Request timed out" don't make sense unless (as gregaskew mentioned) something in the path is blocking ICMP.

Try this utility from your office to your web server to see if you can get any insight:

http://www.elifulkerson.com/projects/mturoute.php

joeqwerty
  • 108,377
  • 6
  • 80
  • 171
0

You can set MTU of your network interfaces to 1400 as some well known WEB-servers do (or did).

Or, turn off path MTU discovery, so your servers' replies won't be DF tagged.

poige
  • 9,171
  • 2
  • 24
  • 50
0

An MTU of 1500 means that the largest ping payload will be 1472 (MTU minus 20 bytes for the ip header, 8 bytes for the ICMP header).

Request timed out could simply mean that ICMP is not being forwarded somewhere along the way, or blocked by a firewall.

Greg Askew
  • 34,339
  • 3
  • 52
  • 81