RFC 5994
Application of Ethernet Pseudowires to MPLS Transport Networks
RFC 5994 π Application of Ethernet Pseudowires to MPLS Transport Networks
okay bestie, here's the title block tea ββ¨
- RFC number: 5994
- Title: Application of Ethernet Pseudowires to MPLS Transport Networks
- Stream: Internet Engineering Task Force (IETF)
- Authors: S. Bryant, Ed. (editor), M. Morrow, G. Swallow (Cisco Systems), R. Cherukuri (Juniper Networks), T. Nadeau (Huawei Technologies), N. Harrison (BT), B. Niven-Jenkins (Velocix)
- Category: Informational
- ISSN: 2070-1721
- Date: October 2010
- Obsoletes / Updates: none listed on this one π ββοΈ
Abstract π¦
Ethernet pseudowires are everywhere now π They're widely deployed to carry Ethernet services as packets, and those services then carry a bunch of client networks, like IP and MPLS. This document uses the procedures already defined in the existing IETF specs for Ethernet pseudowires carried over MPLS networks.
Lots of the requirements for these services are also recognized by the MPLS transport profile (MPLS-TP) design effort, which is a joint project between the IETF and ITU-T. The solution here doesn't cover every MPLS-TP requirement, but it gives you a viable packet transport service using tools that already exist π
This document also shows that existing MPLS techniques are a solid basis for designing a fully-featured packet transport solution that covers all the MPLS-TP requirements. It's giving foundation ποΈβ¨
Status of This Memo πΈ
This document is not an Internet Standards Track specification. It's published for informational purposes, so no standards vibes here, just info π
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not every document approved by the IESG is a candidate for any level of Internet Standard. See Section 2 of RFC 5741 for that.
Want the current status, any errata, or a way to give feedback? Check http://www.rfc-editor.org/info/rfc5994 π«Ά
Copyright Notice π
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, because they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they're provided without warranty as described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English ππ
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. PWE3 Configuration . . . . . . . . . . . . . . . . . . . . . . 5
3. Operations, Administration, and Maintenance (OAM) . . . . . . 5
3.1. VCCV Profile 1: BFD without IP/UDP Headers . . . . . . . . 6
3.2. VCCV Profile 2: BFD with IP/UDP Headers . . . . . . . . . 6
4. MPLS Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. External Configuration . . . . . . . . . . . . . . . . . . 6
4.2. Control Plane Configuration . . . . . . . . . . . . . . . 7
5. Congestion Considerations . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1. Normative References . . . . . . . . . . . . . . . . . . . 9
8.2. Informative References . . . . . . . . . . . . . . . . . . 10
1. Introduction β¨
Ethernet pseudowires are widely deployed to carry Ethernet services as packets. Those services then carry a variety of client networks, like IP and MPLS. This document uses the procedures already defined in the existing IETF specs for Ethernet pseudowires carried over MPLS networks π
Lots of the requirements for these services are also recognized by the MPLS transport profile (MPLS-TP) design effort, which the IETF and ITU-T formed together [RFC5654]. For example, there's the ability to operate solely with network management control, the ability to use Operations, Administration, and Maintenance (OAM) that doesn't rely on IP forwarding, and the ability to provide light-weight proactive connection verification (CV) functionality. Iconic behaviour, honestly π¦
The solution in this document doesn't address all of the MPLS-TP requirements, but it provides a viable form of packet transport service using tools that already exist. Not everything, but enough to be genuinely useful π
The key purpose of this document is to show that there's an existing IETF mechanism with known implementations that satisfies the requirements the operator community has posed. It's recognized that a more efficient method of satisfying the requirements is possible, and the IETF expects improved solutions to be proposed in the future as part of the MPLS-TP effort. The solution here isn't meant to detract from MPLS-TP at all π«Ά Instead, it legitimizes that work by showing there's real demand from networks that are already deployed, and by indicating that the MPLS-TP solutions work is built on sound foundations. Main character energy for the whole MPLS-TP effort π
A lot of the notation used in this document is defined in [RFC3985], so go there for the definitions π
The architecture required for this mechanism is illustrated in Figure 1. Here's the picture, bestie π§
+----------------------------------------------------------------+
| |
| IP/MPLS PSN (PHP may be enabled) |
| (client) |
| |
| +---------------------------+ |
| | | |
| | MPLS PSN (No PHP) | |
| | (server) | |
| | | |
| CE1 |PE1 PE2| CE2 |
| +-----+ +-----+ +-----+ +-----+ |
| | | | | | | | | | | | | | | | | |
| | | | +------+ | | | | | | +------+ | | | |
| | | | | 802.3| | | | | | | | 802.3| | | | |
| +-----+ +-----+ +-----+ +-----+ |
| | | | | | | | | |
| | | +-- ---------------------- -+ | | |
+----- --- -------- -- ---------------------- - -------- --- ----+
| | | |<--MPLS LSP (no PHP)->| | | |
| | | | (server) | | | |
| | | | | |
| | |<------------PW----------->| | |
| | | (server) | | |
| | | |
| |<-------------802.3 (Ethernet)-------------->| |
| | (client) | |
| |
|<---------IP/MPLS LSP (PHP may be supported)-------->|
| (client) |
Figure 1: Application Ethernet over MPLS PW to MPLS Transport
Networks
An 802.3 (Ethernet) circuit is set up between CE1 and CE2. This circuit may be used to concurrently transport MPLS packets as well as IPv4 and IPv6 packets. The MPLS packets may carry IPv4, IPV6, or pseudowire payloads, and Penultimate Hop Popping (PHP) may be used. For clarity, these paths are labeled as the client in Figure 1 πΈ
An Ethernet pseudowire (PW) is provisioned between PE1 and PE2, and it's used to carry the Ethernet from PE1 to PE2. The Ethernet PW is carried over an MPLS Packet Switched Network (PSN), but this PSN MUST NOT be configured with PHP. For clarity, this Ethernet PW and the MPLS PSN are labeled as the server in Figure 1. For the rest of this document, the server network is called a transport network π¦
1.1. Requirements Language
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 [RFC2119] πβ¨
2. PWE3 Configuration π
The PWE3 encapsulation this specification uses to satisfy the transport requirement is Ethernet [RFC4448]. It's used in "raw" mode π
The Control Word MUST be used. The sequence number MUST be zero. Iykyk π
The use of the Pseudowire Setup and Maintenance Label Distribution Protocol [RFC4447] is not required by the profile of the PWE3 Ethernet pseudowire functionality defined in this document. So you can skip it for this profile π
The pseudowire label is statically provisioned π₯
3. Operations, Administration, and Maintenance (OAM) π
okay so bestie, this is where the monitoring drama lives π Within a connection, traffic units sent from the single source are supposed to stay inside the connection when everything is defect-free β¨ But during misconnected defects, we can't assume the connection is constraining anything anymore π Traffic units (and by implication OAM packets too) can 'leak' out one direction, outside the connection. So during a misconnected state, you can't really rely on OAM, since OAM depends on a request/response mechanism π That's why OAM should be treated with caution if you're using it for diagnostics, no cap π
Also, when you're implementing ECMP with MPLS, using the label stack as the path selector so that OAM and data are NOT on a co-path SHOULD be avoided π€οΈ Why? Because a failure in the data path won't show up in the OAM path, and that's giving false confidence π¬ OAM carried within the data path below the PW label (like Virtual Circuit Connectivity Verification, or VCCV) is NOT vulnerable to that failure mode π«Ά So the OAM mechanism follows [RFC5085], which uses Bidirectional Forwarding Detection (BFD) [RFC5880] for connection verification (CV) π¦ The BFD-as-CV method in VCCV is described in [RFC5885]. One of the VCCV profiles in Section 3.1 or Section 3.2 MUST be used π Once a VCCV control channel is provisioned and the PW's operational status is UP, no other profile should be used until the PW's operational status is set to DOWN πΈ
3.1. VCCV Profile 1: BFD without IP/UDP Headers π
When PE1 and PE2 are not IP capable, or they haven't been configured with IP addresses, the following VCCV mechanism SHOULD be used β¨
The connection verification method VCCV uses is BFD with diagnostics, as defined in [RFC5885] π
[RFC5085] specifies that the first nibble is set to 0x1 to indicate a channel associated with a pseudowire [RFC4385] π§
The Version and the Reserved fields are set to zero, and the Channel Type is set to 0x7 to indicate that the payload is BFD without IP/UDP headers, as defined in [RFC5885] π
3.2. VCCV Profile 2: BFD with IP/UDP Headers π
When PE1 and PE2 are IP capable and have been configured with IP addresses, the following VCCV mechanism MAY be used π¦
The connection verification method VCCV uses is BFD with diagnostics, as defined in [RFC5885] π
[RFC5085] specifies that the first nibble is set to 0x1 to indicate a channel associated with a pseudowire [RFC4385] β
The Version and the Reserved fields are set to 0, and the Channel Type is set to 0x21 for IPv4 and 0x56 for IPv6 payloads [RFC4446] π«§
4. MPLS Layer πͺ
The architecture of MPLS-enabled networks is described in [RFC3031] π This section covers a subset of the functionality of the MPLS-enabled PSN, and there are two cases to think about:
- The case where external configuration is used.
- The case where a control plane is available.
If you want a control plane, it may be based on Generalized Multi-Protocol Label Switching (GMPLS) [RFC3945] π
4.1. External Configuration π οΈ
External provisioning isn't ruled out by the current MPLS specifications π It's just explicitly described in this specification, to address the requirements the ITU specified in [RFC5654], so it works for transport environments π
The MPLS encapsulation is specified in [RFC3032] π§ All MPLS labels used in the server layer (Figure 1) MUST be statically provisioned π Labels may be selected from either the per-platform or the per-interface label space π―
All transport Label Switched Paths (LSPs) used by the PWs described in Section 2 MUST support both unidirectional and bidirectional point-to-point connections π«
The transport LSPs SHOULD support unidirectional point-to-multipoint connections π·
The forward and backward directions of a bidirectional connection SHOULD follow a symmetrically routed (reciprocal) LSP in the server network π
Equal Cost Multipath (ECMP) load balancing MUST NOT be configured on the transport LSPs used by the PWs described in Section 2 π«
Merging Label Switched Paths is prohibited, so it MUST NOT be configured for the transport LSPs used by the PWs described in Section 2 π ββοΈ
Penultimate hop popping by the transport Label Switched Routers (LSRs) MUST be disabled on transport LSPs π«
Both EXP-Inferred-PSC LSPs (E-LSP) and Label-Only-Inferred-PSC LSPs (L-LSP) MUST be supported, as defined in [RFC3270] π
For the MPLS EXP field [RFC3270] [RFC5462], only the pipe and short-pipe models are supported π
4.2. Control Plane Configuration π§
Here we describe the control plane configuration when [RFC3209], or the bidirectional support in GMPLS ([RFC3471] and [RFC3473]), is used to configure the transport MPLS PSN π― When these protocols provide the control plane, the following are automatically provided:
- There is no label merging unless it is deliberately enabled to support Fast Re-route (FRR) [RFC3209] β¨
- A single path is provided end-to-end (there is no ECMP) π€οΈ
- Label Switched Paths may be unidirectional or bidirectional as required π¦
Additionally, the following configuration restrictions, required to support external configuration, MUST be applied:
- Penultimate hop popping [RFC3031] by the LSRs MUST be disabled on LSPs providing PWE3 transport network functionality π«
- Both E-LSP and L-LSP MUST be supported, as defined in [RFC3270] π
- The MPLS EXP [RFC5462] field is supported according to [RFC3270] only when the pipe and short-pipe models are utilized πΈ
5. Congestion Considerations π
This document describes a method of using the existing PWE3 Ethernet pseudowire [RFC4448] to solve a particular network application π§© The congestion considerations associated with that pseudowire, and all subsequent work on congestion considerations for Ethernet pseudowires, apply to this RFC too π
6. Security Considerations π
π¨ Serious security time, bestie! Read this part carefully. π¨
This RFC describes the use of existing IETF Proposed Standards to solve a network problem, and raises no new security issues β
The PWE3 security considerations are described in [RFC3985], and the Ethernet pseudowire security considerations are in [RFC4448] π
The Ethernet pseudowire is transported on an MPLS PSN, so the security of the pseudowire itself is only as good as the security of the MPLS PSN π¬ The server MPLS PSN can be secured by various methods, as described in [RFC3031] π‘οΈ
The use of static configuration exposes an MPLS PSN to a different set of security risks than a PSN using dynamic routing π If a path is misconfigured in a statically configured network, the result can be a persistent black hole or, much worse, a persistent forwarding loop π On the other hand, most of the distributed components are less complex π§© This is offset, however, by the need to provide fail-over and redundancy in the management and configuration system, and in the communications paths between those central systems and the LSRs π«
Security achieved by access control of media access control (MAC) addresses, and the security of the client layers, is out of the scope of this document π
7. Acknowledgements π«Ά
The authors wish to thank Matthew Bocci, John Drake, Adrian Farrel, Andy Malis, and Yaakov Stein for their review and proposed enhancements to the text π
8. References π
8.1. Normative References π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031, January 2001.
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
Encoding", RFC 3032, January 2001.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, December 2001.
[RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
Protocol Label Switching (MPLS) Support of Differentiated
Services", RFC 3270, May 2002.
[RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Functional Description", RFC 3471,
January 2003.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Resource ReserVation Protocol-Traffic
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.
[RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching
(GMPLS) Architecture", RFC 3945, October 2004.
[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
"Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Use over an MPLS PSN", RFC 4385, February 2006.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge
Emulation (PWE3)", BCP 116, RFC 4446, April 2006.
[RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G.
Heron, "Pseudowire Setup and Maintenance Using the Label
Distribution Protocol (LDP)", RFC 4447, April 2006.
[RFC4448] Martini, L., Rosen, E., El-Aawar, N., and G. Heron,
"Encapsulation Methods for Transport of Ethernet over MPLS
Networks", RFC 4448, April 2006.
[RFC5085] Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit
Connectivity Verification (VCCV): A Control Channel for
Pseudowires", RFC 5085, December 2007.
[RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching
(MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
Class" Field", RFC 5462, February 2009.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, June 2010.
[RFC5885] Nadeau, T. and C. Pignataro, "Bidirectional Forwarding
Detection (BFD) for the Pseudowire Virtual Circuit
Connectivity Verification (VCCV)", RFC 5885, June 2010.
8.2. Informative References π‘
[RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-
Edge (PWE3) Architecture", RFC 3985, March 2005.
[RFC5654] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N.,
and S. Ueno, "Requirements of an MPLS Transport Profile",
RFC 5654, September 2009.
Authors' Addresses π¦
Stewart Bryant (editor)
Cisco Systems
250, Longwater, Green Park
Reading RG2 6GB
UK
EMail: stbryant@cisco.com
Monique Morrow
Cisco Systems
Glatt-com
CH-8301 Glattzentrum
Switzerland
EMail: mmorrow@cisco.com
George Swallow
Cisco Systems
1414 Massachusetts Ave.
Boxborough, MA 01719
EMail: swallow@cisco.com
Rao Cherukuri
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
EMail: cherukuri@juniper.net
Thomas D. Nadeau
Huawei Technologies
Central Expressway
Santa Clara, CA 95050
EMail: thomas.nadeau@huawei.com
Neil Harrison
BT
EMail: neil.2.harrison@bt.com
Ben Niven-Jenkins
Velocix
326 Science Park
Milton Road, Cambridge CB4 0WG
UK
EMail: ben@niven-jenkins.co.uk
That's the whole RFC, bestie! ππ You're now basically a pseudowire expert β¨π
π¦ where this page comes from
- ietf: rfc5994 2010-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms