How can I optimize PPPoE connections?
12/20/2019 889 34551
Configuring the interface with an incorrect MTU size can cause some websites to not load and Internet speed to decrease. This article describes what is the optimal MTU size for PPPoE connections and its reason.
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
1 - 1452
PPP and PPPoE headers
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.
NOTE: MTU may differ per provider. As per RFC 791, the valid range of MTU is from 68 to 65535 and there is no requirement that MTU be a multiple of 8. The numeric value actually represents a count of octets.