RFC 4638
Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)
Accommodating MTU/MRU Greater Than 1492 in PPPoE ๐
Bestie, this RFC is literally about letting PPPoE frames get bigger than the old 1492 limit so we stop fragmenting everything ๐ญ๐ซถ. Here's the vibe: it's RFC 4638, titled "Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)". Five people wrote it: P. Arberg, D. Kourkouzelis, M. Duckett, T. Anschutz, and J. Moisand, from Redback Networks, BellSouth, and Juniper Networks. It's Informational (so it's giving advice, not a standard ๐ ), and it's from September 2006. The title block doesn't list anything it obsoletes or updates, so it doesn't replace or change any other RFCs ๐ธ.
Status of This Memo โจ
So the official vibe check: this memo gives information to the Internet community. It is not an Internet standard of any kind ๐ฆ. Distribution is unlimited, so share the love ๐.
Copyright Notice ๐
Copyright (C) The Internet Society (2006). Mine, yours, the Internet Society's ๐.
IESG Note ๐
Okay, real talk from the IESG ๐ฅ. As of writing, there's no current IEEE standard that supports "jumbo frames" (MTU greater than 1500). The doc has recommended mechanisms to detect path problems, but interoperability and reliability of non-standard extensions can't be assured ๐ฌ. So both implementors and users should be careful with this, no cap.
Abstract ๐
PPPoE, as described in RFC 2516, forces a negotiated Maximum Receive Unit (MRU) of 1492. This document fixes that by letting the negotiated MRU go above 1492, so next-generation broadband networks can fragment less ๐ง.
Table of Contents ๐
1. Introduction ....................................................2
2. Terminology .....................................................4
3. Proposed Solution ...............................................4
4. PPPoE Discovery Stage ...........................................5
5. LCP Considerations ..............................................5
5.1. MRU Negotiations ...........................................5
5.2. MRU Test and Troubleshooting ...............................6
6. Security Considerations .........................................7
7. IANA Considerations .............................................7
8. Acknowledgements ................................................7
9. Normative References ............................................7
10. Informative References .........................................8
1. Introduction โจ
Okay so broadband designs are glowing up ๐ . We're moving from the old setup where a PC starts the PPPoE session over a combined Ethernet/ATM network (Figure 1) to smarter PPPoE-capable Residential Gateways (RG) and Gigabit Ethernet/ATM designs (Figures 2 and 3). Because of that, we need to bump up the maximum transmit and receive unit in PPPoE so there's less fragmentation going on in the network ๐ฆ.
<------------------ PPPoE session ------------------>
+-----+ +-----+
+--+ +---+ | | | |
|PC|--------------|CPE|-----------|DSLAM|-----------| BRAS|
+--+ <Ethernet> +---+ <ATM> | | <ATM> | |
+-----+ +-----+
Figure 1. Initial broadband network designs with PPPoE
In Figure 1, fragmentation usually isn't a problem, because the subscriber session is PPPoE end to end from the PC to the BRAS ๐. So a PPP-negotiated MRU of 1492 octets is totally fine, since it keeps the biggest PPPoE frame at the standard Ethernet MTU of 1500 octets. Main character energy ๐.
<----- IPoE -----> <--------- PPPoE session --------->
+-----+ +-----+
+--+ +---+ | | | |
|PC|--------------| RG|-----------|DSLAM|------------| BRAS|
+--+ <Ethernet> +---+ <ATM> | | <GigE> | |
+-----+ +-----+
Figure 2. Next-generation broadband network designs with PPPoE
Figure 2 is where things get messy ๐ญ. The subscriber session is now a mix of IPoE and PPPoE, so fragmentation becomes a major problem. IPoE typically uses a Maximum Transit Unit (MTU) of 1500 octets. But when the Residential Gateway and the Broadband Remote Access Server (BRAS) are the PPPoE session endpoints and they negotiate an MTU/MRU of 1492 octets, the network ends up with a ton of fragmented packets ๐.
<----- IPoE -----> <---- PPPoA ----> <- PPPoE session ->
+-----+ +-----+
+--+ +---+ | | | |
|PC|--------------| RG|------------|DSLAM|------------| BRAS|
+--+ <Ethernet> +---+ <ATM> | | <GigE> | |
+-----+ +-----+
<-------------- PPPoA -------------> <- PPPoE session ->
+-----+ +-----+
+--+ +---+ | | | |
|PC|--------------|CPE|------------|DSLAM|------------| BRAS|
+--+ <ATM> +---+ <ATM> | | <GigE> | |
+-----+ +-----+
Figure 3. Broadband network designs with PPPoA-to-PPPoE conversion
Figure 3 is the one the DSL-Forum studied while migrating to Ethernet for broadband aggregation networks ๐ธ. Here fragmentation isn't the only issue when MRU values differ between Point-to-Point Protocol over AAL5 (PPPoA) and PPPoE sessions ๐.
In this setup the subscriber session is a PPP session running over a mix of PPPoA and PPPoE. The PPP/PPPoA host usually negotiates a 1500-octet MRU. Lots of PPP/PPPoA hosts in Customer Premises Equipment (CPE) are already out there and don't support a 1492-octet MRU ๐ฌ. That becomes a problem for the BRAS (the PPPoE server) if it has to strictly follow RFC 2516 [1]. And for PPP/PPPoA hosts that can negotiate 1492, we're right back to the fragmentation problem ๐.
2. Terminology ๐ง
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [3]. Bestie, these words are doing a LOT of work, so read them carefully ๐ซถ.
Here's the abbreviation cheat sheet ๐:
ATM - Asynchronous Transfer Mode
PPP - Point-to-Point Protocol
PPPoA - PPP over AAL5
PPPoE - PPP over Ethernet
MTU - Maximum Transmit Unit
MRU - Maximum Receive Unit
PC - Personal Computer
CPE - Customer Premises Equipment
RG - Residential Gateway
BRAS - Broadband Remote Access Server
DSLAM - Digital Subscriber Line Access Multiplexer
PPPoE - client PC, RG, or CPE that initiates a PPPoE session
PPPoE - server BRAS terminating PPPoE sessions initiated by client
PADI - PPPoE Active Discovery Initiation
PADO - PPPoE Active Discovery Offer
PADR - PPPoE Active Discovery Request
PADS - PPPoE Active Discovery Session-confirmation
3. Proposed Solution ๐
This procedure doesn't strictly follow the IEEE standards for Ethernet packet size ๐. Instead it relies on a widely deployed behavior: supporting frames that use the Ethernet packet format but go past the maximum packet lengths defined by [4]. It's giving "it works in the real world" energy โจ.
Next-generation broadband networks are built on Ethernet systems that support baby-giants and jumbo frames, with payloads bigger than the normal Ethernet MTU of 1500 octets ๐ฅ. So a BRAS acting as a PPPoE server MUST support PPPoE MRU negotiations larger than 1492 octets, to cut down on fragmented packets in networks like the ones in Section 1 ๐.
By default, the Maximum-Receive-Unit (MRU) option MUST follow the rules set forward in RFC 1661 [2]. But it MUST NOT be negotiated to a size larger than 1492, so it stays compatible with Ethernet network segments limited to 1500-octet frames ๐. Here's the math: the PPPoE header is 6 octets and the PPP Protocol ID is 2 octets. So the PPP MRU MUST NOT be greater than 1492 ๐งฎ.
Heads up bestie: the default is 1492. Going higher only happens when the client sends the optional PPPoE tag described next, so don't skip it ๐.
There's an optional PPPoE tag called "PPP-Max-Payload" ๐ง. It lets a PPPoE client override the default by saying the maximum PPP payload size it can handle in both the sending and receiving directions. When the PPPoE server gets this tag, it MAY allow an MRU larger than 1492 and an MTU larger than 1492. That's subject to its own local configuration and the RFC 1661 [2] rules, and it has to stay within the limit the PPPoE client gave ๐.
4. PPPoE Discovery Stage ๐
Okay so if a PPPoE client wants an MTU/MRU higher than 1492 octets, it MUST include an optional PPP-Max-Payload Tag in its PADI and PADR packets ๐ฆ. If the PPPoE server can support an MTU/MRU higher than 1492 octets, it MUST respond by echoing the client's tag in the PADO and PADS packets, as long as it got the PPP-Max-Payload tag from the client ๐ซถ.
Here's what the tag looks like ๐:
Tag-name: PPP-Max-Payload
Tag-value: 0x0120
Tag-length: 2 octets
Tag-value: binary encoded value (max PPP payload in octets)
Tag-description:
This TAG indicates that the client and server are capable of
supporting a given maximum PPP payload greater than 1492 octets for
both the sending and receiving directions. Note that this value
represents the PPP payload; therefore it is directly comparable with
the value used in the PPP MRU negotiation.
The tag basically says "both of us can handle a PPP payload bigger than 1492 octets, in both directions" ๐ฆ. The number is the PPP payload itself, so you can compare it straight to the PPP MRU value you negotiate. Literally so clean ๐งผโจ.
5. LCP Considerations ๐ธ
5.1. MRU Negotiations
okay so Ethernet (without jumbo frames) has a max payload of 1500 octets ๐ฆ, the PPPoE header eats 6 octets, and the PPP Protocol ID takes 2 more. that leaves 1492 ๐ซถ which is why the Maximum-Receive-Unit (MRU) option MUST NOT be negotiated to something bigger than 1492, unless both the PPPoE client and server said in the PPPoE Discovery Stage that they can handle a larger MRU โจ
the initial MRU negotiation for the PPP/PPPoE server MUST follow a flow as shown below:
If PPPoE {
PPP_MRU_Max = 1492
If (PPP-Max-Payload-Tag) AND (PPP-Max-Payload-Tag > 1492)
Then PPP_MRU_Max = min (PPP-Max-Payload-Tag, Interface MTU-8)
}
"Normal" PPP_MRU_Negotiation (PPP_MRU_Max)
if the PPP-Max-Payload tag is present and bigger than 1492, it MUST be considered along with the server's interface MTU settings when the max value gets picked for the normal RFC 1661 [2] MRU negotiation, which is the bit that decides the actual MRU ๐
if the PPP-Max-Payload tag isn't there, or it's there but sits at 1492 or below, then the existing MRU constraint of 1492 octets MUST stay applicable. this keeps backward compatibility, which is so important bestie ๐ฅน๐ซถ
the TL;DR of all that ๐ :
- When a "PPP-Max-Payload" tag is received,
- a. the value in this tag will indicate the maximum MRU allowed to be accepted or suggested in an MRU negotiation; and
- b. if MRU is not negotiated, then RFC 1661 [2] will set the default MRU at 1500. this means the "PPP-Max-Payload" tag can have a value greater than 1500, but in this case RFC 1661 [2] sets the default MRU to 1500, and only if MRU is negotiated higher (up to maximum payload) will the "PPP-Max-Payload" tag value be used ๐ธ
- When a "PPP-Max-Payload" tag is not received by either end, then RFC 2516 [1] sets the rule. ๐ง
5.2. MRU Test and Troubleshooting
okay this part is giving "check before you commit" ๐ if the MRU gets negotiated to something larger than 1492 octets, the sending side SHOULD have the option of sending one or more MRU-sized Echo-Request packets once the session is opened. this lets it test that the receiving side and any intermediate Ethernet segments and equipment can actually handle that packet size ๐ฆ
if no Echo-Replies come back, the sending side MAY choose to repeat the test with 1492 octets Echo-Request packets. and if those packets get replies, the sending side MUST not send packets bigger than 1492 octets for this session. ๐ the vibe is "we tried big, it didn't work, we go smaller" ๐
this capability SHOULD be enabled by default. it SHOULD be configurable, and it MAY be disabled on networks where there is some prior knowledge showing that the test isn't necessary ๐
6. Security Considerations โจ
okay bestie, this section is short but it's important ๐ฅ this document does not introduce new security issues. the security considerations pertaining to the original PPPoE protocol [1] remain relevant, so go read those too ๐
7. IANA Considerations
this document defines a new value in a space that currently has no IANA registry ๐ง there is work in progress to define a registry [5], and that document already contains the value assigned here. no IANA action is required for this document โ
8. Acknowledgements
the authors want to thank Prakash Jayaraman, Amit Cohen, Jim Ellis, David Thorne, John Reid, Oliver Thorp, Wojciech Dec, Jim Wilks, Mark Townsley, Bart Salaets, Tom Mistretta, Paul Howard, Dave Bernard, and Darren Nobel for their contributions and comments to this document ๐ซถ๐
9. Normative References
[1] Mamakos, L., Lidl, K., Evarts, J., Carrel, D., Simone, D., and R. Wheeler, "A Method for Transmitting PPP Over Ethernet (PPPoE)", RFC 2516, February 1999.
[2] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[4] Institute of Electrical and Electronic Engineers, IEEE Std 802.3-2005, "IEEE Standard for Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications - Draft amendment to - Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications - Media Access Control Parameters, Physical Layers and Management Parameters", December 2005. ๐
10. Informative References
[5] Arberg, P. and V. Mammoliti, "IANA Considerations for PPP over Ethernet (PPPoE), Work in Progress, June 2006. ๐
Authors' Addresses
Peter Arberg Redback Networks, Inc. 300 Holger Way San Jose, CA 95134
EMail: parberg@redback.com
Diamantis Kourkouzelis Redback Networks, Inc. 300 Holger Way San Jose, CA 95134
EMail: diamondk@redback.com
Mike Duckett BellSouth Telecommunications, Inc. 575 Morosgo Drive Atlanta, GA 30324
EMail: mike.duckett@bellsouth.com
Tom Anschutz BellSouth Science and Technology 725 W. Peachtree St. Atlanta, GA 30308
EMail: tom.anschutz@bellsouth.com
Jerome Moisand Juniper Networks, Inc. 10 Technology Park Drive Westford, MA 01886
EMail: jmoisand@juniper.net
Full Copyright Statement
Copyright (C) The Internet Society (2006). ๐ฉท
this document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
this document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
the IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. nor does it represent that it has made any independent effort to identify any such rights. information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
the IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. please address the information to the IETF at ietf-ipr@ietf.org. ๐ฌ
Acknowledgement
funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). ๐ โจ
๐ฆ where this page comes from
- ietf: rfc4638 2006-09
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms