RFC 7041
Extensions to the Virtual Private LAN Service (VPLS) Provider Edge (PE) Model for Provider Backbone Bridging
Extensions to the Virtual Private LAN Service (VPLS) Provider Edge (PE) Model for Provider Backbone Bridging π
Okay bestie, this is RFC 7041, and it's giving "PBB meets VPLS, and they're getting along." π
Here's the title block, all in one place:
- RFC number: 7041 π
- Authors (all listed as Editors): F. Balus (Alcatel-Lucent), A. Sajassi (Cisco), and N. Bitar (Verizon) β¨
- Category: Informational, so it's not a Standards Track spec π¦
- Date: November 2013 πΈ
- ISSN: 2070-1721
- Obsoletes / Updates: The header doesn't list either one, so this doc doesn't obsolete or update anything π«Ά
Internet Engineering Task Force (IETF) F. Balus, Ed.
Request for Comments: 7041 Alcatel-Lucent
Category: Informational A. Sajassi, Ed.
ISSN: 2070-1721 Cisco
N. Bitar, Ed.
Verizon
November 2013
Abstract β¨
Okay so the IEEE 802.1 Provider Backbone Bridges (PBBs) spec defines an architecture and bridge protocols for connecting multiple Provider Bridged Networks (PBNs) together π. PBB was defined by IEEE as a connectionless technology built on multipoint VLAN tunnels, and it can scale way better than Provider Bridges (PBs) when you count customer Media Access Control addresses and the number of service instances it can hold π.
Then there's the Virtual Private LAN Service (VPLS), which extends Ethernet LAN services over a routed MPLS backbone using MPLS tunneling. The big flex is that it does all this without running the Rapid Spanning Tree Protocol (RSTP) or the Multiple Spanning Tree Protocol (MSTP) across the backbone π . Because of that, VPLS has been deployed at large scale in service provider networks π₯.
This document talks about the extensions to the VPLS Provider Edge (PE) model that are needed to bring in the useful PBB components, while keeping the service provider fit of the original model intact π.
Status of This Memo π
Not gonna lie, this part is a bit formal, but here's the tea: this doc is not an Internet Standards Track spec. It's published for informational purposes π§.
It's still a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) π«Ά. Not every IESG-approved doc is eligible for any level of Internet Standard, so check Section 2 of RFC 5741 if you're curious π.
For the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc7041 π.
Copyright Notice πΈ
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved π.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which are at http://trustee.ietf.org/license-info and were in effect on the publication date. Please read them carefully, because they explain your rights and restrictions for this document β¨. Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes π.
Table of Contents ποΈ
1. Introduction ....................................................3
2. General Terminology .............................................4
3. PE Reference Model ..............................................6
4. Packet Walkthrough ..............................................9
5. Control Plane ..................................................11
6. Efficient Packet Replication in PBB VPLS .......................12
7. PBB VPLS OAM ...................................................12
8. Security Considerations ........................................12
9. References .....................................................13
9.1. Normative References ......................................13
9.2. Informative References ....................................13
10. Contributors ..................................................14
11. Acknowledgments ...............................................15
1. Introduction π¦
The IEEE 802.1 Provider Backbone Bridges spec, cited as [PBB], sets up an architecture and bridge protocols for connecting multiple Provider Bridged Networks (PBNs) π·. PBB can scale better than Provider Bridges [PB] when you look at the number of customer Media Access Control (MAC) addresses and the number of service instances it supports. The way it gets that scale is with a data-plane hierarchy and new addressing, both designed for Provider Backbone Networks π . There are also a bunch of Ethernet control-plane protocols that could run as the core control plane for loop avoidance and load balancing with PBB. Those include the Rapid Spanning Tree Protocol (RSTP), the Multiple Spanning Tree Protocol (MSTP), and Shortest Path Bridging (SPB). This document doesn't cover whether those control protocols are applicable, though, since that's out of scope π.
VPLS gives you a way to extend Ethernet LAN services over a routed MPLS backbone using MPLS tunneling. It does this without needing a native Ethernet control-plane protocol running across the backbone π«Ά. VPLS also uses the structured FEC 129 from [RFC4762], which allows inter-domain and inter-provider connectivity and enables auto-discovery across the network. The result is better service delivery options π.
A hierarchical VPLS solution was introduced in [RFC4761] and [RFC4762] to get better scalability and more efficient packet replication π. It works by cutting down the number of Provider Edge (PE) devices in a full-mesh topology and creating two tiers of PEs. A User-facing PE (U-PE) aggregates all the Customer Edge (CE) devices in a lower-tier access network, then connects to the Network-facing PE (N-PE) device(s) around the core domain π. There's a catch, though. In VPLS, MAC address learning and forwarding are based on Customer MAC addresses (C-MACs). As the number of VPLS instances grows, and with them the C-MACs, that creates scalability issues on the N-PE devices π. There's also the pseudowire (PW) problem: PWs are kept on a "per customer service instance" basis. That means the number of PWs needed at N-PE devices is the number of customer service instances multiplied by the number of N-PE devices in the full-mesh set. As customer service instances grow, that can get messy for PW manageability and troubleshooting π.
This document shows how PBB can be combined with VPLS to get useful PBB capabilities while still avoiding MSTP in the backbone π§. The combined solution, called PBB-VPLS in this document, scales better in terms of the number of service instances, PWs, and C-MACs that the VPLS PEs have to handle β¨.
Quick roadmap: Section 2 is the terminology reference, and Section 3 covers the reference model for PBB VPLS PEs. Section 4 walks through a packet π. Sections 5 through 7 cover how PBB-VPLS uses existing VPLS mechanisms, namely the control plane, efficient packet replication, and Operations, Administration, and Maintenance (OAM) π«Ά.
2. General Terminology π
Here's a quick glossary. Most of the terms come from [PBB], [PB], [RFC4664], and [RFC4026], and any terms specific to this memo show up later in the sections where they matter π .
- B-BEB: A backbone edge bridge sitting at the edge of a provider backbone bridged network. It has a B-component that bridges in the provider backbone based on Backbone MAC (B-MAC) and B-tag info πΈ.
- B-component: A bridging component in backbone edge and core bridges. It bridges in the backbone space, meaning B-MAC addresses and B-VLAN π¦.
- B-MAC: The backbone source or destination MAC address fields defined in the PBB provider MAC encapsulation header π.
- B-tag: A field in the PBB provider MAC encapsulation header that carries the backbone VLAN identifier info. Its format is the same as an 802.1ad S-tag field π.
- B-Tagged Service Interface: The interface between a BEB and a Backbone Core Bridge (BCB) in a provider backbone bridged network. Frames going through it contain a B-tag field π§.
- B-VID: The specific VLAN identifier carried inside a B-tag π.
- B-VLAN: The backbone VLAN tied to a B-component π.
- B-PW: The pseudowire used to interconnect B-component instances π.
- BEB: A backbone edge bridge at the edge of a provider backbone bridged network. It can contain an I-component, a B-component, or both π«Ά.
- C-VID: The VLAN identifier in a customer VLAN β¨.
- DA: Destination Address π¬.
- I-BEB: A backbone edge bridge at the edge of a provider backbone bridged network. It has an I-component for bridging in the customer space, meaning customer MAC addresses and service VLAN IDs π .
- I-component: A bridging component in a backbone edge bridge that bridges in the customer space. That's customer MAC addresses and service VLAN identifier info (S-VLAN) π·.
- I-SID: The 24-bit service instance field carried inside the I-tag. It defines the service instance the frame should be "mapped to" π¦.
- I-tag: A field in the PBB provider MAC encapsulation header that carries the service instance info (I-SID) for the frame π.
- I-Tagged Service Interface: The interface between the I-components and B-components inside an IB-BEB, or between two B-BEBs. Frames going through it contain an I-tag field π.
- IB-BEB: A backbone edge bridge at the edge of a provider backbone bridged network. It has an I-component for the customer space (customer MAC addresses and service VLAN IDs) and a B-component for the provider's backbone space (B-MAC and B-tag) π§.
- PBs: Provider Bridges. This is the IEEE amendment (802.1ad) to 802.1Q for "QinQ" encapsulation and bridging of Ethernet frames [PB] π.
- PBBs: Provider Backbone Bridges. This is the IEEE amendment (802.1ah) to 802.1Q for "MAC tunneling" encapsulation and bridging of frames across a provider network [PBB] π.
- PBBN: Provider Backbone Bridged Network π.
- PBN: Provider Bridged Network. A network that uses 802.1ad (QinQ) technology π«Ά.
- PSN: Packet-Switched Network β¨.
- S-tag: A field in the 802.1ad QinQ encapsulation header that carries the service VLAN identifier info (S-VLAN) π .
- S-Tagged Service Interface: The interface between the customer (CE) and the I-BEB or IB-BEB components. Frames going through it contain an S-tag field πΈ.
- S-VLAN: The specific service VLAN identifier carried inside an S-tag π¦.
- SA: Source Address π¬.
- S-VID: The VLAN identifier in a service VLAN π.
- Tag: In Ethernet, a header that comes right after the Source MAC Address field of the frame π.
3. PE Reference Model π β¨
okay so before we get into the PE reference model for PBB-VPLS, we need a quick primer on the Provider Backbone Bridge (PBB) π¦ the internal parts of a PBB bridge module are shown in Figure 1, and trust me, it's giving organized π
+-------------------------------+
| PBB Bridge Model |
| |
+---+ | +------+ +-----------+ |
|CE |---------|I-Comp|------| | |
+---+ | | | | |--------
| +------+ | | |
| o | B-Comp | |
| o | |--------
| o | | |
+---+ | +------+ | | |
|CE |---------|I-Comp|------| |--------
+---+ ^ | | | ^ | | | ^
| | +------+ | +-----------+ | |
| +------------|------------------+ |
| | |
| | |
S-tagged I-tagged B-tagged
Service Interface Service I/F Service I/F
(I/F)
Figure 1: PBB Bridge Model
Provider Backbone Bridges (PBBs) [PBB] are a scalable way for service providers to build big bridged networks π PBB is mainly focused on two things that were holding provider Ethernet bridged networks back:
- MAC-address table scalability π
- Service instance scalability π
To deal with those two limitations, PBB brings in a hierarchical network architecture with new frame formats that build on what Provider Bridges (PBs) already did π§ In the PBBN architecture, customer networks (using PBs) get aggregated into PBBNs, which use the IEEE PBB frame format. The frame format uses a MAC tunneling encapsulation scheme, so customer Ethernet frames get tunneled inside provider Ethernet frames across the PBBN π«Ά A VLAN identifier (B-VID) segregates the backbone into broadcast domains, and a new 24-bit service identifier (I-SID) associates a given customer MAC frame with a provider service instance (also called the service delimiter) π₯ Something to note: in [PBB] there is a clear split between provider service instances (represented by I-SIDs) and provider VLANs (represented by B-VIDs), which was NOT the case for PBs π
Okay so as Figure 1 shows, a PBB bridge can have one B-component and one or more I-components π Simply put, the B-component does bridging in the provider space (B-MAC, B-VLAN), and the I-component does bridging in the customer space (C-MAC, S-VLAN) π¦ The customer frame gets encapsulated with the provider backbone header (B-MAC, B-tag, I-tag) first, then bridging happens in the provider backbone space (B-MAC, B-VLAN) across the network until the frame reaches the destination BEB, where it gets decapsulated and handed to the CE π If a PBB bridge has both I-components and B-components, it's called an IB-BEB. If it only has B-components or only I-components, it's called a B-BEB or an I-BEB, respectively πΈ The interface between an I-BEB or IB-BEB and a CE is an S-tagged service interface, and the interface between an I-BEB and a B-BEB (or between two B-BEBs) is an I-tagged service interface π The interface between a B-BEB or IB-BEB and a Backbone Core Bridge (BCB) is a B-tagged service interface β¨
To fit the PBB components in, the VPLS model from [RFC4664] gets extended, as shown in Figure 2 π
+----------------------------------------+
| PBB-VPLS-Capable PE Model |
| +---------------+ +------+ |
| | | |VPLS-1|------------
| | |==========|Fwdr |------------ PWs
+--+ | | Bridge ------------ |------------
|CE|-|-- | | +------+ |
+--+ | | Module | o |
| | | o |
| | (PBB | o |
| | bridge) | o |
| | | o |
+--+ | | | +------+ |
|CE|-|-- | ------------VPLS-n|-------------
+--+ | | |==========| Fwdr |------------- PWs
| | | ^ | |-------------
| +---------------+ | +------+ |
| | |
+-------------------------|--------------+
LAN Emulation Interface
Figure 2: PBB-VPLS-Capable PE Model
The PBB module from the [PBB] spec gets expanded so it can interact with VPLS Forwarders π VPLS Forwarders are used in [RFC4762] to build a PW mesh or a set of spoke PWs (Hierarchical VPLS (H-VPLS) topologies) π¦ The VPLS instances show up externally in the MPLS context as a Layer 2 Forwarding Equivalence Class (L2FEC) that binds related VPLS instances together π VPLS Signaling advertises the mapping between the L2FEC and the PW labels, and it implicitly ties the VPLS bridging instance to the VPLS Forwarders [RFC4762] β¨
In the PBB-VPLS case, the backbone service instance in the B-component space (B-VID) is represented in the backbone MPLS network using a VPLS instance π Same as with regular VPLS, the existing signaling procedures are used to generate, through PW labels, the linkage between the VPLS Forwarders and the backbone service instance π«Ά
Similarly to regular H-VPLS, another L2FEC may be used to identify the customer service instance in the I-component space π§ This will be useful, for example, to address the PBB-VPLS N-PE case where H-VPLS spokes connect the PBB-VPLS N-PE to a VPLS U-PE π₯
It is important to note that PBB-VPLS inherits the PBB service aggregation capability, where multiple customer service instances may be mapped to a backbone service instance π In the PBB-VPLS case, this means multiple customer VPNs can be carried over a single VPLS instance corresponding to the backbone service instance, which substantially reduces resource consumption in the VPLS core π
4. Packet Walkthrough β¨
okay so, the PBB bridge module already does the forwarding, right? π So the PE reference model from Figure 2 can be expanded like in Figure 3. β¨
Also, the B-component connects through a bunch of virtual interfaces to the PW Forwarder module π¦. The PW Forwarder is defined in [RFC3985]. In this setup it just maps PWs to the virtual interface on the B-component π, and it doesn't need any MAC lookup. no cap, it's so clean π
This simplified model takes full advantage of the PBB module π, which is where all the [PBB] stuff happens: C-MAC/B-MAC forwarding and PBB encapsulation/decapsulation. So we don't have to spec any of that here π. Literally the best part.
Figure 3 only shows the PWs on the core-facing side, because text-based graphics are a lot π. But with MPLS access and spoke PWs, the PE reference model just gets extended with the same PW Forwarder function on the access-facing side. The access-side PW Forwarder (Fwdr) isn't drawn, to avoid clutter π§, and we don't lose any generality, so it's all good πΈ.
+------------------------------------------------+
| PBB-VPLS-Capable PE Model |
| +---------------+ +------+ |
| | | | | |
| +------+ | ======== ---------
+--+ | | | | | | --------- PWs
|CE|-|-- | I- ==== ======== PW ---------
+--+ | | Comp | | | | Fwdr |
| +------+ | | | --------- PWs
| | B-Comp ======== ---------
| | | ^ | | |
| +------+ | | | +------+ |
+--+ | | I- | | OOOOOOOOOOOOOOOOOOOOOOOO B-tag
|CE|-|-- | Comp ==== | | | I/Fs
+--+ | | |^ | OOOOOOOOOOOOOOOOOOOOOOOO
| +------+| | | | |
| | +---------------+ | |
| | | |
+-----------|--------------------|---------------+
| |
Internal I-tag I/Fs Virtual Interfaces (I/Fs)
+---------------+ +--------------+
| C-MAC DA,SA | | PSN Header |
|---------------| |--------------|
| S-VID, C-VID | | PW Label |
|---------------| |--------------|
| Payload | | B-MAC DA,SA |
+---------------+ |--------------|
| PBB I-tag |
|--------------|
| C-MAC DA,SA |
|--------------|
| S-VID, C-VID |
|--------------|
| Payload |
+--------------+
Figure 3: Packet Walkthrough for PBB VPLS PE
okay now let's walk through the data plane π«Ά. Say a PBB packet shows up over a Backbone pseudowire (B-PW). The PSN header carries the PBB encapsulated frame across the backbone, and the PW label points to the related Backbone Service Instance (B-SI), same as regular VPLS π. So the PW label is basically doing the job the backbone VLAN identifier does on the PBB B-tagged interface. iykyk π
There's an example of the PBB packet for the regular Ethernet PW on the right side of Figure 3 β¨. The MPLS packet comes in from the MPLS core to the PBB-VPLS PE. The PW Forwarder uses the PW label to find the virtual interface-id on the B-component π¦. Then it strips the PSN and PW encapsulation and hands the packet to the B-component. From there, processing and forwarding follow [PBB], where bridging is based on the Backbone MAC (B-MAC) Destination Address (DA) π₯. This ends in one of three outcomes:
- The packet goes out a physical interface on the B-component. In this case, the PBB Ethernet frame is forwarded as is π.
- The packet goes out a virtual interface on the B-component. This isn't typical π, because there's a single split-horizon group within a VPLS instance. But if there's more than one split-horizon group, then it happens. In this case, the PW Forwarder module adds the PSN and PW labels before sending the packet out.
- The packet goes toward the access side through one of the I-tagged service interfaces connected to the corresponding I-components π. Here, the I-component removes the B-MAC header according to [PBB] and bridges the packet using the C-MAC DA.
If the destination B-MAC is unknown, or it's a Group MAC address (multicast or broadcast), then the B-component floods the packet to one or more of the three destinations above. Flooding alert π¨π
5. Control Plane π§
the control-plane procedures from [RFC6074], [RFC4761], and [RFC4762] can be reused in a PBB-VPLS to set up the PW infrastructure in the service provider and/or customer bridging space π . This means the existing control-plane stuff (like BGP Auto-Discovery (BGP-AD), PW setup, VPLS MAC flushing, and PW OAM) can be ported over for each domain. efficient, bestie π
6. Efficient Packet Replication in PBB VPLS π¦
PBB VPLS takes advantage of the existing VPLS features for packet replication efficiency π. The H-VPLS hierarchy may be used in both customer and backbone service instances to cut down on redundant packet distribution over the core. IGMP and PIM snooping may be applied on a "per customer service instance" basis to control how multicast traffic is distributed to non-member sites π«Ά.
[IEEE-802.1Q] specifies the Multiple MAC Registration Protocol (MMRP) for flood containment in the backbone instances. The same solution can be ported into the PBB-VPLS solution π₯.
Further optimizations of packet replication in PBB-VPLS are out of scope for this document π.
7. PBB VPLS OAM π
The existing VPLS, PW, and MPLS OAM procedures may be used in each customer service instance or backbone service instance to verify the status of the related connectivity components β¨.
PBB OAM procedures use the IEEE Ethernet Connectivity Fault Management [CFM] and ITU-T Y.1731 [Y.1731] tools in both I-components and B-components πΈ.
Both sets of tools (PBB and VPLS) may be used for the combined PBB-VPLS solution π.
8. Security Considerations π
okay this one is serious, bestie π No new security issues are introduced beyond those described in [RFC4761] and [RFC4762]. Read those, because that's where the security story lives π₯.
9. References π
9.1. Normative References
[RFC4761] Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", RFC 4761, January 2007.
[RFC4762] Lasserre, M., Ed., and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, January 2007.
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo, "Provisioning, Auto-Discovery, and Signaling in Layer 2 Virtual Private Networks (L2VPNs)", RFC 6074, January 2011.
9.2. Informative References
[RFC3985] Bryant, S., Ed., and P. Pate, Ed., "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.
[RFC4664] Andersson, L., Ed., and E. Rosen, Ed., "Framework for Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664, September 2006.
[PBB] Clauses 25 and 26 of "IEEE Standard for Local and metropolitan area networks - Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q-REV, 2013.
[PB] Clauses 15 and 16 of "IEEE Standard for Local and metropolitan area networks - Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q-REV, 2013.
[CFM] CFM clauses of "IEEE Standard for Local and metropolitan area networks - Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q-REV, 2013.
[IEEE-802.1Q] "IEEE Standard for Local and metropolitan area networks - Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q-REV, 2013.
[Y.1731] ITU-T Recommendation Y.1731, "OAM functions and mechanisms for Ethernet based networks", July 2011.
[RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual Private Network (VPN) Terminology", RFC 4026, March 2005.
10. Contributors π
The following people made significant contributions to this document π:
Matthew Bocci Alcatel-Lucent Voyager Place Shoppenhangers Road Maidenhead Berks, UK
EMail: matthew.bocci@alcatel-lucent.com
Raymond Zhang Alcatel-Lucent
EMail: raymond.zhang@alcatel.com
Geraldine Calvignac Orange 2, avenue Pierre-Marzin 22307 Lannion Cedex France
EMail: geraldine.calvignac@orange.com
John Hoffmans KPN Regulusweg 1 2516 AC Den Haag The Netherlands
EMail: john.hoffmans@kpn.com
Olen Stokes Extreme Networks PO Box 14129 RTP, NC 27709 USA
EMail: ostokes@extremenetworks.com
11. Acknowledgments π«Ά
The authors would like to thank Wim Henderickx, Mustapha Aissaoui, Dimitri Papadimitriou, Pranjal Dutta, Jorge Rabadan, Maarten Vissers, and Don Fedyk for their insightful comments and probing questions π.
Authors' Addresses π
Florin Balus (editor) Alcatel-Lucent 701 E. Middlefield Road Mountain View, CA 94043 USA
EMail: florin.balus@alcatel-lucent.com
Ali Sajassi (editor) Cisco 170 West Tasman Drive San Jose, CA 95134 USA
EMail: sajassi@cisco.com
Nabil Bitar (editor) Verizon 60 Sylvan Road Waltham, MA 02145 USA
EMail: nabil.n.bitar@verizon.com
π¦ where this page comes from
- ietf: rfc7041 2013-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms