关于MTU那些事

关于MTU那些事

Conclusion

Ping size->Wireguard UDP:+72
Wireguard MTU->Wireguard UDP:+32
Ping size->LAN MTU:-28
CN2 MTU:1442
Wireguard MTU:1382(1442-28-32)

The maximum transmission unit, here on referred to as MTU, is the maximum amount of bytes that can be encapsulated in an IP packet. The MTU size includes the data payload, any transport headers (such as TCP, UDP, GRE, RTP, or ICMP), and the IP header.

It is generally recommended that the MTU for a WAN interface connected to a PPPoE DSL network be 1492. In fact, with auto MTU discovery, 1492 is discovered to be the maximum allowed MTU. However, having an MTU of 1452 is most optimal.

NOTE: To change the MTU size on the SonicWall UTM appliance refer to How to change the MTU size.

Item in frame

Size in bytes

Data payload

1 - 1452

IP header

20

TCP header

20

PPP and PPPoE headers

8

Ethernet header

18

ATM trailer

8 bytes + 0 - 40 bytes of padding

ATM cell header

5 bytes per ATM cell

ATM cell payload

48 bytes per cell (fixed)

The maximum MTU for ethernet connections on SonicWall devices is 1500 bytes (Ethernet maximum MTU size). Having an MTU of 1500 allows for 1460 bytes of data payload, 20 bytes of TCP header, and 20 bytes of IP header. With PPPoE connections, the PPP and PPPoE header increases the frame size by 8 bytes, so we must lower the MTU to 1492. With the ethernet header added to this, we get a frame size of 1518 bytes.

1492 + 8 + 18 = 1518 bytes

The network between the DSL multiplexer and the ISP aggregation router is ATM. ATM uses 48 byte fixed length cells.

1518 ÷ 48 = 31 cells + 30 bytes, or 32 cells.

ATM adds an 8 byte trailer to the entire 1518 byte frame, and adds a 5 byte header per 48 byte cell.

32 cells * 5 byte header = 160 bytes

The 32nd cell is only 30 bytes long, and ATM mandates a fixed 48 byte cell. With the 8 byte ATM frame trailer appended to the original 30 byte cell, we get 40 bytes. The ATM network must add an additional 8 bytes of padding to fill the fixed 48 byte cell.

1518 + 8 + 160 + 10 = 1696 bytes

1696 bytes are transmitted for 1452 bytes of actual payload. (1492 bytes minus TCP and IP headers)

1696 ÷ 1452 = 1.168 – 1 * 100% = 16.80% overhead

Lowering the MTU to 1452 removes the necessity for adding 10 bytes of padding.

1452 + 8 + 18 = 1478 bytes

1478 ÷ 48 = 30 cells + 38 bytes, or 31 cells

The 8 byte ATM frame trailer is added to the 31st cell to make 46 bytes, requiring only 2 bytes of additional padding to meet the total 48 bytes required per cell. Finally, the 5 byte cell headers are added to the 31 cells.

31 cells * 5 byte headers = 155 bytes

Add up the entire payload and overhead:

1478 + 8 + 155 + 2 = 1643 bytes

1643 bytes are transmitted for 1412 bytes of actual payload. (1452 bytes minus TCP and IP headers)

1643 ÷ 1412 = 1.163 -1 * 100% = 16.36% overhead

With the MTU on PPPoE connections set to 1452 the overhead per frame is reduced by 0.44%. This translates into a faster Internet connection. On a standard T1 at 1.544 Mbps, this means an increase of about 10 kbps.

Written with StackEdit.

Comments