summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3817.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc3817.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc3817.txt')
-rw-r--r--doc/rfc/rfc3817.txt955
1 files changed, 955 insertions, 0 deletions
diff --git a/doc/rfc/rfc3817.txt b/doc/rfc/rfc3817.txt
new file mode 100644
index 0000000..7f967d5
--- /dev/null
+++ b/doc/rfc/rfc3817.txt
@@ -0,0 +1,955 @@
+
+
+
+
+
+
+Network Working Group W. Townsley
+Request for Comments: 3817 cisco Systems
+Category: Informational R. da Silva
+ AOL Time Warner
+ June 2004
+
+
+ Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay
+ for PPP over Ethernet (PPPoE)
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2004).
+
+Abstract
+
+ The Point-to-Point Protocol (PPP) provides a standard method for
+ transporting multi-protocol datagrams over point-to-point links.
+ Layer Two Tunneling Protocol (L2TP), facilitates the tunneling of PPP
+ packets across an intervening packet-switched network. And yet a
+ third protocol, PPP over Ethernet (PPPoE) describes how to build PPP
+ sessions and to encapsulate PPP packets over Ethernet.
+
+ L2TP Active Discovery Relay for PPPoE describes a method to relay
+ Active Discovery and Service Selection functionality from PPPoE over
+ the reliable control channel within L2TP. Two new L2TP control
+ message types and associated PPPoE-specific Attribute Value Pairs
+ (AVPs) for L2TP are defined. This relay mechanism provides enhanced
+ integration of a specific feature in the PPPoE tunneling protocol
+ with L2TP.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Protocol Operation . . . . . . . . . . . . . . . . . . . . . . 2
+ 2.1. PPPoE Active Discovery Stage . . . . . . . . . . . . . . 3
+ 2.2. Session Establishment and Teardown . . . . . . . . . . . 4
+ 2.3. PPPoE PAD Message Exchange Coherency . . . . . . . . . . 6
+ 2.4. PPPoE Service Relay Capabilities Negotiation . . . . . . 8
+ 2.4.1. PPPoE Service Relay Response Capability AVP. . . 8
+ 2.4.2. PPPoE Service Relay Forward Capability AVP . . . 9
+ 3. L2TP Service Relay Messages. . . . . . . . . . . . . . . . . . 9
+
+
+
+Townsley & da Silva Informational [Page 1]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ 3.1. Service Relay Request Message (SRRQ) . . . . . . . . . . 9
+ 3.2. Service Relay Reply Message (SRRP) . . . . . . . . . . . 10
+ 4. PPPoE Relay AVP. . . . . . . . . . . . . . . . . . . . . . . . 10
+ 5. Security Considerations. . . . . . . . . . . . . . . . . . . . 10
+ 6. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 11
+ 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
+ 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
+ 8.1. Normative References . . . . . . . . . . . . . . . . . . 12
+ 8.2. Informative References . . . . . . . . . . . . . . . . . 12
+ Appendix A: PPPoE Relay in Point to Multipoint Environments. . . . 13
+ Appendix B: PAD Message Exchange Coherency Examples. . . . . . . . 13
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
+ Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 17
+
+1. Introduction
+
+ PPPoE [1] is often deployed in conjunction with L2TP [2] to carry PPP
+ [3] frames over a network beyond the reach of the local Ethernet
+ network to which a PPPoE Host is connected. For example, PPP frames
+ tunneled within PPPoE may be received by an L2TP Access Concentrator
+ (LAC) and then tunneled to any L2TP Network Server (LNS) reachable
+ via an IP network.
+
+ In addition to tunneling PPP over Ethernet, PPPoE defines a simple
+ method for discovering services offered by PPPoE Access Concentrators
+ (PPPoE AC) reachable via Ethernet from the PPPoE Host. Since the
+ packets used in this exchange are not carried over PPP, they are not
+ tunneled with the PPP packets over L2TP, thus the discovery
+ negotiation cannot extend past the LAC without adding functionality.
+
+ This document describes a simple method for relaying PPPoE Active
+ Discovery (PAD) messages over L2TP by extracting the PAD messages and
+ sending them over the L2TP control channel. After the completion of
+ setup through the processing of PAD messages, PPP packets arriving
+ via PPPoE are then tunneled over L2TP in the usual manner as defined
+ in L2TP [2]. Thus, there are no data plane changes required at the
+ LAC or LNS to support this feature. Also, by utilizing the L2TP
+ control channel, the PPPoE discovery mechanism is transported to the
+ LNS reliably, before creation of any L2TP sessions, and may take
+ advantage of any special treatment applied to control messages in
+ transit or upon receipt.
+
+2. Protocol Operation
+
+ 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 [4].
+
+
+
+
+Townsley & da Silva Informational [Page 2]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ When PPPoE PAD messages are received at a PPPoE Access Concentrator,
+ the messages are passed over the L2TP control connection via a newly
+ defined Service Relay Request Message (SRRQ) on an established tunnel
+ (Section 3.1). When received, the PPPoE PAD message is processed at
+ the L2TP node, or relayed to another L2TP node or PPPoE Access
+ Concentrator. PPPoE PAD messages sent as replies are handled in a
+ similar manner over a newly defined Service Relay Reply Message
+ (SRRP) (Section 3.2).
+
+2.1. PPPoE Active Discovery Stage
+
+ When a PPPoE Active Discovery Initiation packet (PADI) is received by
+ an L2TP LAC that is providing PPPoE Service Relay, the PADI MUST be
+ packaged in its entirety (including the Ethernet MAC header) within
+ the PPPoE Relay AVP and transmitted over established L2TP Control
+ Connection(s) associated with the interface on which the PADI
+ arrived.
+
+ The PPPoE Relay AVP is sent via the Service Relay Request Message
+ (SRRQ) defined in Section 3. The SRRQ message MUST NOT be sent to an
+ L2TP node which did not include the PPPoE Service Relay Response
+ Capability AVP during control connection establishment. If no
+ acceptable control connection is available or cannot be created,
+ PPPoE PAD operation MUST be handled locally by some means (including
+ intentionally ignoring the PPPoE PAD message, though this must be a
+ deliberate act).
+
+ It is a matter of local policy as to which control connections will
+ be established for relay and associated with a given interface, and
+ when the Control Connections will be established. For instance, an
+ implementation may "nail up" a control connection to a particular
+ L2TP destination and associate the connection with an interface over
+ which PPPoE PADI packets will arrive. Alternatively, an
+ implementation might dynamically establish a Control Connection to a
+ predetermined destination upon receipt of a PADI, or upon receipt of
+ a PADI from a particular source.
+
+ Upon receipt of the SRRQ, the included PPPoE PADI message MUST be
+ processed as described in [3], be relayed to another L2TP control
+ connection, or be relayed to another PPPoE AC.
+
+ After processing of a PADI, any resultant PPPoE Active Discovery
+ Offer packet (PADO) MUST be encapsulated in a PPPoE Relay AVP and
+ delivered via the Service Relay Reply Message (SRRP) to the sender of
+ the SRRQ.
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 3]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ Upon receipt of an SRRP message with relayed PADO, a LAC MUST send
+ the encapsulated PADO message to the corresponding PPPoE Host. The
+ source MAC address of the PADO message MUST be one which the LAC will
+ respond to, perhaps requiring substitution of its own MAC address.
+
+ In each exchange above, the PPPoE Host-Uniq TAG or AC-Cookie TAG MUST
+ be used as described in Section 2.3.
+
+ Following is an example of the PAD exchange between a PPPoE Host, LAC
+ and LNS up to this point, assuming the L2TP Control Connection has
+ already been established. Examples that include AC-Cookie TAG and
+ Host-Uniq TAG operation are included in the Appendix.
+
+ PPPoE Host LAC Tunnel Switch LNS
+
+ PADI ->
+ SRRQ (w/PADI) -> SRRQ (w/PADI) ->
+ <- SRRP (w/PADO) <- SRRP (w/PADO)
+ <- PADO
+
+2.2. Session Establishment and Teardown
+
+ When a LAC that is providing the PPPoE Service Relay feature receives
+ a valid PPPoE Active Discovery Request packet (PADR), the LAC MUST
+ treat this as an action for creation of a Incoming Call Request
+ (ICRQ) as defined in [2]. The resultant ICRQ message MUST contain
+ the PPPoE Relay AVP containing the PADR in its entirety.
+
+ Upon receipt of an L2TP ICRQ message, the LNS parses the PADR message
+ as described in [3]. If this is an acceptable PPPoE service
+ connection (e.g., the Service-Name-Error TAG would not be included in
+ a PPPoE Active Discovery Session-confirmation packet (PADS)
+ response), the L2TP Incoming-Call-Reply (ICRP) message that is sent
+ to the LAC includes the resultant PPPoE PADS encapsulated within the
+ PPPoE Relay AVP. If the service is unacceptable, the PADS with a
+ Service-Name-Error Tag is delivered via the Relay Session AVP within
+ a Call-Disconnect-Notify (CDN) message, which also tears down the
+ L2TP session. The PPPoE PADS SESSION_ID in the PPPoE Relay AVP MUST
+ always be zero as it will be selected and filled in by the LAC.
+
+ Upon receipt of an ICRP with the PPPoE Relay AVP, the LAC parses the
+ PADS from the AVP, inserts a valid PPPoE SESSION_ID, and responds to
+ the PPPoE Host with the PADS. The MAC address of the PADS MUST be
+ the same one was utilized during the PADI/PADO exchange described
+ above. The LAC also completes the L2TP session establishment by
+ sending an Incoming-Call-Connected (ICCN) to the LNS and binds the
+
+
+
+
+
+Townsley & da Silva Informational [Page 4]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ L2TP session with the PPPoE session. PPP data packets may now flow
+ between the PPPoE session and the L2TP session in the traditional
+ manner.
+
+ If the L2TP session is torn down for any reason, the LAC MUST send a
+ PPPoE Active Discovery Terminate packet (PADT) to the host to
+ indicate that the connection has been terminated. This PADT MAY be
+ received from the LNS via the PPPoE Relay AVP within a CDN message if
+ this was a graceful shutdown initiated by the PPPoE subsystem at the
+ LNS. As with the PADS, the SESSION_ID in the PADT message is zero
+ until filled in with the proper SESSION_ID at the LAC.
+
+ If the LAC receives a PADT from the PPPoE Host, the L2TP session MUST
+ be shut down via the standard procedures defined in [2]. The PADT
+ MUST be sent in the CDN message to the LNS via the PPPoE Relay AVP.
+ If the PPPoE system at the LNS disconnects the session, a PADT SHOULD
+ be sent in the CDN. In the event that the LAC receives a disconnect
+ from L2TP and did not receive a PADT, it MUST generate a properly
+ formatted PADT and send it to the PPPoE Host as described in [3].
+
+ Session Establishment
+
+ PPPoE Host LAC Tunnel Switch LNS
+
+ PADR ->
+ ICRQ (w/PADR) ->
+ ICRQ (w/PADR) ->
+ <- ICRP (w/PADS)
+ <- ICRP (w/PADS)
+ <- PADS
+ ICCN ->
+ ICCN ->
+
+ Session Teardown (LNS Initiated)
+
+ PPPoE Host LAC Tunnel Switch LNS
+
+ <- CDN (w/PADT)
+ <- CDN (w/PADT)
+ <- PADT
+
+ Session Teardown (Host Initiated)
+
+ PPPoE Host LAC Tunnel Switch LNS
+
+ PADT ->
+ CDN (w/PADT) ->
+ CDN (w/PADT) ->
+
+
+
+Townsley & da Silva Informational [Page 5]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+2.3. PPPoE PAD Message Exchange Coherency
+
+ PPPoE PAD messages will arrive from multiple ethernet interfaces and
+ be relayed across multiple L2TP control connections. In order to
+ track which PAD messages must be sent where, we utilize the Host-Uniq
+ TAG and AC-Cookie TAG. Each are used in the same manner, depending
+ on which PAD message is being sent or replied to. Both take
+ advantage of the fact that any PAD message sent as a reply to another
+ PAD message MUST echo these TAGs in their entirety [3].
+
+ For purposes of this discussion, it is useful to define two
+ "directions" which PAD messages will traverse during a relayed PPPoE
+ PAD message exchange. Thus, for the following example,
+
+ "Upstream" ----------------------->
+
+ PPPoE Host ------ LAC ----- Tunnel Switch ------ LNS
+
+ <--------------------- "Downstream"
+
+ PAD messages being sent from the PPPoE Host, through the LAC, Tunnel
+ Switch, and LNS, are defined to be traversing "Upstream." PAD
+ messages being sent in the opposite direction are defined to be
+ traversing "Downstream."
+
+ Consider further, the following observation for this example:
+
+ PAD messages that are sent Upstream: PADI, PADR, PADT
+ PAD messages that are sent Downstream: PADO, PADS, PADT
+
+ Also, there is a request/response connection between the PADI and
+ PADO which must be linked with some common value. Similarly, there
+ is a request/response connection between PADO and PADR. The PADS is
+ sent on its own with no response, but must be delivered to the sender
+ of the PADR. The PADT must be sent with the same SESSION_ID as
+ established in the PADS.
+
+ The goal for PAD message exchange coherency is to ensure that the
+ connections between the PADI/PADO, PADO/PADR, and PADR/PADS and
+ PADS/PADT all remain intact as the PAD messages are relayed from node
+ to node.
+
+ The basic mechanism for ensuring this for PADI, PADO, and PADR
+ messages is the AC-Cookie TAG and Host-Uniq TAG. Both of these TAGs
+ are defined as arbitrary data which must be echoed in any message
+ sent as a response to another message. This is the key to tying
+ these PAD messages together at each hop. The following two rules
+ makes this possible:
+
+
+
+Townsley & da Silva Informational [Page 6]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ For PAD messages that are sent Upstream, a new Host-Uniq TAG MUST
+ be inserted at each relaying node before the PAD message is
+ forwarded. There SHOULD be at most one Host-Uniq TAG per PAD
+ message.
+
+ For PAD messages being sent Downstream, a new AC-Cookie TAG MUST
+ be inserted at each relaying node before the PAD message is
+ forwarded. There SHOULD be at most one AC-Cookie TAG per PAD
+ message. Additionally, for an LNS receiving multiple PAD messages
+ from upstream, there SHOULD be at most one PAD message forwarded
+ downstream per received SRRP Message. In other words, there
+ SHOULD be exactly one PPPoE Relay AVP per L2TP SRRP Message.
+
+ The exception here is the PADS, which cannot carry an AC-Cookie TAG
+ (and, thankfully, doesn't need to), and the PADT. We will discuss
+ these later in this section. Using the above rules, PADI, PADO, and
+ PADR messages may be relayed through an arbitrary number of nodes,
+ each inserting its own value to link a message response that it might
+ receive.
+
+ In order to implement this exchange without tying up resources at
+ each L2TP node, it is desirable to not require ephemeral state at
+ each node waiting for a message response from each forwarded PAD
+ message. This is achievable if one is willing to be very intelligent
+ about the values that will be sent in the PPPoE TAGs used for message
+ coherency. Given that the TAGs are of arbitrary size and composition
+ and are always echoed in their entirety, one may use the information
+ here to map any next relay hop information. For example, the L2TP
+ Tunnel ID (Control Connection ID) could be encoded in the TAG in
+ order to identify where to relay the message when it arrives. If one
+ chooses this method, the encoding MUST incorporate some method of
+ encryption and authentication of the value. Note that this is a
+ relatively simple proposition given that it is only the source of the
+ encrypted and data that will ever need to decrypt and authenticate
+ the value upon receipt (thus, no key exchanges are necessary, and any
+ of a myriad of algorithms may be chosen). Note that individual TAGs
+ MUST never exceed 255 octets in length, and the length of an entire
+ PPPoE message MUST never exceed the maximum segment size of the
+ underlying ethernet. In the event that a TAG exceeds 255 octets in
+ length, a compression scheme which may include storage of state at an
+ L2TP node may be necessary before constructing a new TAG.
+
+ The PADS and PADT messages do not rely on the AC-Cookie TAG or Host-
+ Uniq TAG for directing to the proper node. As described in Section
+ 2.2, the L2TP session is created upon receipt of a valid PADR at the
+ L2TP LAC. Since the PADS is sent as an AVP on this message exchange,
+
+
+
+
+
+Townsley & da Silva Informational [Page 7]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ its coherency may be secured via the L2TP session itself. Similarly
+ for the PADT, as it is carried in the L2TP disconnect message (CDN)
+ for the L2TP session.
+
+ Clients are supposed to treat an AC-Cookie TAG as an opaque object.
+ They differentiate PADOs only by MAC address, Service-Name TAG(s) and
+ by AC-Name TAG(s). If an LAC sends multiple PADOs, they should
+ contain different AC-Name TAGs.
+
+ Furthermore, a node performing PPPoE L2TP Relay (such as an LAC)
+ SHOULD attempt to distinguish or rate limit retransmitted PADx
+ messages (perhaps via the source MAC address and/or arriving
+ interface of the message) in order to limit the overloading of L2TP.
+
+ Examples of this operation for a number of scenarios and
+ considerations for certain deployment situations may be found in the
+ Appendix of this document.
+
+2.4. PPPoE Service Relay Capabilities Negotiation
+
+ If the extensions defined in this document are present and configured
+ for operation on a given Control Connection, the AVPs listed in this
+ section MUST be present in the Start-Control-Connection-Request
+ (SCCRQ) or Start-Control-Connection-Reply (SCCRP) messages during
+ control connection setup.
+
+2.4.1. PPPoE Service Relay Response Capability AVP
+
+ The PPPoE Service Relay Response Capability AVP, Attribute Type 56,
+ indicates to an L2TP peer that the PPPoE Service Relay (SRRQ, SRRP)
+ messages and the PPPoE Relay AVP will be processed and responded to
+ when received.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|H| rsvd | Length | Vendor ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Attribute Type |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Vendor ID is the IETF Vendor ID of 0.
+
+ This AVP MAY be hidden (the H bit MAY be 0 or 1).
+
+ The M bit for this AVP may be set to 0 or 1. If the sender of this
+ AVP does not wish to establish a connection to a peer which does not
+
+
+
+
+Townsley & da Silva Informational [Page 8]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ understand this L2TP extension, it SHOULD set the M bit to 1,
+ otherwise it MUST be set to 0.
+
+ The Length of this AVP is 6.
+
+ The AVP may be present in the following messages: SCCRQ, SCCRP
+
+2.4.2. PPPoE Service Relay Forward Capability AVP
+
+ The PPPoE Service Relay Forward Capability AVP, Attribute Type 57,
+ indicates to an L2TP peer that PPPoE Service Relay (SRRQ, SRRP)
+ messages and the PPPoE Relay AVP may be sent by this L2TP peer.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|H| rsvd | Length | Vendor ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Attribute Type |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Vendor ID is the IETF Vendor ID of 0.
+
+ This AVP MAY be hidden (the H bit MAY be 0 or 1).
+
+ The M bit for this AVP may be set to 0 or 1. If the sender of this
+ AVP does not wish to establish a connection to a peer which does not
+ understand this L2TP extension, it SHOULD set the M bit to 1,
+ otherwise it MUST be set to 0.
+
+ The Length of this AVP is 6.
+
+ The AVP may be present in the following messages: SCCRQ, SCCRP
+
+3. L2TP Service Relay Messages
+
+ This section identifies two new L2TP messages used to deliver PPPoE
+ PADI and PADO messages.
+
+3.1. Service Relay Request Message (SRRQ)
+
+ The Service Relay Request Message (SRRQ), Message Type 18, is sent by
+ an LAC to relay requests for services. This document defines one new
+ AVP that may be present to request service in section 2. Further
+ service relay mechanisms may also use this message in a similar
+ context. Discussion of other service relay mechanisms are outside
+ the scope of this document.
+
+
+
+
+Townsley & da Silva Informational [Page 9]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+3.2. Service Relay Reply Message (SRRP)
+
+ The Service Relay Reply Message (SRRP), Message Type 19, is sent by
+ an LAC to relay responses of requests for services. This document
+ defines one new AVP that may be present as a response to a request
+ for service in section 2. Further service relay mechanisms may also
+ use this message in a similar context. Discussion of other service
+ relay mechanisms are outside the scope of this document.
+
+4. PPPoE Relay AVP
+
+ The PPPoE Relay AVP, Attribute Type 55, carries the entire PADI,
+ PADO, PADR, PADS and PADT messages within, including Ethernet MAC
+ source and destination addresses. This is the only AVP necessary for
+ relay of all PAD messages via L2TP.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|H| rsvd | Length | Vendor ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Attribute Type | PPPoE PAD Message ...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ... (Until end of message is reached) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Vendor ID is the IETF Vendor ID of 0.
+
+ This AVP MAY be hidden (the H bit MAY be 0 or 1).
+
+ The M bit for this AVP may be set to 0 or 1. If the sender of this
+ AVP does not wish to establish a connection to a peer which does not
+ understand this L2TP extension, it SHOULD set the M bit to 1,
+ otherwise it MUST be set to 0.
+
+ The Length of this AVP is 6 plus the length of the PPPoE PAD Message.
+
+ The AVP may be present in the following messages: SRRQ, SRRP, ICRQ,
+ ICRP, ICCN, and CDN.
+
+5. Security Considerations
+
+ PPPoE has a number of known security weaknesses that are not
+ described here. For example, an intruder between a PPPoE Host and a
+ PPPoE AC who can observe or modify PPPoE Active Discovery traffic has
+ numerous opportunities for denial of service and other attacks. The
+ use of the L2TP extensions described here makes it possible to tunnel
+ PPPoE discovery packets between the LAC and LNS, extending the path
+
+
+
+Townsley & da Silva Informational [Page 10]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ which the PPPoE Active Discovery packets are transported. There are
+ two possible implications of this. First, the tunneled packets may
+ now be observable by an intruder having access to traffic along the
+ L2TP tunnel path. This MAY make information regarding service
+ offerings or host identity easier to obtain to a rogue party given
+ that it is being sent over a wider variety of media, and presumably
+ over a longer distance and/or more hops or administrative domains.
+ Whether this information could be used for malicious purposes depends
+ on the information contained within, but it is conceivable that this
+ could be sensitive information, and this mechanism increases the
+ possibility that this information would be presented to an
+ interloper. Second, it may also be possible for an intruder to
+ modify PPPoE Active Discovery traffic while it is being carried
+ within L2TP control messages.
+
+ There are at least two methods defined to help thwart this inspection
+ or modification by an unauthorized individual. One of the two MUST
+ be used if the service discovery information is considered to be
+ sensitive and is traversing an untrusted network. The first
+ suggested method is AVP hiding described in [2]. This may be used to
+ hide the contents of the packets in transit, though offers no
+ integrity protection against modification of data in the AVP. The
+ second and more secure method is protecting L2TP with IPsec as
+ defined in [6].
+
+6. IANA Considerations
+
+ This document requires three new "AVP Attribute" (attribute type)
+ numbers to be assigned through IETF Consensus [5] as indicated in
+ Section 10.1 of [2].
+
+ 1. PPPoE Relay AVP (section 4.0)
+ 2. PPPoE Relay Response Capability AVP (section 2.4.1)
+ 3. PPPoE Relay Forward Capability AVP (section 2.4.2)
+
+ This document requires two new "Message Type" numbers to be assigned
+ through IETF Consensus [5] as indicated in Section 10.2 of [2].
+
+ 1. Service Relay Request Message (SRRQ) (Section 3.1)
+ 2. Service Relay Reply Message (SRRP) (Section 3.2)
+
+ There are no additional requirements on IANA to manage numbers in
+ this document or assign any other numbers.
+
+
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 11]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+7. Acknowledgements
+
+ Thanks to Vinay Shankarkumar for valuable review, comment, and
+ implementation.
+
+ Thanks to David Skoll and a number of others on pppoe@ipsec.org for
+ providing very helpful discussion about their PPPoE implementations.
+
+ Thanks to Ross Wheeler, Louis Mamakos, and David Carrel for providing
+ valuable clarifications of PPPoE [1] while designing this protocol.
+
+8. References
+
+8.1. 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] Townsley, W., Valencia, A., Rubens, A., Pall, G., Zorn, G. and B.
+ Palter, "Layer Two Tunneling Protocol 'L2TP'", RFC 2661, August
+ 1999.
+
+ [3] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC
+ 1661, July 1994.
+
+ [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ [5] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
+ Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
+
+8.2. Informative References
+
+ [6] Patel, B., Aboba, B., Dixon, W., Zorn, G. and S. Booth, "Securing
+ L2TP Using IPsec," RFC 3193, November 2001.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 12]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+Appendix A: PPPoE Relay in Point to Multipoint Environments
+
+ The PPPoE PADI message in its native form, is sent as a broadcast
+ message on an Ethernet link. Thus, more than one AC concentrator
+ could conceivably receive and respond to this message. Similarly, a
+
+ PPPoE interface could be associated with more than one L2TP Control
+ Connection, in order to query multiple LNSs with potentially varying
+ service profiles, as well as to load balance requests.
+
+ As the PADI message is propagated, one may choose to replicate the
+ message to multiple Control Connections in order to mimic the
+ behavior of the PADI being sent on an ethernet link with multiple ACs
+ attached. If the number of replicated nodes is large, and the number
+ of hops deep, then an unmanageable "fan-out" of PADI propagation may
+ occur. Thus, care should be taken here to only replicate messages to
+ multiple Control Connections when it is absolutely necessary.
+
+ The only case where it is seems necessary to replicate messages to
+ multiple destinations is in the case where each destination is known
+ to have varying service policies that all need to be advertised to a
+ PPPoE Host for its gathering and selection. At the time of this
+ writing, the authors know of no PPPoE Host implementations that take
+ advantage of this ability (instead, responding to only a single PPPoE
+ PADO). This, of course, is subject to change if and when PPPoE
+ implementations are advanced to this stage.
+
+ In cases where multiple Control Connections may exist to multiple
+ LNSs for load balancing purposes, L2TP Service Relay should take
+ measures to try one Control Connection at a time, rather than
+ broadcasting to all Control Connections simultaneously.
+
+Appendix B: PAD Message Exchange Coherency Examples
+
+ Example 1: "PPPoE Relay With Multiple LNSs"
+
+ ,--- LNS1
+ /
+ Host --- LAC
+ \
+ `--- LNS2
+
+ This example assumes that there is good reason to send a copy of the
+ PADI to both LNSs (e.g., each LNS may have a different service
+ profile to offer).
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 13]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ 1) a. Host sends PADI via broadcast MAC address to LAC
+
+ b. LAC replicates the PADI message and forwards a copy to LNS1
+ Host-Uniq = R1 (assigned)
+
+ c. LAC replicates the PADI message and forwards a copy to LNS2
+ Host-Uniq = R2 (assigned)
+
+ 2) a. LNS1 responds with PADO to LAC
+ Host-Uniq = R1 (echoed)
+ AC-Cookie = C1 (assigned)
+
+ b. LNS1 responds with PADO to LAC
+ Host-Uniq = R2 (echoed)
+ AC-Cookie = C2 (assigned)
+
+ c. LAC forwards both PADO messages to Host with source MAC set to
+ MAC address of LAC. PADO from (2a) is assigned new AC-Cookie
+ C1' and PADO from (2b) is given AC-Cookie C2'
+
+ 3) a. Host sends PADR to MAC address of LAC (choosing one)
+ AC-Cookie = C1' (echoed)
+
+ b. LAC knows to forward PADR to LNS1 based on C1'
+ AC-Cookie = C1 (echoed)
+
+ 4) Session Establishment at the LAC commences, with further PAD
+ messages carried within the context of the L2TP session itself.
+ No need to inspect the AC-Cookie TAG or Host-Uniq TAG from this
+ point forward in order to direct messages properly.
+
+ Example 2: "PPPoE Relay With L2TP Tunnel-Switching"
+
+ Host --- LAC ---- LNS1 ---- LNS2
+
+ 1) a. Host sends PADI to LAC.
+
+ b. LAC sends PADI to LNS1
+ Host-Uniq = R1 (assigned)
+
+ c. LNS1 sends PADI to LNS2
+ Host-Uniq = R2 (assigned)
+
+ 2) a. LNS2 responds to LNS1 with PADO
+ Host-Uniq = R2 (echoed)
+ AC-Cookie = C1 (assigned)
+
+
+
+
+
+Townsley & da Silva Informational [Page 14]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ b. LNS1 relays PADO to LAC
+ Host-Uniq = R1 (echoed)
+ AC-Cookie = C1' (assigned)
+
+ c. LAC sends PADO to Host
+ AC-Cookie = C1'' (assigned)
+
+ 3) a. Host sends PADR to MAC address of LAC
+ AC-Cookie = C1'' (echoed)
+
+ b. LAC sends PADR to LNS1
+ AC-Cookie = C1' (echoed)
+
+ c. LNS1 sends PADR to LNS2
+ AC-Cookie = C1 (echoed)
+
+ 4) Session Establishment at the LAC, LNS1 and LNS2 commences, with
+ further PAD messages carried within the context of the L2TP
+ session itself. No need to inspect the AC-Cookie TAG or Host-Uniq
+ TAG from this point forward in order to direct messages properly.
+
+ Example 3: "PPPoE Relay With Multiple PPPoE ACs"
+
+ ,--- AC1
+ /
+ Host --- LAC ---- LNS
+ \
+ `--- AC2
+
+ In this example, AC1 and AC2 are PPPoE access concentrators on a
+ broadcast domain. Sequence of operation is as follows.
+
+ 1) a. Host sends PADI to LAC.
+
+ b. LAC sends PADI to LNS
+ Host-Uniq = R1 (assigned)
+
+ c. LNS broadcasts PADI to AC1 and AC2
+ Host-Uniq = R2 (assigned)
+
+ 2) a. AC1 sends PADO to LNS
+ Host-Uniq = R2 (echoed)
+ AC-Cookie = C1 (assigned)
+
+ b. AC2 sends PADO to LNS
+ Host-Uniq = R2 (echoed)
+ AC-Cookie = C2 (assigned)
+
+
+
+
+Townsley & da Silva Informational [Page 15]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+ c. LNS sends two PADOs to LAC
+ Host-Uniq = R1 (echoed)
+ AC-Cookie (assigned) = C1' and C2', respectively
+
+ d. LAC sends two PADOs to Host
+ Host-Uniq = R1
+ AC-Cookie (assigned) = C1'' and C2'', respectively
+
+ 3) a. Host sends PADR with to LAC to select service from AC2.
+ AC-Cookie = C2'' (echoed)
+
+ b. LAC sends PADR to LNS AC-Cookie = C2' (echoed)
+
+ c. LAC sends PADR to AC2
+ AC-Cookie = C1 (echoed)
+
+ 4) Session Establishment at the LAC, LNS and AC2 commences, with
+ further PAD messages carried within the context of the L2TP
+ session or PPPoE session itself. No need to inspect
+ the AC-Cookie TAG or Host-Uniq TAG from this point forward in
+ order to direct messages properly.
+
+Authors' Addresses
+
+ W. Mark Townsley
+ cisco Systems
+ 7025 Kit Creek Road
+ Research Triangle Park, NC 27709
+
+ EMail: mark@townsley.net
+
+
+ Ron da Silva
+ AOL Time Warner
+ 12100 Sunrise Valley Dr
+ Reston, VA 20191
+
+ EMail: rdasilva@va.rr.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 16]
+
+RFC 3817 L2TP Relay for PPPoE June 2004
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2004). 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 currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+Townsley & da Silva Informational [Page 17]
+