MAXIMUM TRANSMISSION
UNITProject by: Michelle Davies
CIS-180
WHAT IS THE “MTU”? The Maximum Transmission Unit (also
abbreviated as MTU) is the largest physical packet size, measured in bytes, that a network can transmit (Webopedia).
The Internet's Transmission Control Protocol (TCP) uses the MTU to determine the maximum size of each packet in any transmission.
MTU sizes are inherent properties of physical network interfaces, normally measured in bytes (About.com).
DIFFERENT MTU SIZES FOR DIFFERENT NETWORK TYPES
MediaMaximum
Transmission Unit (bytes)
Notes
Internet IPv4 Path MTU At least 68
Practical path MTUs are generally higher. IPv4 links must be able to forward packets of size up to 68 bytes. Systems may use Path MTU Discovery to find the actual path MTU. This should not be mistaken with the packet size every host must be able to handle, which is 576.
Internet IPv6 Path MTU At least 1280Practical path MTUs are generally higher. Systems must use Path MTU Discovery to find the actual path MTU.
Ethernet v2 1500Nearly all IP over Ethernet implementations use the Ethernet V2 frame format.
Ethernet with LLC and SNAP, PPPoE 1492Rarely used
Ethernet Jumbo Frames 1500-9000
The limit varies by vendor. For correct interoperation, the whole Ethernet network must have the same MTU. Jumbo frames are usually only seen in special purpose networks.
WLAN (802.11) 2272 Token Ring (802.5) 4464 FDDI 4352
Source: Wikipedia
acket
FINDING THE RIGHT MTU SIZE IS LIKE PLAYING….
1000 1500 1
1492
If your MTU is set too highor too low you will have issues, it needs to be just right.
The next few slides will use Ethernet V2 in the examples.
POTENTIAL MTU ISSUES
Too Low Too High
If set too low, streams of network traffic will be broken up into a relatively large number of small packets that adversely affects performance (latency). Xbox Live, for example, requires the value of MTU (packet size) by at least 1365 bytes.
If the maximum TCP packet size is set too high, it will exceed the network's physical MTU and also degrade performance by requiring that each packet be subdivided into smaller ones (a process known as fragmentation).
How do you determine the correct MTU size?
Source: About.com
WHAT IS THE OPTIMAL MTU SIZE? This can be tested using the ping utility
within the operating system loaded onto your computer.
In Windows, Go to Start -> Run -> Type in “CMD” (w/out quotes) and hit enter. This populates the DOS prompt.
Type ping www.domain.com -f -l xxxx (mtu size) and hit enter.
Source: Expedient
PING Parameter Definitions:
-f : Specifies that Echo Request messages are sent with the Don't Fragment flag in the IP header set to 1. The Echo Request message cannot be fragmented by routers in the path to the destination. This parameter is useful for troubleshooting path Maximum Transmission Unit (PMTU) problems.
-l Size : Specifies the length, in bytes, of the Data field in the Echo Request messages sent. The default is 32. The maximum size is 65,527.
Source: Microsoft.com
OPTIMAL MTU SIZE (CONT)
Source: Expedient
Wrong MTU Setting – Too High
Correct MTU Setting
**Note the results above indicate that the packet needs to be fragmented. Lower the size the packet in increments of +/-10 (e.g. 1472, 1462, 1440, 1400) until you have a packet size that does not fragment.
HOW TO ADJUST MTU SETTING Once the optimal MTU size has been
determined, the MTU setting will need to be adjusted within your LAN’s router or locally on the machine affected within the operating system.
Tweaking the MTU: There are a few different ways to adjust the MTU on a Windows machine, we will explore the two most popular in the following slides.
ADJUSTING MTU USING THE WINDOWS REGISTRY EDITOR In Windows, Go to Start -> Run -> Type
in “REGEDIT” (w/out quotes) and hit enter. This populates the Windows Registry Editor. NOTE: Use extreme caution when making changes or deleting keys. Not a good idea for those who are not tech savvy.
Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters through the tree structure (example shown on next slide)
ADJUSTING MTU USING THE WINDOWS REGISTRY EDITOR (CONT)
Note: MTU settings in theWindows registry editor arestored in Hexadecimal.
ADJUSTING MTU USING THE WINDOWS REGISTRY EDITOR (CONT) Add a Protocols subkey (if it does not already exist). To do so:
On the Edit menu, point to New, and then click Key. Type Protocols, and then press ENTER.
Add a 0 (zero) subkey to the Protocols subkey. To do so:
Click the Protocols subkey that you created step 3. On the Edit menu, point to New, and then click Key. Type 0 (zero), and then press ENTER.
Click the 0 subkey that you created in step 4. On the Edit menu, point to New, and then click DWORD Value. In the Value data box, type ProtocolType, and then click OK. On the Edit menu, click Modify. In the Value data box, type 800, make sure Hexadecimal is selected under Base, and then click OK. On the Edit menu, point to New, and then click DWORD Value. Type PPPProtocolType, and then press ENTER. On the Edit menu, click Modify. In the Value data box, type 21, make sure Hexadecimal is selected under Base, and then click OK. On the Edit menu, point to New, and then click DWORD Value. Type ProtocolMTU, and then press ENTER. On the Edit menu, click Modify. Under Base, click Decimal, type the MTU size that you want in the Value data box, and then click OK. Quit Registry Editor. Restart your computer.
This example changes the MTU in Windows to
1500.
Sound complicated? You bet it is…but there’s an
easier way…
Source: Microsoft
ADJUSTING MTU USING DR. TCP Dr. TCP is a program that can be used in
lieu of using the Windows Registry editor to tweak the MTU of the local machine which is a better option for PC novices.
The application was created by Tolunay Orkun.
You can download this utility for free by visiting either DSLreports.com or Download.com
ADJUSTING MTU USING DR. TCP (CONT)
•Make sure your ethernet adapter is selected in the drop down box, andthen take the size you determined is optimal from your ping tests and enterit into the MaxMTU field.
•Click apply, then exit.
•The machine will need to be rebooted for the setting to be correctly applied.
Set the Path MTU Discovery to
“No”, more on that later.
ADJUSTING MTU USING MAC OS X
Steps for Ethernet in Mac OS X 10.5.x From the Apple menu, choose System Preferences. Click Network. In the left sidebar, select "Built-in Ethernet 1". If you see a lock icon in the bottom left corner, click the lock icon and enter
your administrator password. Click the "Advanced..." button. Click the Ethernet tab. From the Configure: pop-up menu, choose "Manually". From the MTU pop-up menu, choose "Custom". Enter your desired setting (72 to 9000). Some ISPs may have a specific
suggested MTU value. If you're changing it without a specific recommendation, make incremental changes (such as 1500 to 1400 to 1300, and so forth).
Click OK, then click Apply to save your changes.
ADJUSTING MTU ON VARIOUS OTHER SOHO ROUTERS
PATH MTU DISCOVERY RFC (Request for Comment) 1191 located at
http://tools.ietf.org/html/rfc1191 was published in 1990, but was not widely practiced until the early 2000’s
The basic procedure is simple - send the largest packet you can, and if it won't fit through some link get back a notification saying what size will fit. The notifications arrive as ICMP (Internet Control Message Protocol) packets known as "fragmentation needed" ICMPs (ICMP type 3, subtype 4). The notifications are requested by setting the "do not fragment" (DF) bit in packets that are sent out.
Drawback: Some network and system administrators view all ICMPs as risky and block them all, disabling path MTU discovery, usually without even realizing it. Of the several dozen ICMP types and subtypes, some do pose some risk, but the risk is mostly mild and is of the "denial of service" nature. That is, an attacker can use them to interfere with service on and from the network.
Source: Netheaven
MTU & PPPOE If you have a broadband connection that
uses the PPPoE protocol (point to point protocol over ethernet), you have an even smaller data packet to work with – 1492 - as PPPoE has 8 bytes of overhead.
Websites that have PathMTU discovery turned off (PNC Bank is an example) will have issues loading on your machine if you have PathMTU enabled and the MTU set too high.
I’ve worked at an ISP that provided DSL service for 7+ years and as an observation, MTU related issues were among the most frequently asked question by DSL users.
Source: Netheaven & http://adsl.cutw.net/mtu.html
MTU & PPPOE EXAMPLE
How much money do I
have? Hmmm…
www.pncbank.com
MTU: 1500Using PPPoE
(1492)PathMTU
Discovery = On
ISP using PPPoE
PNC’s Network PathMTU
Discovery = Off
I want a 1500 sized
packet, please.
Sorry, we can only
accept 1492
You wanted 1500, so that’s what I’m giving you. Too
bad.
End Result:
?!?!?!
BEST MTU PRACTICES Always, always, ALWAYS check with your Internet Service Provider to see what their
recommendations are. Refer to the RFC for further details: Router specification
When a router is unable to forward a datagram because it exceeds the MTU of the next-hop network and its Don't Fragment bit is set, the router is required to return an ICMP Destination Unreachable message to the source of the datagram, with the Code indicating "fragmentation needed and DF set". To support the Path MTU Discovery technique specified in this memo, the router MUST include the MTU of that next-hop network in the low-order 16 bits of the ICMP header field that is labelled "unused" in the ICMP specification [7]. The high-order 16 bits remain unused, and MUST be set to zero. Thus, the message has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 3 | Code = 4 | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unused = 0 | Next-Hop MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Internet Header + 64 bits of Original Datagram Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SOURCES
Website URL Author (if applicable) Notes
About.comhttp://compnetworking.about.com/od/networkprotocols/g/mtu-maximum.htm Bradley Mitchell Too Low/Too High information
Webopedia http://www.webopedia.com/TERM/M/MTU.html Definition
Wikipedia http://en.wikipedia.org/wiki/Maximum_transmission_unit Only used for chart on slide 3
Expedient http://help.stargate.net/broadband/mtu_ping_test.shtml MTU Testing information
Microsoft Ping Parameters
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ping.mspx?mfr=true
Microsoft MTU Adjustment http://support.microsoft.com/kb/826159
DSL Reports http://www.dslreports.com/drtcp Dr. TCP information
Download.com http://download.cnet.com/Dr-TCP/3000-18487_4-68761.html Tolunay Orkun Dr. TCP Author information
Netheaven http://www.netheaven.com/pmtu.html
None Listed, Netheaven Support, [email protected] PathMTU Discovery information
ADSL CUTW http://adsl.cutw.net/mtu.html Fenn BaileyPPPoE and MTU issue information
RFC http://datatracker.ietf.org/doc/rfc1191/J. Mogul & S. Deering
Packet information
MacGuru Loungehttp://www.macgurulounge.com/manually-managing-mtu-size-in-mac-os-x/ "MATT" Adjusting MTU in Mac OS X