Now that you understand what IP MTU and TCP MSS are, as well as the rationale for their existence, let’s look at few examples.

I hope you now also understand why IP MTU is 1500 bytes, when the media is Ethernet. But what if we have other encapsulations – i.e., PPP, MPLS, IPSec, etc.?

Example 1: PPPoE

PPP is a layer 2 protocol for WAN connectivity. Though in many cases, it is transported in Ethernet frames and further encapsulated again over ATM. By doing so, PPP built-in features (encryption, authentication, compression) could be used on the payload.

Conceptually, this is how the frame would look like:


If you ever had an ADSL connection using a USB modem connected straight to your computer, then you can safely assume your modem was doing PPPoE encapsulation.

Do you remember you had to install a PPPoE software? It is this piece of software that would:

  1. encapsulate the IP packets from your NIC within a PPP packet (IPoPPP)
  2. encapsulate again into a Ethernet packet (IPoPPPoEthernet); send these to the modem, over the Ethernet wire
  3. the modem encapsulates the ethernet frame further as an ATM cell and sends it over through the ISP’s DSL core (IPoPPPoEoA)

For conveniency, we just call it PPPoE encapsulation.

ATM frame has fixed 53 bytes in size => 5 bytes header + 48 bytes payload. By the time the Ethernet frame is handed over to the ATM layer, the Ethernet frame will be much larger than 48 bytes!

At this stage, it is already late for IP fragmentation! And Ethernet doesn’t support fragmentation! The Ethernet frame will therefore be serialized into 53 bytes ATM cells and sent through the ATM core, only to be reassembled at the destination.

Once the Ethernet frame is reassembled, it is then further decapsulated to reveal the PPP header, etc.

Example 2: PPPoA

The process describe above is similar with PPPoA only in this case, there won’t be an Ethernet header. Even though the router will (in most cases) receive an Ethernet frame, as it switches the frame to the outgoing ATM interface, it will not add a new Ethernet header; it will instead add the PPP following by the ATM headers.


Please note that the examples given above are best to illustrate the concept of header stacking vs. IP MTU vs. TCP MSS.

In reality though, it’s far more complex than this. For instance, to correctly set the IP MTU for any encapsulation where ATM is used, we need to also consider there are three different ATM encapsulation types, each with its own header sizes.

Furthermore, since ATM cells have a fixed size, to achieve optimal connectivity we need to make sure that the IP packet fit exactly in a set number of ATM cells. The point is that, when ATM cells are not fully used, they will be padded to make for the entire 48 byte payload. So why waste?

Thank you,
View Rafael A Couto Cabral's profile on LinkedIn

Comments are closed.