RFC 4561

Definition of a Record Route Object (RRO) Node-Id Sub-Object

πŸ“… published June 2006, from ietf

RFC 4561 πŸ’– Definition of a Record Route Object (RRO) Node-Id Sub-Object

Part 1 of 2 πŸŽ€ Okay bestie, here's the title block tea β˜•. It's from the Network Working Group, it's RFC 4561, and the category is Standards Track πŸ¦‹. The authors are J.-P. Vasseur (Ed.), Z. Ali, and S. Sivabalan, all from Cisco Systems, Inc., and it dropped in June 2006 🌸. The title block doesn't list anything it obsoletes or updates, so there's no other RFC it replaces or amends. Let's gooo πŸ’…βœ¨

Status of This Memo

This doc is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements 🫢. For the official standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) πŸ“š. Distribution of this memo is unlimited 🌈.

Copyright (C) The Internet Society (2006).

Abstract

Okay so, the whole point here is MPLS TE Fast Reroute πŸ”₯. When it's in play, the Merge Point (MP) address has to be known at the Point of Local Repair (PLR) so it can pick a backup tunnel that intersects a fast reroutable Traffic Engineering Label Switched Path (TE LSP) on a downstream Label Switching Router (LSR) πŸ’œ. The catch is that the existing protocol mechanisms just aren't enough to find an MP address in multi-domain routing networks, where a domain is an Interior Gateway Protocol (IGP) area or an Autonomous System (AS) 😭. So the current MPLS Fast Reroute mechanism can't be used to protect inter-domain TE LSPs from a failure of an Area Border Router (ABR) or Autonomous System Border Router (ASBR) πŸ’€.

This doc fixes that by using the existing Record Route Object (RRO) IPv4 and IPv6 sub-objects, with a new flag defined, which gives us the node-id sub-object 🧚. The MPLS Fast Reroute mechanism mentioned here is the "Facility backup" MPLS TE Fast Reroute method πŸ“.

Table of Contents

   1. Introduction ....................................................2
   2. Terminology .....................................................4
      2.1. Conventions Used in This Document ..........................5
   3. Signaling Node-Ids in RROs ......................................5
   4. Finding Merge Point .............................................6
   5. Security Considerations .........................................7
   6. Acknowledgements ................................................7
   7. References ......................................................7
      7.1. Normative References .......................................7
      7.2. Informative References .....................................8

1. Introduction ✨

Let's start with the basics 🌸. MPLS Fast Reroute (FRR) [FAST-REROUTE] is a fast recovery local protection technique that protects Traffic Engineering LSPs from link/node/Shared Risk Link Group (SRLG) failure πŸ›‘οΈ. One or more backup tunnels are set up ahead of time to cover a link/node/SRLG failure. When that failure happens, every protected TE LSP that was going through the broken resource gets rerouted onto the right backup tunnel πŸ¦‹.

There are a few requirements the backup tunnel path has to meet, and they're kind of a big deal πŸ‘‘. First, the backup tunnel can't go through the element it protects. Also, a primary tunnel and its backup tunnel should intersect at least at two points (nodes): the Point of Local Repair (PLR) and the Merge Point (MP). The PLR is the head-end LSR of the backup tunnel, and the MP is the tail-end LSR of the backup tunnel πŸ’–. The PLR is where FRR kicks in when a link/node/SRLG failure happens ⚑.

There are different ways to compute paths for backup tunnels at a given PLR 🧠. A user can statically configure one or more backup tunnels at the PLR with an explicitly configured path. Or the PLR can be set up to automatically compute a backup path, or to send a path computation request to a PCE (see [PCE-ARCH]) 🫧.

Now let's look at a scenario (Figure 1) πŸ‘€.

Assumptions:

  • A multi-area network made of three areas: 0, 1, and 2.
  • A fast reroutable TE LSP T1 (TE LSP signaled with the "Local Protection Desired" bit set in the SESSION-ATTRIBUTE object or the FAST-REROUTE object) from R0 to R3.
  • A backup tunnel B1 from R1 to R2, not traversing ABR1, and following the R1-ABR3-R2 path.
  • The PLR R1 reroutes any protected TE LSP traversing ABR1 onto the backup tunnel B1 in case of ABR1's failure.
             <--- area 1 --><---area 0---><---area 2--->
                R0-----R1-ABR1--R2------ABR2--------R3
                       \        /
                        \      /
                          ABR3

      Figure 1: Use of Fast Reroute to protect a TE LSP against an ABR
                failure with MPLS Traffic Engineering Fast Reroute

When T1 gets signaled for the first time, the PLR R1 has to dynamically pick a suitable backup tunnel that intersects T1 on a downstream LSR πŸ€”. The problem is that the existing protocol mechanisms can't unambiguously find the MP address in a network with an inter-domain TE LSP 😩. This doc is here to address those limitations πŸŽ€.

R1 needs to select an existing backup tunnel with the following properties:

  1. The backup tunnel intersects with the primary tunnel at the MP. For the sake of illustration, in Figure 1, R1 needs to determine that T1 and B1 intersect at the node R2.
  2. The backup tunnel satisfies the primary LSP's request with respect to the bandwidth protection request (i.e., bandwidth guaranteed for the primary tunnel during failure), and the type of protection (link or node failure), as specified in [FAST-REROUTE].

One way for the PLR to make sure condition (1) is met is to look at the Record Route Object (RRO) of the primary tunnel and check whether any of the addresses in the RRO match the MP πŸ”. Here's the twist: as per [RSVP-TE], the addresses in the RRO IPv4 or IPv6 sub-objects sent in Resv messages can be node-ids and/or interface addresses 🀯. So in Figure 1, router R2 might specify interface addresses in the RROs for T1 and B1. And in this example, those interface addresses are different πŸ™ˆ.

Finding the MP using interface addresses or node-ids is totally doable in the case of a single IGP area 🌈. In that case, the PLR knows about all the interfaces attached to the tail-end of the backup tunnel, because that info is in the PLR's IGP topology database πŸ—ΊοΈ. So the PLR can unambiguously figure out whether a backup tunnel intersecting a protected TE LSP on a downstream node exists, and it can find the MP address no matter whether the RRO IPv4 or IPv6 sub-objects use interface addresses or node-ids πŸ₯°. The problem is that this routing info isn't available in inter-domain environments 😀. So making sure condition (1) above is met for inter-domain TE LSPs just isn't possible with the existing mechanisms πŸ’”.

In this doc, we define extensions to, and describe the use of, the Resource Reservation Protocol (RSVP) [RSVP, RSVP-TE] to solve the problem above 🫢. And note that the requirement to support the fast recovery technique from [FAST-REROUTE] for inter-domain TE LSPs was already specified in [INTER-AREA-TE-REQS] and [INTER-AS-TE-REQS] πŸ“.

2. Terminology πŸ“–

Here's the glossary, bestie πŸ“.

  • Area Border Routers (ABRs): Border routers used to connect two Interior Gateway Protocol (IGP) areas (areas in OSPF or levels in IS-IS).
  • Autonomous System Border Router (ASBRs): Border routers used to connect to another AS of a different or the same Service Provider via one or more links inter-connecting between ASes.
  • Backup Tunnel: The LSP that is used to back up one of the many LSPs in many-to-one backup.
  • Inter-AS TE LSP: A TE LSP that crosses an AS boundary.
  • Inter-area TE LSP: A TE LSP that crosses an IGP area.
  • LSR: Label Switching Router.
  • LSP: Label Switched Path.
  • Local Repair: Techniques used to repair TE LSPs quickly when a link, an SRLG, or a node along the TE LSP fails.
  • PCE: Path Computation Element. An entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.
  • MP: Merge Point. The LSR where one or more backup tunnels rejoin the path of the protected LSP downstream of the potential failure.
  • Protected LSP: An LSP is said to be protected at a given hop if it has one or multiple associated backup tunnels originating at that hop.
  • PLR: Point of Local Repair. The head-end of a backup tunnel.
  • Reroutable LSP: Any LSP for which the "Local Protection Desired" bit is set in the Flag field of the SESSION_ATTRIBUTE object of its Path messages.
  • TE LSP: Traffic Engineering Label Switched Path.

