RFC 5283
LDP Extension for Inter-Area Label Switched Paths (LSPs)
RFC 5283: LDP Extension for Inter-Area Label Switched Paths (LSPs) ๐ฆ
okay bestie, first the paperwork ๐โจ This one is RFC 5283, and it came from the Network Working Group. It's on the Standards Track and dropped in July 2008. The authors are B. Decraene and JL. Le Roux from France Telecom, plus I. Minei from Juniper Networks, Inc. ๐ It doesn't list any RFCs it obsoletes or updates, so nothing to untangle there ๐
Status of This Memo ๐ธ
okay so this doc specifies an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements ๐ฌ If you want to know where this protocol stands, check the current edition of the "Internet Official Protocol Standards" (STD 1). And distribution of this memo is unlimited ๐
Abstract ๐
so the goal here is to make it easier to set up Label Switched Paths (LSPs) that span multiple IGP areas in one Autonomous System (AS) ๐ง The way it does that is with a new optional Longest-Match Label Mapping Procedure for the Label Distribution Protocol (LDP).
This procedure lets you use a label when the Forwarding Equivalence Class (FEC) Element matches an entry in the Routing Information Base (RIB). The matching is an IP longest-match search, and it does not mandate an exact match. it's giving flexibility ๐ซถ
Table of Contents ๐
Table of Contents
1. Introduction ....................................................2
2. Conventions Used in This Document ...............................2
3. Terminology .....................................................2
4. Problem Statement ...............................................3
5. Longest-Match Label Mapping Message Procedure ...................4
6. Application Examples ............................................6
6.1. Inter-Area LSPs ............................................6
6.2. Use of Static Routes .......................................7
7. Caveats for Deployment ..........................................8
7.1. Deployment Considerations ..................................8
7.2. Routing Convergence Time Considerations ....................8
8. Security Considerations .........................................9
9. References ......................................................9
9.1. Normative References .......................................9
9.2. Informative References .....................................9
10. Acknowledgments ...............................................11
1. Introduction โจ
okay so link state Interior Gateway Protocols (IGPs) like OSPF [OSPFv2] and IS-IS [IS-IS] let you split an autonomous system into areas or levels. That's how you keep routing scalable inside one routing domain ๐ธ
BUT here's the tea โ [LDP] actually recommends that the IP address of the FEC Element exactly match an entry in the IP Routing Information Base (RIB). According to [LDP], section 3.5.7.1 ("Label Mapping Messages Procedures"):
An LSR [Label Switching Router] receiving a Label Mapping message from a downstream LSR for a Prefix SHOULD NOT use the label for forwarding unless its routing table contains an entry that exactly matches the FEC Element.
so that means MPLS LSPs between Label Edge Routers (LERs) in different areas/levels just don't get set up ๐ Unless! The specific (e.g., /32 for IPv4) loopback addresses of all the LERs are redistributed across all areas. Which kinda defeats the whole point of areas ๐
Section 4 dives into the problem. Then, in section 5, we extend the Label Mapping Procedure from [LDP] so you can set up contiguous inter-area LSPs while still keeping IP prefix aggregation on the ABRs. The trick is allowing longest-match-based Label Mapping. it's giving clever ๐ง
2. Conventions Used in This Document ๐
the keyword rulebook, verbatim, because implementers need the exact words ๐
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].
3. Terminology ๐ฆ
quick vocab check, bestie:
- IGP Area: OSPF Area or IS-IS level
- ABR: OSPF Area Border Router or IS-IS L1/L2 router
- LSP: Label Switched Path
- Intra-area LSP: LSP that does not traverse any IGP area boundary.
- Inter-area LSP: LSP that traverses at least one IGP area boundary.
4. Problem Statement ๐ญ
so provider-based MPLS (Multiprotocol Label Switching) networks are blowing up โจ That's because of the success of Layer 3 Virtual Private Networks [L3-VPN] and the new deployments of Layer 2 VPNs ([VPLS-BGP], [VPLS-LDP]). Service providers' MPLS backbones are growing in two ways: density, since more Provider Edge (PE) routers keep getting added to connect new customers, and footprint, since traditional Layer 2 aggregation networks may be replaced by IP/MPLS networks. As a result, a lot of providers need to introduce IGP areas. Inter-area LSPs (that is, LSPs that traverse at least two IGP areas) are required to keep MPLS connectivity between PEs that live in distinct IGP areas.
To set up those MPLS LSPs between PEs in different IGP areas, service providers currently have three options ๐
- LDP with IGP route leaking
- BGP [MPLS-BGP] over LDP with MPLS hierarchy
- inter-area RSVP-TE (Resource Reservation Protocol-Traffic Engineering [RSVP-TE])
Let's look at each one, bestie ๐
IGP route leaking means redistributing all the specific PE loopback addresses across area boundaries. Then LDP finds an exact match for its FEC in the RIB and sets up the LSP. Sounds easy, but the benefits of a multi-area domain get seriously diminished ๐ฉ A lot of addresses have to be redistributed by ABRs, and the number of IP entries in the IGP Link State Database (LSDB), RIB, and Forwarding Information Base (FIB) maintained by every LSR in the domain (whatever the area/level it belongs to) can't be minimized.
Hierarchy with BGP is the second option. Service providers can set up inter-area LSPs using MPLS hierarchy with BGP [MPLS-BGP] as the label distribution protocol between areas. The BGP next hop would typically be the ABRs, and the BGP-created LSPs would be nested within intra-area LSPs that LDP sets up between PEs and ABRs and between ABRs. ๐งฉ
This one isn't adequate for service providers who don't want to run BGP on their provider routers, because it requires BGP on all ABRs. Also, MPLS hierarchy doesn't allow locally protecting the LSP against ABR failures (IP/LDP Fast Reroute), so you can't ensure sub-50ms recovery upon an ABR failure. The resulting convergence time may not be acceptable for stringent Service Level Agreements (SLAs) that are required for voice or mission-critical applications ๐จ And finally, it takes a significant migration effort for service providers that started with LDP and IGP route leaking and wanted to quickly set up their first inter-area LSPs.
Inter-area RSVP-TE [RSVP-TE] is the third option. It's a relevant solution when RSVP-TE is already used for setting up intra-area LSPs and inter-area traffic engineering features are required. On the flip side, it's not a desired solution when LDP is already used for intra-area LSPs and inter-area traffic engineering features are not required ๐ โโ๏ธ
So to avoid all those drawbacks, there's a need for an LDP-based solution that sets up contiguous inter-area LSPs without leaking specific PE loopback addresses across area boundaries. That way you keep all the benefits of IGP hierarchy ๐ฆ
In that context, this document defines a new LDP Label Mapping Procedure to support the setup of contiguous inter-area LSPs while maintaining IP prefix aggregation on the ABRs. It's similar to the one defined in [LDP], but it performs an IP longest match when searching for the FEC element in the RIB. main character energy ๐
5. Longest-Match Label Mapping Message Procedure ๐
okay this is the main event โจ This document defines a new Label Mapping Procedure for [LDP]. It applies to IPv4 and IPv6 prefix FEC elements (address families 1 and 2 as per the "Address Family Numbers" registry on the IANA site). It SHOULD be possible to activate/deactivate this procedure by configuration, and it SHOULD be deactivated by default. It MAY be possible to activate it on a per-prefix basis ๐ธ
With this new Longest-Match Label Mapping Procedure, an LSR that receives a Label Mapping message from a neighbor LSR for a Prefix Address FEC Element FEC1 SHOULD use the label for MPLS forwarding if its routing table contains an entry that matches the FEC Element FEC1 and the advertising LSR is a next hop to reach FEC1. If so, it SHOULD advertise the received FEC Element FEC1 and a label to its LDP peers. it's the whole vibe ๐ซถ
By "matching FEC Element", think IP longest match. Basically, either the LDP FEC element exactly matches an entry in the IP RIB, or the FEC element is a subset of an IP RIB entry. Any other case is NOT a match, so if the FEC element is a superset of a RIB entry, it's not considered a match ๐ โโ๏ธ (Careful: I'm only using the word "match" here, and it's the same meaning as the original.)
Note that LDP re-advertises the specific FEC element FEC1 to its peers, and NOT the aggregated prefix that was found in the IP RIB during the longest-match search. That's the whole point of keeping the aggregation โจ
Also, with this Longest-Match Label Mapping Procedure, each LSP established by LDP still strictly follows the shortest path(s) defined by the IGP. no detours, bestie ๐ฃ๏ธ
FECs selected by this Longest-Match Label Mapping Procedure are distributed in an ordered way. In case of LER failure, the removal of reachability to the FEC happens using LDP ordered label distribution mode procedures. As defined in [LDP] in section A.1.5, the FEC gets removed in an ordered way through the propagation of Label Withdraw messages. How application layers use this (un)reachability information for their MPLS LSP (e.g., [MP-BGP]) is outside the scope of this document ๐
As per [LDP], LDP already has some interactions with the RIB. In particular, it needs to be aware of these events:
- prefix up when a new IP prefix appears in the RIB,
- prefix down when an existing IP prefix disappears,
- next-hop change when an existing IP prefix has a new next hop following a routing change.
With this Longest-Match Label Mapping Message Procedure, multiple FECs may be concerned by a single RIB prefix change. The LSR MUST check all the FECs that are a subset of this RIB prefix. So, some LDP reactions to a RIB event are changed ๐ญ
- When a new prefix appears in the RIB, the LSR MUST check if this prefix is a better match for some existing FECs. For example, the FEC elements
192.0.2.1/32and192.0.2.2/32used the IP RIB entry192.0.2.0/24, and then a new, more specific IP RIB entry192.0.2.0/26appears. This may result in changing the LSR used as next hop, and hence the Next Hop Label Forwarding Entry (NHLFE) for this FEC. - When a prefix disappears in the RIB, the LSR MUST check all FEC elements that are using this RIB prefix as best match. For each FEC, if another RIB prefix is found as best match, LDP MUST use it. This may result in changing the LSR used as next hop, and hence the NHLFE for this FEC. Otherwise, the LSR MUST remove the FEC binding and send a Label Withdraw message.
- When the next hop of a RIB prefix changes, the LSR MUST change the NHLFE of all the FEC elements using this prefix.
Future work may define new management objects for the MPLS LDP MIB modules [LDP-MIB] to activate/deactivate this Longest-Match Label Mapping Message Procedure, possibly on a per-prefix basis. the future is bright ๐ฎ
6. Application Examples ๐ง
okay the examples are next, and they're where it all clicks ๐ฆ Stay tuned for the next part, bestie ๐
6.1. Inter-Area LSPs โจ
okay so picture an autonomous system with one backbone area and two edge areas ๐ธ
Area "B"
Level 2 / Backbone area
+--------------------------+
Area "A" | | Area "C"
| |
Level 1 | | Level 1 / area
| P1 |
+---------+ +-------------+
| | P2 | PE1 | 192.0.2.1/32
| | | |
|PE4 ABR2 ABR1 PE2 | 192.0.2.2/32
| | P3 | |
| | | PE3 | 192.0.2.3/32
+---------+ +-------------+
| |
+--------------------------+
Figure 1: An IGP domain with two areas
attached to the Backbone Area.
Figure 1: An IGP domain with two areas attached to the Backbone Area. ๐ฆ
Quick note: this works the same for IS-IS and OSPF ๐ . Here an ABR means either an OSPF ABR or an IS-IS L1/L2 node.
Every router is MPLS enabled, and MPLS connectivity (basically an LSP) is required between all the PE routers. Non-negotiable bestie ๐
In the "egress" area "C", the records are:
IGP RIB LDP FEC elements:
192.0.2.1/32 192.0.2.1/32
192.0.2.2/32 192.0.2.2/32
192.0.2.3/32 192.0.2.3/32
The area border router ABR1 advertises into the backbone area:
- the aggregated IP prefix 192.0.2.0/26 in the IGP
- all the specific IP FEC elements (/32) in LDP
In the "backbone" area "B", the records are:
IGP RIB LDP FEC elements:
192.0.2.0/26 192.0.2.1/32
192.0.2.2/32
192.0.2.3/32
The area border router ABR2 advertises into area "A":
- an aggregated IP prefix 192.0.2.0/24 in the IGP
- all the individual IP FEC elements (/32) in LDP
And in the "ingress" area "A", the records are:
IGP RIB LDP FEC elements:
192.0.2.0/24 192.0.2.1/32
192.0.2.2/32
192.0.2.3/32
So the result? One LSP gets set up between the ingress PE4 and every egress PE in area C, and the ABRs still get to keep their IP prefix aggregation ๐๐ฅ
6.2. Use of Static Routes ๐ง
Next up, a LER that's dual-connected to two LSRs:
+--------LSR1----
| |
LER |
| |
+--------LSR2----
Figure 2: LER dual-connected to two LSRs.
In some situations, especially at the edge of the network, it's totally valid to use static IP routes between the LER and the two LSRs ๐ If it's needed, the Bidirectional Forwarding Detection protocol [BFD] can be used to quickly detect loss of connectivity.
Now the LDP specification defined in [LDP] would need the ingress LER to have one IP route per egress LER and per outgoing interface. That's a lot of config bestie ๐ญ
The Longest-Match Label Mapping Procedure described in this document only needs one IP route per outgoing interface. Way less mess โจ
7. Caveats for Deployment ๐
7.1. Deployment Considerations
LSRs that comply with this document are backward compatible with LSRs that comply with [LDP] ๐ซถ
For end-to-end MPLS LSPs whose FECs are aggregated in the RIB to get established successfully, this specification must be implemented on all LSRs in all areas where IP aggregation is used. If an LSR on the path doesn't support this procedure, then the LSP initiated at the egress LSR stops at that non-compliant LSR. The good news? There are no other adverse effects ๐
This extension can be rolled out incrementally, and it's giving flexibility:
- It can be deployed on a per-area or per-routing-domain basis, and it doesn't necessarily need an AS-wide deployment. For example, if all specific IP prefixes are leaked in the IGP backbone area and only stub areas use IP aggregation, the LSRs in the backbone area don't need to comply with this document ๐
- Within each routing area, LSRs can be upgraded independently, at any time, in any order, and without service disruption. During deployment, if those LSPs are already in use, you should only make sure that ABRs keep advertising the specific IP prefixes in the IGP until all LSRs of this area are successfully upgraded. After that, the ABRs can advertise the aggregated prefix only and stop advertising the specific ones ๐
A service provider that's currently leaking specific LER loopback addresses in the IGP and is thinking about doing IP aggregation on the ABR should be aware that this may lead to suboptimal routing, as discussed in [RFC2966]. Heads up babe ๐
7.2. Routing Convergence Time Considerations
IP and MPLS traffic restoration time comes down to two things: the Shortest Path First (SPF) calculation in the control plane, and the Forwarding Information Base (FIB) / Label FIB (LFIB) update time in the forwarding plane. The SPF calculation scales O(N*Log(N)), where N is the number of Nodes. The FIB/LFIB update scales O(P), where P is the number of modified prefixes. Right now, on most router implementations, the FIB/LFIB update is the dominant component [IGP-CONV], so it's the bottleneck that should be addressed first ๐ฅ
The solution in this document reduces the link state database size in the control plane and the number of FIB entries in the forwarding plane. So it solves the scaling problem for pure IP routers sharing the IGP with MPLS routers. However, it does not decrease the number of LFIB entries, so it isn't enough to solve the scaling of MPLS routers ๐ฅบ For that, an additional mechanism is required (for example, introducing some MPLS hierarchy in LDP). That's out of scope for this document, bestie.
Compared to [LDP], for all failures except LER failure (so links, provider routers, and ABRs), the failure notification and the convergence stay unchanged โจ For LER failure, the IGP now aggregates IP routes on ABRs and no longer advertises specific prefixes. So the control plane, and more specifically the routing convergence behavior of protocols (for example [MP-BGP]) or applications (for example [L3-VPN]), may change when an egress LER node fails. For protocols and applications that need to track egress LER availability, several solutions can be used, for example:
- Rely on the LDP ordered label distribution control mode, as defined in [LDP], to know the availability of the LSP toward the egress LER. The egress to ingress propagation time of that unreachability information is expected to be comparable to the IGP (but this may be implementation dependent).
- Advertise LER reachability in the IGP for the purpose of the control plane, in a way that does not create IP FIB entries in the forwarding plane.
8. Security Considerations ๐
โ ๏ธ Serious security moment, bestie. Read this one properly.
The Longest-Match Label Mapping procedure described in this document does not introduce any change as far as the Security Considerations section of [LDP] is concerned. Nothing new to panic about here, but the existing [LDP] security guidance still applies in full ๐
9. References
9.1. Normative References
[LDP]Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007.[RFC2119]Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
9.2. Informative References
[L3-VPN]Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, February 2006.[MP-BGP]Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007.[MPLS-BGP]Rekhter, Y. and E. Rosen, "Carrying Label Information in BGP-4", RFC 3107, May 2001.[IS-IS]Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990.[VPLS-BGP]Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", RFC 4761, January 2007.[VPLS-LDP]Lasserre, M., Ed., and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, January 2007.[RFC2966]Li, T., Przygienda, T., and H. Smit, "Domain-wide Prefix Distribution with Two-Level IS-IS", RFC 2966, October 2000.[RSVP-TE]Farrel, A., Ed., Ayyangar, A., and JP. Vasseur, "Inter-Domain MPLS and GMPLS Traffic Engineering -- Resource Reservation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 5151, February 2008.[LDP-MIB]Cucchiara, J., Sjostrand, H., and J. Luciani, "Definitions of Managed Objects for the Multiprotocol Label Switching (MPLS), Label Distribution Protocol (LDP)", RFC 3815, June 2004.[BFD]Katz, D. and D. Ward, "Bidirectional Forwarding Detection", Work in Progress, March 2008.[IGP-CONV]Francois, P., Filsfils, C., and Evans, J., "Achieving sub-second IGP convergence in large IP networks". ACM SIGCOMM Computer Communications Review, July 2005.[OSPFv2]Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
10. Acknowledgments ๐ซถ
The authors want to give a huge shoutout to Yakov Rekhter, Stefano Previdi, Vach Kompella, Bob Thomas, Clarence Filsfils, Kireeti Kompella, Luca Martini, Sina Mirtorabi, Dave McDysan, Benoit Fondeviole, Gilles Bourdon, and Christian Jacquenet for the useful discussions on this subject, their reviews, and their comments. The real MVPs ๐
Authors' Addresses
Bruno Decraene France Telecom 38 rue du General Leclerc 92794 Issy Moulineaux cedex 9 France
EMail: bruno.decraene@orange-ftgroup.com
Jean-Louis Le Roux France Telecom 2, avenue Pierre-Marzin 22307 Lannion Cedex France
EMail: jeanlouis.leroux@orange-ftgroup.com
Ina Minei Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089
EMail: ina@juniper.net
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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 โจ
Okay bestie, so the IETF is NOT picking a side on whether any rights might be claimed over the tech in this doc, or whether you could even get a license for them ๐ It also hasn't done its own digging to find any of that stuff. If you want the details on how rights work for RFC documents, check out BCP 78 and BCP 79 ๐
Copies of IPR disclosures made to the IETF Secretariat ๐ and any assurances of licenses that might be available are on the IETF online IPR repository at http://www.ietf.org/ipr. The same goes for the result of any attempt to get a general license or permission for implementers or users to use those proprietary rights ๐
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 needed to implement this standard. ๐ซถ Just send that info to the IETF at ietf-ipr@ietf.org. ๐ฆ
๐ฆ where this page comes from
- ietf: rfc5283 2008-07
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms