RFC 4719 PROPOSED STANDARD TRANSPORT · TUNNELLING · CARRIER NETWORKS

Ethernet over L2TPv3: Transport of Ethernet Frames over Layer 2 Tunneling Protocol Version 3 (L2TPv3)

Carrying real Ethernet frames across an IP network by tunnelling them in L2TPv3 sessions.

On rfc-editor.org ↗
PUBLISHED
November 2006
AUTHORS
R. Aggarwal, M. Townsley, M. Dos Santos
STREAM
IETF
UPDATED BY
RFC 5641 — L2TPv3 circuit status
ETHERNET PSEUDOWIRE TYPE
0x0005
ETHERNET VLAN PSEUDOWIRE TYPE
0x0004
L2TP OVERHEAD OVER IP
N = 4-16 octets
L2TP OVERHEAD OVER UDP
N = 16-28 octets
REMOTE END IDENTIFIER
Four octets
CIRCUIT STATUS AVP
16-bit mask with two defined bits
DOI
10.17487/RFC4719

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                   R. Aggarwal, Ed.
Request for Comments: 4719                              Juniper Networks
Category: Standards Track                               M. Townsley, Ed.
                                                      M. Dos Santos, Ed.
                                                           Cisco Systems
                                                           November 2006


                   Transport of Ethernet Frames over
             Layer 2 Tunneling Protocol Version 3 (L2TPv3)

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The IETF Trust (2006).

Abstract

   This document describes the transport of Ethernet frames over the
   Layer 2 Tunneling Protocol, Version 3 (L2TPv3).  This includes the
   transport of Ethernet port-to-port frames as well as the transport of
   Ethernet VLAN frames.  The mechanism described in this document can
   be used in the creation of Pseudowires to transport Ethernet frames
   over an IP network.

Table of Contents

   1. Introduction ....................................................2
      1.1. Specification of Requirements ..............................2
      1.2. Abbreviations ..............................................3
      1.3. L2TPv3 Control Message Types ...............................3
      1.4. Requirements ...............................................3
   2. PW Establishment ................................................4
      2.1. LCCE-LCCE Control Connection Establishment .................4
      2.2. PW Session Establishment ...................................4
      2.3. PW Session Monitoring ......................................6
   3. Packet Processing ...............................................7
      3.1.  Encapsulation .............................................7
      3.2.  Sequencing ................................................7
      3.3.  MTU Handling ..............................................7
   4. Applicability Statement .........................................8
   5. Congestion Control .............................................10
   6. Security Considerations ........................................10
   7. IANA Considerations ............................................11
   8. Contributors ...................................................11
   9. Acknowledgements ...............................................11
   10. References ....................................................12
      10.1. Normative References .....................................12
      10.2. Informative References ...................................12

1.  Introduction

   The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be used as a
   control protocol and for data encapsulation to set up Pseudowires
   (PWs) for transporting layer 2 Packet Data Units across an IP network
   [RFC3931].  This document describes the transport of Ethernet frames
   over L2TPv3 including the PW establishment and data encapsulation.

   The term "Ethernet" in this document is used with the intention to
   include all such protocols that are reasonably similar in their
   packet format to IEEE 802.3 [802.3], including variants or extensions
   that may or may not necessarily be sanctioned by the IEEE (including
   such frames as jumbo frames, etc.).  The term "VLAN" in this document
   is used with the intention to include all virtual LAN tagging
   protocols such as IEEE 802.1Q [802.1Q], 802.1ad [802.1ad], etc.

1.1.  Specification of Requirements

   In this document, several words are used to signify the requirements
   of the specification.  These words are often capitalized.  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 [RFC2119].

1.2.  Abbreviations

   AC      Attachment Circuit (see [RFC3985])
   CE      Customer Edge (Typically also the L2TPv3 Remote System)
   LCCE    L2TP Control Connection Endpoint (see [RFC3931])
   NSP     Native Service Processing (see [RFC3985])
   PE      Provider Edge (Typically also the LCCE) (see [RFC3985])
   PSN     Packet Switched Network (see [RFC3985])
   PW      Pseudowire (see [RFC3985])
   PWE3    Pseudowire Emulation Edge to Edge (Working Group)

1.3.  L2TPv3 Control Message Types

   Relevant L2TPv3 control message types (see [RFC3931]) are listed for
   reference.

   SCCRQ   L2TPv3 Start-Control-Connection-Request control message
   SCCRP   L2TPv3 Start-Control-Connection-Reply control message
   SCCCN   L2TPv3 Start-Control-Connection-Connected control message
   StopCCN L2TPv3 Stop-Control-Connection-Notification control message
   ICRQ    L2TPv3 Incoming-Call-Request control message
   ICRP    L2TPv3 Incoming-Call-Reply control message
   ICCN    L2TPv3 Incoming-Call-Connected control message
   OCRQ    L2TPv3 Outgoing-Call-Request control message
   OCRP    L2TPv3 Outgoing-Call-Reply control message
   OCCN    L2TPv3 Outgoing-Call-Connected control message
   CDN     L2TPv3 Call-Disconnect-Notify control message
   SLI     L2TPv3 Set-Link-Info control message

1.4.  Requirements

   An Ethernet PW emulates a single Ethernet link between exactly two
   endpoints.  The following figure depicts the PW termination relative
   to the NSP and PSN tunnel within an LCCE [RFC3985].  The Ethernet
   interface may be connected to one or more Remote Systems (an L2TPv3
   Remote System is referred to as Customer Edge (CE) in this and
   associated PWE3 documents).  The LCCE may or may not be a PE.

                 +---------------------------------------+
                 |                 LCCE                  |
                 +-+   +-----+   +------+   +------+   +-+
                 |P|   |     |   |PW ter|   | PSN  |   |P|
   Ethernet  <==>|h|<=>| NSP |<=>|minati|<=>|Tunnel|<=>|h|<==> PSN
   Interface     |y|   |     |   |on    |   |      |   |y|
                 +-+   +-----+   +------+   +------+   +-+
                 |                                       |
                 +---------------------------------------+
                       Figure 1: PW termination

   The PW termination point receives untagged (also referred to as
   'raw') or tagged Ethernet frames and delivers them unaltered to the
   PW termination point on the remote LCCE.  Hence, it can provide
   untagged or tagged Ethernet link emulation service.

   The "NSP" function includes packet processing needed to translate the
   Ethernet frames that arrive at the CE-LCCE interface to/from the
   Ethernet frames that are applied to the PW termination point.  Such
   functions may include stripping, overwriting, or adding VLAN tags.
   The NSP functionality can be used in conjunction with local
   provisioning to provide heterogeneous services where the CE-LCCE
   encapsulations at the two ends may be different.

   The physical layer between the CE and LCCE, and any adaptation (NSP)
   functions between it and the PW termination, are outside of the scope
   of PWE3 and are not defined here.

2.  PW Establishment

   With L2TPv3 as the tunneling protocol, Ethernet PWs are L2TPv3
   sessions.  An L2TP Control Connection has to be set up first between
   the two LCCEs.  Individual PWs can then be established as L2TP
   sessions.

2.1.  LCCE-LCCE Control Connection Establishment

   The two LCCEs that wish to set up Ethernet PWs MUST establish an L2TP
   Control Connection first as described in [RFC3931].  Hence, an
   Ethernet PW Type must be included in the Pseudowire Capabilities List
   as defined in [RFC3931].  The type of PW can be either "Ethernet
   port" or "Ethernet VLAN".  This indicates that the Control Connection
   can support the establishment of Ethernet PWs.  Note that there are
   two Ethernet PW Types required.  For connecting an Ethernet port to
   another Ethernet port, the PW Type MUST be "Ethernet port"; for
   connecting an Ethernet VLAN to another Ethernet VLAN, the PW Type
   MUST be "Ethernet VLAN".

2.2.  PW Session Establishment

   The provisioning of an Ethernet port or Ethernet VLAN and its
   association with a PW triggers the establishment of an L2TP session
   via the standard Incoming Call three-way handshake described in
   Section 3.4.1 of [RFC3931].

   Note that an L2TP Outgoing Call is essentially a method of
   controlling the originating point of a Switched Virtual Circuit
   (SVC), allowing it to be established from any reachable L2TP-enabled
   device able to perform outgoing calls.  The Outgoing Call model and
   its corresponding OCRQ, OCRP, and OCCN control messages are mainly
   used within the dial arena with L2TPv2 today and has not been found
   applicable for PW applications yet.

   The following are the signaling elements needed for the Ethernet PW
   establishment:

   a) Pseudowire Type: The type of a Pseudowire can be either "Ethernet
      port" or "Ethernet VLAN".  Each LCCE signals its Pseudowire type
      in the Pseudowire Type AVP [RFC3931].  The assigned values for
      "Ethernet port" and "Ethernet VLAN" Pseudowire types are captured
      in the "IANA Considerations" of this document.  The Pseudowire
      Type AVP MUST be present in the ICRQ.

   b) Pseudowire ID: Each PW is associated with a Pseudowire ID.  The
      two LCCEs of a PW have the same Pseudowire ID for it.  The Remote
      End Identifier AVP [RFC3931] is used to convey the Pseudowire ID.
      The Remote End Identifier AVP MUST be present in the ICRQ in order
      for the remote LCCE to determine the PW to associate the L2TP
      session with.  An implementation MUST support a Remote End
      Identifier of four octets known to both LCCEs either by manual
      configuration or some other means.  Additional Remote End
      Identifier formats that MAY be supported are outside the scope of
      this document.

   c) The Circuit Status AVP [RFC3931] MUST be included in ICRQ and ICRP
      to indicate the circuit status of the Ethernet port or Ethernet
      VLAN.  For ICRQ and ICRP, the Circuit Status AVP MUST indicate
      that the circuit status is for a new circuit (refer to N bit in
      Section 2.3.3).  An implementation MAY send an ICRQ or ICRP before
      an Ethernet interface is ACTIVE, as long as the Circuit Status AVP
      (refer to A bit in Section 2.3.3) in the ICRQ or ICRP reflects the
      correct status of the Ethernet port or Ethernet VLAN link.  A
      subsequent circuit status change of the Ethernet port or Ethernet
      VLAN MUST be conveyed in the Circuit Status AVP in ICCN or SLI
      control messages.  For ICCN and SLI (refer to Section 2.3.2), the
      Circuit Status AVP MUST indicate that the circuit status is for an
      existing circuit (refer to N bit in Section 2.3.3) and reflect the
      current status of the link (refer to A bit in Section 2.3.3).

2.3.  PW Session Monitoring

2.3.1.  Control Connection Keep-alive

   The working status of a PW is reflected by the state of the L2TPv3
   session.  If the corresponding L2TPv3 session is down, the PW
   associated with it MUST be shut down.  The Control Connection keep-
   alive mechanism of L2TPv3 can serve as a link status monitoring
   mechanism for the set of PWs associated with a Control Connection.

2.3.2.  SLI Message

   In addition to the Control Connection keep-alive mechanism of L2TPv3,
   Ethernet PW over L2TP makes use of the Set-Link-Info (SLI) control
   message defined in [RFC3931].  The SLI message is used to signal
   Ethernet link status notifications between LCCEs.  This can be useful
   to indicate Ethernet interface state changes without bringing down
   the L2TP session.  Note that change in the Ethernet interface state
   will trigger an SLI message for each PW associated with that Ethernet
   interface.  This may be one Ethernet port PW or more than one
   Ethernet VLAN PW.  The SLI message MUST be sent any time there is a
   status change of any values identified in the Circuit Status AVP.
   The only exception to this is the initial ICRQ, ICRP, and CDN
   messages that establish and tear down the L2TP session itself.  The
   SLI message may be sent from either LCCE at any time after the first
   ICRQ is sent (and perhaps before an ICRP is received, requiring the
   peer to perform a reverse Session ID lookup).

2.3.3.  Use of Circuit Status AVP for Ethernet

   Ethernet PW reports circuit status with the Circuit Status AVP
   defined in [RFC3931].  For reference, this AVP is shown below:

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Reserved        |N|A|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The Value is a 16-bit mask with the two least significant bits
   defined and the remaining bits reserved for future use.  Reserved
   bits MUST be set to 0 when sending and ignored upon receipt.

   The A (Active) bit indicates whether the Ethernet interface is ACTIVE
   (1) or INACTIVE (0).

   The N (New) bit indicates whether the circuit status is for a new (1)
   Ethernet circuit or an existing (0) Ethernet circuit.

3.  Packet Processing

3.1.  Encapsulation

   The encapsulation described in this section refers to the
   functionality performed by the PW termination point depicted in
   Figure 1, unless otherwise indicated.

   The entire Ethernet frame, without the preamble or frame check
   sequence (FCS), is encapsulated in L2TPv3 and is sent as a single
   packet by the ingress LCCE.  This is done regardless of whether or
   not a VLAN tag is present in the Ethernet frame.  For Ethernet port-
   to-port mode, the remote LCCE simply decapsulates the L2TP payload
   and sends it out on the appropriate interface without modifying the
   Ethernet header.  For Ethernet VLAN-to-VLAN mode, the remote LCCE MAY
   rewrite the VLAN tag.  As described in Section 1, the VLAN tag
   modification is an NSP function.

   The Ethernet PW over L2TP is homogeneous with respect to packet
   encapsulation, i.e., both ends of the PW are either untagged or
   tagged.  The Ethernet PW can still be used to provide heterogeneous
   services using NSP functionality at the ingress and/or egress LCCE.
   The definition of such NSP functionality is outside the scope of this
   document.

   The maximum length of the Ethernet frame carried as the PW payload is
   irrelevant as far as the PW is concerned.  If anything, that value
   would only be relevant when quantifying the faithfulness of the
   emulation.

3.2.  Sequencing

   Data packet sequencing MAY be enabled for Ethernet PWs.  The
   sequencing mechanisms described in [RFC3931] MUST be used for
   signaling sequencing support.

3.3.  MTU Handling

   With L2TPv3 as the tunneling protocol, the IP packet resulting from
   the encapsulation is M + N bytes longer than the Ethernet frame
   without the preamble or FCS.  Here M is the length of the IP header
   along with associated options and extension headers, and the value of
   N depends on the following fields:

      L2TP Session Header:
         Flags, Ver, Res - 4 octets (L2TPv3 over UDP only)
         Session ID      - 4 octets
         Cookie Size     - 0, 4, or 8 octets
         L2-Specific Sublayer - 0 or 4 octets (i.e., using sequencing)

      Hence the range for N in octets is:
         N = 4-16,  for L2TPv3 data messages over IP;
         N = 16-28, for L2TPv3 data messages over UDP;
         (N does not include the IP header).

   Fragmentation in the PSN can occur when using Ethernet over L2TP,
   unless proper configuration and management of MTU sizes are in place
   between the Customer Edge (CE) router and Provider Edge (PE) router,
   and across the PSN.  This is not specific only to Ethernet over
   L2TPv3, and the base L2TPv3 specification [RFC3931] provides general
   recommendations with respect to fragmentation and reassembly in
   Section 4.1.4.  "PWE3 Fragmentation and Reassembly" [RFC4623]
   expounds on this topic, including a fragmentation and reassembly
   mechanism within L2TP itself in the event that no other option is
   available.  Implementations MUST follow these guidelines with respect
   to fragmentation and reassembly.

