Make sure that your NICs exist in separate netblocks when doing this. If you use Linux, packets are routed via the first NIC in the system in the netblock, so, even though eth1 has an MTU of 9000, it could end up routing those packets through eth0.
We set up a separate VLAN to our storage network and had to set up a separate netblock on eth1 to avoid that behavior. Increasing the MTU to 9000 easily increased throughput as that particular system deals with streaming a number of rather large files.
Enabling Jumbo Frames means allowing a larger Maximum Transmission Unit (MTU), usually by setting the MTU to 9000.
To verify this has worked you can use ping in windows with the -l
flag to set the packet size, and the -f
flag to set Don't Fragment flag in the packet.
ping my.test.host -f -l 8972
If the packet gets fragmented you will see
Packet needs to be fragmented but DF set
in place of what you would normally see.
For Linux, the ping command uses different flags. -s
sets the packet size, and -M do
sets Do Not Fragment. So the above command would be:
ping my.test.host -M do -s 8972
By adjusting the packet size, you can figure out what the mtu for the link is. This will represent the lowest mtu allowed by any device in the path, which could be your switch, your computer, target or anything else inbetween.
This won't by itself tell you where the lowest MTU is - you may be able to work that out by running the test to different devices in the path, but there could always be transparent routers that limit the MTU but don't show up for traceroute
.
Note there is an overhead of 28 bytes for the ICMP headers, so the MTU is 28 bytes larger than the figure you establish through the method above. So to check for MTU of 9000, you actually need to set your ping packet size to 9000-28 = 8972.
Update I found some resources which will specifically figure out the MTU across the path between the host and the target:
- For Windows mturoute
- For *nix tracepath or traceroute --mtu
And some more discussion on finding the MTU of a path.
Best Answer
The key here is that you can control your little segment of the network and enable large MTUs but you can't control the path your packets take over the internet and certainly can't control the configuration of the routers your packets will pass through. Most internet routers aren't configured above 1500 so you aren't going to have much luck with this solution. Worse, sometimes larger packets will actually get dropped by routers that don't support jumbo frames so I think you'd actually find things are worse if you try sending jumbo frames to the internet.
Jumbo frames are great on your internal network - especially for networks doing streaming or iSCSI.