PPPoE is used to connect a PC or a
router to a
modem via an Ethernet link and it can also be used in
Internet access over
DSL on a telephone line in the
PPPoE over ATM (PPPoEoA) over
ADSL protocol stack. PPPoE over
ATM has the highest overhead of the popular DSL delivery methods, when compared with for example PPPoA (RFC 2364).
Use with DSL – PPPoE over ATM (PPPoEoA) The amount of overhead added by PPPoEoA on a DSL link depends on the packet size because of (i) the absorbing effect of ATM cell-padding (discussed below), which completely cancels out additional overhead of PPPoEoA in some cases, (ii) PPPoEoA +
AAL5 overhead which can cause an entire additional 53-byte ATM cell to be required, and (iii) in the case of IP packets, PPPoE overhead added to packets that are near maximum length (
‘MRU’) may cause
IP fragmentation, which also involves the first two considerations for both of the resulting IP fragments. However ignoring ATM and IP fragmentation for the moment, the protocol header overheads for
ATM payload due to choosing PPP + PPPoEoA can be as high as
44 bytes = 2 bytes (for PPP) + 6 (for PPPoE) + 18 (Ethernet MAC, variable) + 10 (RFC 2684 LLC, variable) + 8 (AAL5 CPCS). This overhead is that obtained when using the LLC header option described in RFC 2684 for PPPoEoA. Compare this with a vastly more header-efficient protocol, PPP + PPPoA RFC 2364 VC-MUX over ATM+DSL, which has a mere 10-byte overhead within the ATM payload. (In fact, just simply 10 bytes = 2 bytes for PPP + zero for RFC 2364 + 8 (AAL5 CPCS).) This figure of 44 bytes AAL5 payload overhead can be reduced in two ways: (i) by choosing the RFC 2684 option of discarding the 4-byte Ethernet MAC FCS, which reduces the figure of 18 bytes above to 14, and (ii) by using the RFC 2684 VC-MUX option, whose overhead contribution is a mere 2 bytes compared with the 10 byte overhead of the LLC alternative. It turns out that this overhead reduction can be a valuable efficiency improvement. Using VC-MUX instead of LLC, the ATM payload overhead is either 32 bytes (without Ethernet FCS) or 36 bytes (with FCS). ATM AAL5 requires that an 8-byte-long ‘CPCS’ trailer must always be present at the very end of the final cell (‘right justified’) of the run of ATM cells that make up the AAL5 payload packet. In the LLC case, the total ATM payload overhead is 2 + 6 + 18 + 10 + 8 = 44 bytes if the Ethernet MAC FCS is present, or 2 + 6 + 14 + 10 + 8 = 40 bytes with no FCS. In the more efficient VC-MUX case the ATM payload overhead is 2 + 6 + 18 + 2 + 8 = 36 bytes (with FCS), or 2 + 6 + 14 + 2 + 8 =
32 bytes (no FCS). However, the true overhead in terms of the total amount of ATM payload data sent is not simply a fixed additional value – it can
only be either zero or 48 bytes (leaving aside scenario (iii) mentioned earlier, IP fragmentation). This is because ATM cells are fixed length with a payload capacity of 48 bytes, and adding a greater extra amount of AAL5 payload due to additional headers may require one more whole ATM cell to be sent containing the excess. The last one or two ATM cells contain padding bytes as required to ensure that each cell's payload is 48 bytes long. An example: In the case of a 1500-byte IP packet sent over AAL5/ATM with PPPoEoA and RFC2684-LLC, neglecting final cell padding for the moment, one starts with 1500 + 2 + 6 + 18 + 10 + 8 (AAL5 CPCS trailer) = 1544 bytes if the Ethernet FCS is present, or else + 2 + 6 + 14 + 10 + 8 = 40 bytes with no FCS. To send 1544 bytes over ATM requires 33 48-byte ATM cells, since the available payload capacity of 32 cells × 48 bytes per cell = 1536 bytes is not quite enough. Compare this to the case of PPP + PPPoA which at 1500 + 2 (PPP) + 0 (PPPoA: RFC 2364 VC-MUX) + 8 (CPCS trailer) = 1510 bytes fits in 32 cells. So the real cost of choosing PPPoEoA plus RFC2684-LLC for 1500-byte IP packets is one additional ATM cell per IP packet, a ratio of 33:32. So for 1500 byte packets, PPPoEoA with LLC is ~3.125% slower than PPPoA or optimal choices of PPPoEoA header options. For some packet lengths the true additional effective DSL overhead due to choosing PPPoEoA compared with PPPoA will be zero if the extra header overhead is not enough to need an additional ATM cell at that particular packet length. For example, a 1492 byte long packet sent with PPP + PPPoEoA using RFC2684-LLC plus FCS gives us a total ATM payload of 1492 + 44 = 1536 bytes = 32 cells exactly, and the overhead in this special case is no greater than if we were using the header-efficient PPPoA protocol, which would require 1492 + 2 + 0 + 8 = 1502 bytes ATM payload = 32 cells also. The case where the packet length is 1492 represents the optimum efficiency for PPPoEoA with RFC2684-LLC in ratio terms, unless even longer packets are allowed. Using PPPoEoA with the RFC2684 VC-MUX header option is always much more efficient than the LLC option, since the ATM overhead, as mentioned earlier, is only 32 or 36 bytes (depending on whether this is without or with the Ethernet FCS option in PPPoEoA) so that a 1500 byte long packet including all overheads of PPP + PPPoEoA using VC-MUX equates to a total 1500 + 36 = 1536 bytes ATM payload if the FCS is present = 32 ATM cells exactly, thus saving an entire ATM cell. With short packets, the longer the header overheads the greater the likelihood of generating an additional ATM cell. A worst case might be sending 3 ATM cells instead of two because of a 44 byte header overhead compared with a 10 byte header overhead, so 50% more time taken to transmit the data. For example, a TCP ACK packet over IPv6 is 60 bytes long, and with overhead of 40 or 44 bytes for PPPoEoA + LLC this requires three 48 byte ATM cells’ payloads. As a comparison, PPPoA with overheads of 10 bytes so 70 bytes total fits into two cells. So the extra cost of choosing PPPoE/LLC over PPPoA is 50% extra data sent. PPPoEoA + VC-MUX would be fine though: with 32 or 36 byte overhead, our IP packet still fits in two cells. In all cases the most efficient option for ATM-based ADSL internet access is to choose PPPoA (RFC2364) VC-MUX. However, if PPPoEoA is required, then the best choice is always to use VC-MUX (as opposed to LLC) with no Ethernet FCS, giving an ATM payload overhead of
32 bytes = 2 bytes (for PPP) + 6 (for PPPoE) + 14 (Ethernet MAC, no FCS) + 2 (RFC 2684 VC-MUX) + 8 (AAL5 CPCS trailer). Unfortunately some DSL services require the use of wasteful LLC headers with PPPoE and do not allow the more efficient VC-MUX option. In that case, using a reduced packet length, such as enforcing a maximum MTU of 1492 regains efficiency with long packets even with LLC headers and, as mentioned earlier, in that case no extra wasteful ATM cell is generated.
Overhead on Ethernet On an Ethernet LAN, the overhead for PPP + PPPoE is a fixed 2 + 6 =
8 bytes, unless IP fragmentation is produced. ==MTU/MRU==