4.  Applicability Statement

   The Ethernet PW emulation allows a service provider to offer a
   "port-to-port"-based Ethernet service across an IP Packet Switched
   Network (PSN), while the Ethernet VLAN PW emulation allows an "VLAN-
   to-VLAN"-based Ethernet service across an IP Packet Switched Network
   (PSN).

   The Ethernet or Ethernet VLAN PW emulation has the following
   characteristics in relationship to the respective native service:

   o  Ethernet PW connects two Ethernet port ACs, and Ethernet VLAN PW
      connects two Ethernet VLAN ACs, which both support bi-directional
      transport of variable-length Ethernet frames.  The ingress LCCE
      strips the preamble and FCS from the Ethernet frame and transports
      the frame in its entirety across the PW.  This is done regardless
      of the presence of the VLAN tag in the frame.  The egress LCCE
      receives the Ethernet frame from the PW and regenerates the
      preamble and FCS before forwarding the frame to the attached
      Remote System (see Section 3.1).  Since FCS is not being
      transported across either Ethernet or Ethernet VLAN PWs, payload
      integrity transparency may be lost.  To achieve payload integrity
      transparency on Ethernet or Ethernet VLAN PWs using L2TP over IP
      or L2TP over UDP/IP, the L2TPv3 session can utilize IPsec as
      specified in Section 4.1.3 of [RFC3931].

   o  While architecturally [RFC3985] outside the scope of the L2TPv3 PW
      itself, if VLAN tags are present, the NSP may rewrite VLAN tags on
      ingress or egress from the PW (see Section 3.1).

   o  The Ethernet or Ethernet VLAN PW only supports homogeneous
      Ethernet frame type across the PW; both ends of the PW must be
      either tagged or untagged.  Heterogeneous frame type support
      achieved with NSP functionality is outside the scope of this
      document (see Section 3.1).

   o  Ethernet port or Ethernet VLAN status notification is provided
      using the Circuit Status AVP in the SLI message (see Sections
      2.3.2 and 2.3.3).  Loss of connectivity between LCCEs can be
      detected by the L2TPv3 keep-alive mechanism (see Section 2.3.1 of
      this document and Section 4.4 of [RFC3931]).  The LCCE can convey
      these indications back to its attached Remote System.

   o  The maximum frame size that can be supported is limited by the PSN
      MTU minus the L2TPv3 header size, unless fragmentation and
      reassembly is used (see Section 3.3 of this document and Section
      4.1.4 of [RFC3931]).

   o  The Packet Switched Network may reorder, duplicate, or silently
      drop packets.  Sequencing may be enabled in the Ethernet or
      Ethernet VLAN PW for some or all packets to detect lost,
      duplicate, or out-of-order packets on a per-session basis (see
      Section 3.2).

   o  The faithfulness of an Ethernet or Ethernet VLAN PW may be
      increased by leveraging Quality-of-Service (QoS) features of the
      LCCEs and the underlying PSN.  For example, for Ethernet 802.1Q
      [802.1Q] VLAN transport, the ingress LCCE MAY consider the user
      priority field (i.e., 802.1p) of the VLAN tag for traffic
      classification and QoS treatments, such as determining the
      Differentiated Services (DS) field [RFC2474] of the encapsulating
      IP header.  Similarly, the egress LCCE MAY consider the DS field
      of the encapsulating IP header when rewriting the user priority
      field of the VLAN tag or queuing the Ethernet frame before
      forwarding the frame to the Remote System.  The mapping between
      the user priority field and the IP header DS field as well as the
      Quality-of-Service model deployed are application specific and are
      outside the scope of this document.

5.  Congestion Control

   As explained in [RFC3985], the PSN carrying the PW may be subject to
   congestion, with congestion characteristics depending on PSN type,
   network architecture, configuration, and loading.  During congestion,
   the PSN may exhibit packet loss that will impact the service carried
   by the Ethernet or Ethernet VLAN PW.  In addition, since Ethernet or
   Ethernet VLAN PWs carry a variety of services across the PSN,
   including but not restricted to TCP/IP, they may or may not behave in
   a TCP-friendly manner prescribed by [RFC2914] and thus consume more
   than their fair share.

   Whenever possible, Ethernet or Ethernet VLAN PWs should be run over
   traffic-engineered PSNs providing bandwidth allocation and admission
   control mechanisms.  IntServ-enabled domains providing the Guaranteed
   Service (GS) or DiffServ-enabled domains using EF (expedited
   forwarding) are examples of traffic-engineered PSNs.  Such PSNs will
   minimize loss and delay while providing some degree of isolation of
   the Ethernet or Ethernet VLAN PW's effects from neighboring streams.

   LCCEs SHOULD monitor for congestion (by using explicit congestion
   notification or by measuring packet loss) in order to ensure that the
   service using the Ethernet or Ethernet VLAN PW may be maintained.
   When severe congestion is detected (for example, when enabling
   sequencing and detecting that the packet loss is higher than a
   threshold), the Ethernet or Ethernet VLAN PW SHOULD be halted by
   tearing down the L2TP session via a CDN message.  The PW may be
   restarted by manual intervention or by automatic means after an
   appropriate waiting time.  Note that the thresholds and time periods
   for shutdown and possible automatic recovery need to be carefully
   configured.  This is necessary to avoid loss of service due to
   temporary congestion and to prevent oscillation between the congested
   and halted states.

   This specification offers no congestion control and is not TCP
   friendly [TFRC].  Future works for PW congestion control (being
   studied by the PWE3 Working Group) will provide congestion control
   for all PW types including Ethernet and Ethernet VLAN PWs.

6.  Security Considerations

   Ethernet over L2TPv3 is subject to all of the general security
   considerations outlined in [RFC3931].

7.  IANA Considerations

   The signaling mechanisms defined in this document rely upon the
   following Ethernet Pseudowire Types (see Pseudowire Capabilities List
   as defined in 5.4.3 of [RFC3931] and L2TPv3 Pseudowire Types in 10.6
   of [RFC3931]), which were allocated by the IANA (number space created
   as part of publication of [RFC3931]):

      Pseudowire Types
      ----------------
      0x0004  Ethernet VLAN Pseudowire Type
      0x0005  Ethernet Pseudowire Type

8.  Contributors

   The following is the complete list of contributors to this document.

   Rahul Aggarwal
   Juniper Networks

   Xipeng Xiao
   Riverstone Networks

   W. Mark Townsley
   Stewart Bryant
   Maria Alice Dos Santos
   Cisco Systems

   Cheng-Yin Lee
   Alcatel

   Tissa Senevirathne
   Consultant

   Mitsuru Higashiyama
   Anritsu Corporation

9.  Acknowledgements

   This RFC evolved from the document, "Ethernet Pseudo Wire Emulation
   Edge-to-Edge".  We would like to thank its authors, T.So, X.Xiao, L.
   Anderson, C. Flores, N. Tingle, S. Khandekar, D. Zelig and G. Heron
   for their contribution.  We would also like to thank S. Nanji, the
   author of "Ethernet Service for Layer Two Tunneling Protocol", for
   writing the first Ethernet over L2TP document.

   Thanks to Carlos Pignataro for providing a thorough review and
   helpful input.

10.  References

10.1.  Normative References

   [RFC3931]  Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling
              Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4623]  Malis, A. and M. Townsley, "Pseudowire Emulation Edge-to-
              Edge (PWE3) Fragmentation and Reassembly", RFC 4623,
              August 2006.

