Optimal MTU

Main Menu

edit SideBar

Optimal MTU

Optimal MTU of DSL and WAN connections

Layman's term: "How to Get a Faster Internet"

Summary

A number of tweak tools and router settings offer to change the maximum/default MTU (maximum transmission unit) of an Internet connection: however, there is a lot of mystery as to an ideal setting to use for one's environment. Experimenting with the MTU settings on a home or corporate network can yield faster downloads, faster gaming, "less lag," etc. There is always a tradeoff in this kind of tweaking: less packets (bigger mtu) mean a higher chance of failures, but downloads will be faster; more packets (smaller mtu) mean a more resilient, "less laggy" network.

What should be changed

Ideally, any interface behind a modified interface should be changed to its MTU to prevent "jabber," or network backlash. If you use a home router and change the MTU on it, its almost always changed on the Internet/WAN side, and the other computers do not need to be changed. If you're trying to stabilize a LAN, or your modem is managing your connection, the MTU should be changed on the systems too.

How to change the MTU setting

  • Routers: most routers have a web interface; check the WAN section.
  • Windows: use TCP Optimizer or DRTCP
  • Linux: use an ifconfig command; add it to one of your init.d scripts to make permanent, or check your /etc/network/interfaces file and add an MTU setting there.

DSL

DSL tends to be based on a combined use of the PPPoE and ATM protocols. PPPoE has an 8 byte header, so your max MTU will always be 1492. ATM operates in 53-byte cells, so the maximum MTU based on this criteria is 1484 (which is also 8 bytes less than 1492). If you want to reduce latency ("lag"), try cutting back in chunks of 53: 1431 and 1378 would be your next logical choices.

Observations

  • A lot of people use "mtu 1400": it would halfway use an ATM cell for a 1431 byte payload.
  • The MTU limit on an IPv6 tunnel is 1280; 1280 - 8 is 1272, which is also on an ATM cell boundary.

Cable

1500 is the default value: cable deployments seem to be extensions of Ethernet, or at least managed as such. If you happen to know if the cable company uses ATM, try using the DSL-based tweaks.

Dial-up

576 is an old default value: some people get it to 1492 without issue. Experiment.

Fiber or Token-Ring

This will require some experimentation: start around 4200 and increment as needed. Research your media online to see what others are using.

References

Followup

3-1-2008: I'm looking into adjusting the use of Nagle's algorithm at the system level.

Recent Changes (All) | Edit SideBar Page last modified on March 01, 2008, at 07:22 PM Edit Page | Page History
Powered by PmWiki