2.1. Conventions Used in This Document πŸŽ€

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] πŸ“.

3. Signaling Node-Ids in RROs 🧚

As mentioned above, the limitation we need to fix is how general the contents of the RRO IPv4 and IPv6 sub-objects are, as defined in [RSVP-TE] πŸ€“. [RSVP-TE] defines the IPv4 and IPv6 RRO sub-objects. On top of that, [FAST-REROUTE] defines two more flags: the "Local Protection Available" and "Local Protection in Use" bits 🌟.

In this document, we define the following new flag πŸ’…:

Node-id: 0x20

When it's set, this means the address in the RRO's IPv4 or IPv6 sub-object is a node-id address. That refers to the "Router Address" as defined in [OSPF-TE], or the "Traffic Engineering Router ID" as defined in [ISIS-TE] πŸ¦‹. A node MUST use the same address consistently. Once an address is used in the RRO's IPv4 or IPv6 sub-object, it SHOULD always be used for the lifetime of the TE LSP πŸ”’.

An IPv4 or IPv6 RRO sub-object with the node-id flag set is also called a node-id sub-object 🌸. The problem of finding an MP address in a network with an inter-domain TE LSP is solved by inserting a node-id sub-object (an RRO "IPv4" and "IPv6" sub-object with the 0x20 flag set) into the RRO object carried in the RSVP Resv message πŸ’–.

An implementation may decide to do either of the following πŸ‘‘:

1) Add the node-id sub-object in the RRO carried in an RSVP Resv message and, when required, also add another IPv4/IPv6 sub-object to record the interface address.

Example: an inter-domain fast reroutable TE LSP would have the following two sub-objects in the RRO carried in the Resv message: a node-id sub-object and a label sub-object. If recording the interface address is required, then an additional IPv4/IPv6 sub-object is added 🍬.

or

2) Add an IPv4/IPv6 sub-object recording the interface address and, when required, add a node-id sub-object in the RRO.

Example: an inter-domain fast reroutable TE LSP would have the following three sub-objects in the RRO carried in the Resv message: an IPv4/IPv6 sub-object recording the interface address, a label sub-object, and a node-id sub-object 🫧.

Also, the node-id sub-object may have other uses beyond Fast Reroute backup tunnel selection 🌈. And it is RECOMMENDED that an LSR recording a node-id address in an IPv4/IPv6 RRO sub-object also set the node-id flag ✨.

That's the end of Part 1, bestie! πŸ’œ Part 2 is coming up with the rest of the good stuff. πŸŽ€

4. Finding Merge Point ✨

okay so there are two cases to think about here πŸ’…

  • Case 1: If the backup tunnel destination is the MP's node-id, then a PLR can find the MP and a suitable backup tunnel by just comparing the backup tunnel's destination address with the node-id in the RRO of the primary tunnel. it's giving simple πŸ¦‹
  • Case 2: If the backup tunnel ends at an address that's different from the MP's node-id, then a node-id sub-object MUST also be included in the RRO of the backup tunnel. then the PLR can find the MP and a suitable backup tunnel by comparing the node-ids in the RROs of both the primary and backup tunnels. 🫢

ngl this is where the node-id sub-object really shows off πŸ‘‘

okay now the caveat πŸ™ˆ the node-id sub-object trick works for Inter-area and Inter-AS, but for Inter-AS there's an extra assumption. the MP's node-id (the one in the downstream domain) must not overlap with any LSR's node-id that's in the PLR's AS. it must be noted, bestie, because if those collide the whole thing gets messy πŸ’€

and one more thing 🌸 if both an IPv4 node-id sub-object and an IPv6 node-id sub-object are present, a PLR may use either one or both of them to find the MP address. main character flexibility ✨


5. Security Considerations πŸ”

this document does not introduce any new security issues, so that's the good news πŸŽ€ BUT the security considerations from [RSVP] and [RSVP-TE] still apply, so don't skip them 😭


6. Acknowledgements 🫢

we want to give a huge shoutout to Carol Iturralde, Anca Zamfir, Reshad Rahman, Rob Goguen, and Philip Matthews for their input and helpful comments πŸ’– and a extra special thank you to Adrian Farrel for his thorough review of this doc πŸ‘‘βœ¨


7. References πŸ“š

7.1. Normative References

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

[RSVP]               Braden, R., Zhang, L., Berson, S., Herzog, S.,
                     and S. Jamin, "Resource ReSerVation Protocol
                     (RSVP) -- Version 1 Functional Specification",
                     RFC 2205, September 1997.

[RSVP-TE]            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.

[FAST-REROUTE]       Pan, P., Swallow, G., and A. Atlas, "Fast
                     Reroute Extensions to RSVP-TE for LSP Tunnels",
                     RFC 4090, May 2005.

[OSPF-TE]            Katz, D., Kompella, K., and D. Yeung, "Traffic
                     Engineering (TE) Extensions to OSPF Version 2",
                     RFC 3630, September 2003.

[ISIS-TE]            Smit, H. and T. Li, "Intermediate System to
                     Intermediate System (IS-IS) Extensions for
                     Traffic Engineering (TE)", RFC 3784, June 2004.

7.2. Informative References

[INTER-AREA-TE-REQS] Le Roux, J.-L., Vasseur, J.-P., and J. Boyle,
                     "Requirements for Inter-Area MPLS Traffic
                     Engineering", RFC 4105, June 2005.

[INTER-AS-TE-REQS]   Zhang, R. and J.-P. Vasseur, "MPLS Inter-
                     Autonomous System (AS) Traffic Engineering (TE)
                     Requirements", RFC 4216, November 2005.

[PCE-ARCH]           Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
                     Computation Element (PCE) Based Architecture",
                     Work in Progress, April 2006.

Authors' Addresses 🧚

J.-P. Vasseur (Editor)
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough , MA - 01719
USA

EMail: jpv@cisco.com


Zafar Ali
Cisco Systems, Inc.
100 South Main St. #200
Ann Arbor, MI 48104
USA

EMail: zali@cisco.com


Siva Sivabalan
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario, K2K 3E8
Canada

EMail: msiva@cisco.com

Copyright (C) The Internet Society (2006). πŸ’œ

this document is subject to the rights, licenses and restrictions in BCP 78, and except as set forth there, the authors keep all their rights πŸ¦‹

THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN ARE PROVIDED ON AN "AS IS" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property πŸ”

so the IETF doesn't take a side on whether any Intellectual Property Rights (or other rights) that someone might claim over the tech in this doc are valid or how far they reach, and it doesn't say whether licenses would be available πŸ™…β€β™€οΈ it also hasn't gone looking for those rights itself. the procedures for rights in RFC docs live in BCP 78 and BCP 79 πŸ“–

copies of IPR disclosures sent to the IETF Secretariat, plus any assurances of licenses, or the results of trying to get a general license or permission to use those proprietary rights for implementers or users of this spec, can be found in the IETF's online IPR repository at http://www.ietf.org/ipr 🌈

and if you know about any copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to implement this standard, the IETF wants you to tell them at ietf-ipr@ietf.org πŸ’Œ


Acknowledgement 🌸

funding for the RFC Editor function comes from the IETF Administrative Support Activity (IASA) πŸ’–

πŸ“¦ where this page comes from