10.2.  Informative References

   [RFC3985]  Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-
              Edge (PWE3) Architecture", RFC 3985, March 2005.

   [RFC2914]  Floyd, S., "Congestion Control Principles", BCP 41, RFC
              2914, September 2000.

   [RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
              "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers", RFC 2474, December
              1998.

   [802.3]    IEEE, "IEEE std 802.3 -2005/Cor 1-2006 IEEE Standard for
              Information Technology - Telecommuincations and
              Information Exchange Between Systems - Local and
              Metropolitan Area Networks", IEEE Std 802.3-2005/Cor
              1-2006 (Corrigendum to IEEE Std 802.3-2005)

   [802.1Q]   IEEE, "IEEE standard for local and metropolitan area
              networks virtual bridged local area networks", IEEE Std
              802.1Q-2005 (Incorporates IEEE Std 802.1Q1998, IEEE Std
              802.1u-2001, IEEE Std 802.1v-2001, and IEEE Std 802.1s-
              2002)

   [802.1ad]  IEEE, "IEEE Std 802.1ad - 2005 IEEE Standard for Local and
              metropolitan area networks - virtual Bridged Local Area
              Networks, Amendment 4: Provider Bridges", IEEE Std
              802.1ad-2005 (Amendment to IEEE Std 8021Q-2005)

   [TFRC]     Handley, M., Floyd, S., Padhye, J., and J. Widmer, "TCP
              Friendly Rate Control (TFRC): Protocol Specification", RFC
              3448, January 2003.

Author Information

   Rahul Aggarwal
   Juniper Networks
   1194 North Mathilda Avenue
   Sunnyvale, CA 94089

   EMail: rahul@juniper.net


   W. Mark Townsley
   Cisco Systems
   7025 Kit Creek Road
   PO Box 14987
   Research Triangle Park, NC 27709

   EMail: mark@townsley.net


   Maria Alice Dos Santos
   Cisco Systems
   170 W Tasman Dr
   San Jose, CA 95134

   EMail: mariados@cisco.com

Full Copyright Statement

   Copyright (C) The IETF Trust (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, THE IETF TRUST,
   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.

ISO Plain Language

On this page
PROBLEMA service provider often needs to offer a customer a plain Ethernet link between two sites, but the network between them is an IP packet switched network that carries IP packets, not Ethernet frames.
MECHANISMThe RFC describes an Ethernet pseudowire carried over L2TPv3: the whole frame travels in an L2TP session, with the control connection, the session setup messages and the circuit status signalling that tell the two ends the link is up.
WHY IT MATTERSTwo pseudowire types, Ethernet and Ethernet VLAN, were registered with IANA, giving providers a way to offer port-to-port and VLAN-to-VLAN Ethernet services across an IP network.

§1Introduction

The Layer 2 Tunneling Protocol Version 3 (L2TPv3) can be used as a control protocol and for data encapsulation to set up pseudowires for transporting layer 2 packet data units across an IP network. This document describes the transport of Ethernet frames over L2TPv3, including the pseudowire establishment and the data encapsulation.

The document is careful about what it means by Ethernet and by VLAN. The term Ethernet is used with the intention to include all such protocols that are reasonably similar in their packet format to IEEE 802.3, including variants or extensions that may or may not be sanctioned by the IEEE, such as jumbo frames. The term VLAN is used with the intention to include all virtual LAN tagging protocols such as IEEE 802.1Q and 802.1ad.

An Ethernet pseudowire emulates a single Ethernet link between exactly two endpoints. The pseudowire termination point receives untagged, also called raw, or tagged Ethernet frames and delivers them unaltered to the pseudowire termination point on the remote L2TPv3 control connection endpoint. It can therefore provide an untagged or a tagged Ethernet link emulation service.

A pseudowire makes two distant ports behave as if they were plugged into the same switch. This RFC defines that for Ethernet, including frames that carry a VLAN tag, and it is deliberately loose about what counts as Ethernet so that jumbo frames and vendor extensions still work.

§1.4PW Termination and the Native Service

The Ethernet interface may be connected to one or more remote systems, which are referred to as the customer edge in this and the associated PWE3 documents. The L2TPv3 control connection endpoint may or may not be a provider edge. Between the customer edge interface and the pseudowire termination sit two functions. The first is the physical layer, which is outside the scope of PWE3 and is not defined here. The second is the Native Service Processing function, which includes the packet processing needed to translate the Ethernet frames arriving at the customer edge interface into the Ethernet frames applied to the pseudowire termination point, and back. Such functions may include stripping, overwriting or adding VLAN tags.

The Native Service Processing functionality can be used in conjunction with local provisioning to provide heterogeneous services, where the customer edge encapsulations at the two ends may be different. That is how a provider can offer, for example, a tagged service on one side and an untagged service on the other, without the pseudowire itself carrying the difference.

The tunnel is not the only thing in the way. Between the customer's port and the tunnel there is a function that can add, change or remove a VLAN tag. That is how a provider can give the two ends of the same tunnel different-looking service.

§2PW Establishment

With L2TPv3 as the tunneling protocol, Ethernet pseudowires are L2TPv3 sessions. An L2TP control connection has to be set up first between the two control connection endpoints, and individual pseudowires can then be established as L2TP sessions.

The two endpoints that wish to set up Ethernet pseudowires must establish an L2TP control connection first as described in RFC 3931. An Ethernet pseudowire type must therefore be included in the Pseudowire Capabilities List. The type of pseudowire can be either Ethernet port or Ethernet VLAN, which indicates that the control connection can support the establishment of Ethernet pseudowires. Two Ethernet pseudowire types are required: for connecting an Ethernet port to another Ethernet port the type must be Ethernet port, and for connecting an Ethernet VLAN to another Ethernet VLAN the type must be Ethernet VLAN.

The provisioning of an Ethernet port or VLAN and its association with a pseudowire triggers the establishment of an L2TP session through the standard Incoming Call three-way handshake. The RFC notes that an L2TP Outgoing Call is essentially a method of controlling the originating point of a switched virtual circuit, and that the Outgoing Call model and its control messages are mainly used within the dial arena with L2TPv2 today and have not been found applicable for pseudowire applications yet.

Three signalling elements are needed. The Pseudowire Type AVP carries the type of pseudowire and must be present in the Incoming Call Request. The Pseudowire ID identifies the pseudowire, and the two endpoints of a pseudowire have the same one; it is conveyed in the Remote End Identifier AVP, which must be present in the Incoming Call Request so that the remote endpoint can determine which pseudowire to associate the session with. An implementation must support a Remote End Identifier of four octets known to both endpoints, either by manual configuration or by some other means. The Circuit Status AVP must be included in the Incoming Call Request and Reply to indicate the circuit status of the Ethernet port or VLAN.

Two control connection endpoints first open a control connection between them. Each individual Ethernet circuit is then set up as its own session, and the two ends exchange identifiers so that each knows which circuit the traffic belongs to.

OPENING A CONTROL CONNECTION AND AN ETHERNET PSEUDOWIRE
LCCE ALCCE B
  1. SCCRQStart-Control-Connection-Request, listing the Ethernet pseudowire types it supports.
  2. SCCRPStart-Control-Connection-Reply.
  3. SCCCNStart-Control-Connection-Connected.
  4. ICRQIncoming-Call-Request carrying the Pseudowire Type, the Pseudowire ID and the Circuit Status.
  5. ICRPIncoming-Call-Reply, also carrying the Circuit Status.
  6. ICCNIncoming-Call-Connected. The pseudowire is now up.

§2.3PW Session Monitoring

The working status of a pseudowire is reflected by the state of the L2TPv3 session. If the session is down, the pseudowire associated with it must be shut down, and the control connection keep-alive mechanism of L2TPv3 can serve as a link status monitoring mechanism for the set of pseudowires associated with a control connection.

In addition, Ethernet pseudowires over L2TP use the Set-Link-Info control message to signal Ethernet link status notifications between the endpoints. This can indicate Ethernet interface state changes without bringing down the L2TP session. A change in the Ethernet interface state triggers a Set-Link-Info message for each pseudowire associated with that interface, which may be one Ethernet port pseudowire or more than one Ethernet VLAN pseudowire. The message must be sent any time there is a status change of any values identified in the Circuit Status AVP, the only exception being the initial Incoming Call Request, Incoming Call Reply and Call Disconnect Notify messages that establish and tear down the session itself.

Report of circuit status uses the Circuit Status AVP defined in RFC 3931. Its value is a 16-bit mask with the two least significant bits defined and the remaining bits reserved for future use; reserved bits must be set to 0 when sending and ignored upon receipt. The A bit, for Active, indicates whether the Ethernet interface is ACTIVE (1) or INACTIVE (0). The N bit, for New, indicates whether the circuit status is for a new (1) Ethernet circuit or an existing (0) Ethernet circuit.

The tunnel reports on the link underneath it. A small two-bit field says whether the customer's port is up and whether the report is about a brand new circuit. The keep-alive on the control connection tells the far end when the whole tunnel has gone away.

THE CIRCUIT STATUS AVP AS USED FOR ETHERNET
Circuit Status AVP
FieldNameSizeValueDescription
RESERVEDReserved14 bitsReserved for future use. Must be set to 0 when sending and ignored on receipt.
N-BITN (New)1 bits1 for a new Ethernet circuit, 0 for an existing one.
A-BITA (Active)1 bits1 when the Ethernet interface is ACTIVE, 0 when INACTIVE.

§3Encapsulation, Sequencing and MTU Handling

The entire Ethernet frame, without the preamble or frame check sequence, is encapsulated in L2TPv3 and sent as a single packet by the ingress endpoint. This is done regardless of whether or not a VLAN tag is present in the frame. For Ethernet port-to-port mode, the remote endpoint simply decapsulates the L2TP payload and sends it out on the appropriate interface without modifying the Ethernet header. For Ethernet VLAN-to-VLAN mode, the remote endpoint may rewrite the VLAN tag, which is a Native Service Processing function.

The Ethernet pseudowire over L2TP is homogeneous with respect to packet encapsulation, so both ends of the pseudowire are either untagged or tagged. It can still be used to provide heterogeneous services using Native Service Processing functionality at the ingress or egress endpoint, but the definition of such functionality is outside the scope of this document. The maximum length of the Ethernet frame carried as the pseudowire payload is irrelevant as far as the pseudowire is concerned; if anything, that value would only be relevant when quantifying the faithfulness of the emulation.

Data packet sequencing may be enabled for Ethernet pseudowires, and the sequencing mechanisms described in RFC 3931 must be used to signal sequencing support.

With L2TPv3 as the tunneling protocol, the IP packet resulting from the encapsulation is M plus N bytes longer than the Ethernet frame without the preamble or frame check sequence, where M is the length of the IP header along with associated options and extension headers. The value of N depends on the L2TP session header: the Flags, Version and Reserved fields take 4 octets for L2TPv3 over UDP only, the Session ID takes 4 octets, the Cookie Size is 0, 4 or 8 octets, and the L2-Specific Sublayer is 0 or 4 octets when sequencing is used. The range for N in octets is therefore 4 to 16 for L2TPv3 data messages over IP, and 16 to 28 for L2TPv3 data messages over UDP, and N does not include the IP header.

The whole frame goes into the tunnel in one piece, minus the preamble and the error check at the end of the frame. The tunnel adds a header of between 4 and 16 octets over IP, or 16 to 28 over UDP, on top of the IP header.

WHERE THE ETHERNET FRAME TRAVELS
  1. Ethernet frameThe whole frame, without preamble or frame check sequence.
  2. L2TPv3 session headerSession ID, cookie and optional sequencing, 4 to 16 octets over IP.
  3. IP headerLength M, with options and extension headers.
  4. Packet switched networkCarries the packets between the two ends.

§4Applicability and Limits of the Emulation

The Ethernet pseudowire emulation allows a service provider to offer a port-to-port based Ethernet service across an IP packet switched network, while the Ethernet VLAN pseudowire emulation allows a VLAN-to-VLAN based Ethernet service across the same network. The Ethernet pseudowire connects two Ethernet port attachment circuits, and the Ethernet VLAN pseudowire connects two Ethernet VLAN attachment circuits, both supporting bi-directional transport of variable-length Ethernet frames.

The ingress endpoint strips the preamble and frame check sequence from the frame and transports the frame in its entirety across the pseudowire, regardless of the presence of a VLAN tag. The egress endpoint receives the frame from the pseudowire and regenerates the preamble and frame check sequence before forwarding it to the attached remote system. Since the frame check sequence is not transported across either kind of pseudowire, payload integrity transparency may be lost. To achieve payload integrity transparency on Ethernet or Ethernet VLAN pseudowires using L2TP over IP or L2TP over UDP/IP, the L2TPv3 session can use IPsec.

The pseudowire only supports a homogeneous Ethernet frame type across its length, so both ends must be either tagged or untagged. The maximum frame size that can be supported is limited by the packet switched network MTU minus the L2TPv3 header size, unless fragmentation and reassembly is used. The packet switched network may reorder, duplicate or silently drop packets, so sequencing may be enabled for some or all packets to detect lost, duplicate or out-of-order packets on a per-session basis.

The faithfulness of the emulation may be increased by leveraging quality-of-service features of the endpoints and the underlying network. For 802.1Q VLAN transport, the ingress endpoint may consider the user priority field of the VLAN tag for traffic classification and quality-of-service treatments, such as determining the Differentiated Services field of the encapsulating IP header, and the egress endpoint may consider that field when rewriting the user priority field or queuing the frame. The mapping between the user priority field and the IP header field, and the quality-of-service model deployed, are application specific and outside the scope of this document.

The emulation is not perfect. The error check at the end of the frame is not carried, so the far end regenerates it and a corrupted frame is not detected. The largest frame that fits is the network's packet size limit minus the tunnel header, unless fragmentation is used.

THE TWO ETHERNET PSEUDOWIRE TYPES
PropertyEthernet PWEthernet VLAN PW
Pseudowire type value0x00050x0004
ConnectsTwo Ethernet port attachment circuitsTwo Ethernet VLAN attachment circuits
Far end of the pseudowireSends the frame out unmodifiedMay rewrite the VLAN tag
Both endsEither untagged or taggedEither untagged or tagged

§5Congestion Control

The packet switched network carrying the pseudowire may be subject to congestion, with congestion characteristics depending on the network type, architecture, configuration and loading. During congestion the network may exhibit packet loss that will impact the service carried by the Ethernet or Ethernet VLAN pseudowire. Because these pseudowires carry a variety of services across the network, including TCP/IP, they may or may not behave in a TCP-friendly manner and may consume more than their fair share.

Whenever possible, Ethernet and Ethernet VLAN pseudowires should be run over traffic-engineered packet switched networks that provide bandwidth allocation and admission control. IntServ-enabled domains providing the Guaranteed Service, or DiffServ-enabled domains using EF, expedited forwarding, are examples of such networks. These will minimize loss and delay while providing some degree of isolation of the pseudowire's effects from neighbouring streams.

The endpoints should monitor for congestion, either by using explicit congestion notification or by measuring packet loss, in order to ensure that the service using the pseudowire may be maintained. When severe congestion is detected, for example when sequencing is enabled and the packet loss is found to be higher than a threshold, the pseudowire should be halted by tearing down the L2TP session with a Call Disconnect Notify message. The pseudowire may be restarted by manual intervention or by automatic means after an appropriate waiting time. The thresholds and time periods for shutdown and possible automatic recovery need to be carefully configured, to avoid loss of service due to temporary congestion and to prevent oscillation between the congested and halted states.

The specification offers no congestion control of its own and is not TCP friendly. Future work on pseudowire congestion control was being studied by the PWE3 working group and was to provide congestion control for all pseudowire types including Ethernet and Ethernet VLAN.

This specification does nothing to keep the tunnel from crowding the network. The advice is to run these tunnels on a network that reserves capacity, and to watch for heavy loss, because a tunnel that is badly congested hurts every service inside it.

HOW TO DEAL WITH CONGESTION ON A PSEUDOWIRE
  • Use a reserved networkRun the pseudowire over a traffic-engineered network that provides bandwidth allocation and admission control.
  • Watch for lossMonitor for congestion with explicit congestion notification or by measuring packet loss.
  • Stop the tunnel if it is severeWhen loss passes the threshold, tear the session down with a Call Disconnect Notify message.
  • Choose the thresholds carefullyBadly chosen thresholds lose service during brief congestion or make the tunnel flap on and off.
  • No congestion control hereThis specification offers none and is not TCP friendly; other work was to cover all pseudowire types.

§6Security Considerations

The RFC states the position in one line: Ethernet over L2TPv3 is subject to all of the general security considerations outlined in RFC 3931. It adds nothing of its own. The applicability section adds one related point, that because the frame check sequence is not transported across the pseudowire, payload integrity transparency may be lost, and that IPsec can be used on the L2TPv3 session to regain it.

Nothing new is added here. The general L2TPv3 security rules apply, and the tunnel can add IPsec if the missing frame error check matters.

§9References