RFC 8687
OSPF Routing with Cross-Address Family Traffic Engineering Tunnels
Okay bestie, let's get into RFC 8687 ๐ It's called OSPF Routing with Cross-Address Family Traffic Engineering Tunnels ๐ It's a Standards Track document from the IETF (Internet Engineering Task Force) ๐ The authors are A. Smirnov of Cisco Systems, Inc., A. Retana of Futurewei Technologies, Inc., and M. Barnes ๐ It came out in November 2019 with ISSN 2070-1721, and it updates RFC 5786 ๐ฆ The header doesn't list anything it obsoletes. This one is all about making cross-family TE actually work ๐ญ
Abstract โจ
Okay so picture this: you're doing Traffic Engineering (TE) in a dual-stack IPv4/IPv6 network ๐ and the Multiprotocol Label Switching (MPLS) TE Label Switched Path (LSP) infrastructure might get duplicated, even when the IPv4 and IPv6 destination addresses belong to the same remote router ๐ Not it. To get one integrated MPLS TE LSP setup, OSPF routes have to be computed over MPLS TE tunnels built from info propagated in a different OSPF instance. The fix is advertising cross-address family (X-AF) OSPF TE information ๐
This document is an update to RFC 5786 that makes it easy to spot a router's local X-AF IP addresses โจ
Status of This Memo ๐
This is an Internet Standards Track document.
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). Further information on Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8687.
Copyright Notice ยฉ๏ธ
Copyright (c) 2019 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as 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 are provided without warranty as described in the Simplified BSD License.
Table of Contents ๐๏ธ
1. Introduction
2. Requirements Language
3. Operation
4. Backward Compatibility
4.1. Automatically Switched Optical Networks
5. Security Considerations
6. IANA Considerations
7. References
7.1. Normative References
7.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction ๐ธ
Okay so OSPFv2 [RFC3630] and OSPFv3 [RFC5329] both got TE extensions ๐ which support intra-area TE in IPv4 and IPv6 networks, respectively. In both cases the TE database is tightly coupled to the routed protocol and the TE signaling info that gets advertised. In other words, using the TE database is limited to IPv4 for OSPFv2 [RFC2328] and IPv6 for OSPFv3 [RFC5340]. ๐ญ
In a dual-stack network, it might be desirable to set up common MPLS TE LSPs that carry traffic going to addresses from different address families on a router. Sharing LSPs is a whole vibe for scalability and management, because it halves the number of LSPs in the network ๐ Plus, operators can group traffic based on business characteristics, class of service, and/or applications, and they aren't stuck with whichever network protocol is in use ๐ฆ
For example, an LSP built from MPLS TE info propagated by an OSPFv2 instance can carry both IPv4 and IPv6 traffic. The alternative is running both OSPFv2 and OSPFv3 to set up a separate LSP for each address family. Even if you do need to separate the address-family-specific traffic in some cases, calculating from a common TE database can still be operationally beneficial ๐ง
During the SPF calculation on the TE tunnel head-end router, OSPF computes shortcut routes using TE tunnels. A commonly used algorithm for computing shortcuts is defined in [RFC3906]. For that algorithm, or any similar one, to work with a common MPLS TE infrastructure in a dual-stack network, you need to reliably map the X-AF addresses to the matching tail-end router. This mapping is kind of a challenge ๐ค because the Link State Advertisements (LSAs) with the routing info live in one OSPF instance, while the TE calculations might use a TE database from a different OSPF instance.
A simple solution is to rely on the Router ID to identify a node in the matching OSPFv2 and OSPFv3 Link State Databases (LSDBs). But this would mean both instances on the same router have to be configured with the same Router ID. Relying on config being perfect puts extra burden and cost on running the network ๐ It gets even harder to manage if the OSPFv2 and OSPFv3 topologies don't match exactly, for example if area borders are chosen differently in the two protocols. Also, if the routing processes fall out of sync (say they have different Router IDs for local administrative reasons), there's no defined way for other routers to discover that misalignment and take corrective measures. Those could include avoiding routing traffic through affected TE tunnels or alerting the network administrators. Misaligned Router IDs can deliver traffic to the wrong tail-end router, which could lead to suboptimal routing or even traffic loops ๐
This document is an update to [RFC5786] that makes it easy to spot a router's local X-AF IP addresses โจ [RFC5786] defined the Node IPv4 Local Address and Node IPv6 Local Address sub-TLVs of the Node Attribute TLV, which let a router advertise additional local IPv4 and IPv6 addresses. However, [RFC5786] did not describe how to advertise and use these sub-TLVs when the address family of the advertised local address is different from the address family of the OSPF traffic engineering protocol.
This document updates [RFC5786] so a router can also announce one or more local X-AF addresses using the corresponding Local Address sub-TLV. Routers using the Node Attribute TLV [RFC5786] can include non-TE-enabled interface addresses in their OSPF TE advertisements, and they can use the same sub-TLVs to carry X-AF info. That makes the mapping described above a lot easier ๐
The method in this document can also be used to compute the X-AF mapping of the egress Label Switching Router (LSR) for sub-LSPs of a Point-to-Multipoint LSP [RFC4461]. Using Point-to-Multipoint MPLS TE for X-AF traffic forwarding is outside the scope of this document ๐ซถ
2. Requirements Language ๐ฅ
Okay bestie, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. ๐ So lowercase "must" or "may" is just regular English, not a spec requirement ๐
3. Operation โจ
okay so, to actually do X-AF routing (the technique this doc is about ๐ ), OSPFv2 is gonna advertise the Node IPv6 Local Address sub-TLV and OSPFv3 is gonna advertise the Node IPv4 Local Address sub-TLV. They can also keep advertising other IP addresses the way [RFC5786] describes. bestie, it's giving cross-protocol teamwork ๐ซถ
Running OSPFv3 for both IPv4 and IPv6 means you need multiple instances of it, which is covered in [RFC5838] ๐ง. This section is written with OSPFv2 as the protocol for IPv4, since that's the most common setup. If OSPFv3 is doing IPv4 instead, it just follows the same steps as the OSPFv2 version below. no cap, it's the same vibe, just swapped ๐
On a node that does X-AF routing, every OSPF instance uses the Node Local Address sub-TLV to advertise all the X-AF addresses local to the router that CSPF (Constrained Shortest Path First) can use to calculate MPLS TE LSPs. For OSPFv2 instances that's the IPv6 addresses, and for OSPFv3 it's the IPv4 ones. Here's the breakdown ๐
- The OSPF instance MUST advertise the IP address listed in the Router Address TLV [RFC3630] [RFC5329] of the X-AF instance that's maintaining the TE database. (this one is non-negotiable, periodt ๐)
- The OSPF instance SHOULD include additional local addresses that the X-AF OSPF instance advertised in its Node Local Address sub-TLVs. ๐ธ
- An implementation MAY advertise other local X-AF addresses. ๐ฆ
When TE info gets advertised in an OSPF instance, both natively (so, as per RFC [RFC3630] or [RFC5329]) and as an X-AF Node Attribute TLV, it's up to local configuration to decide which TE database gets used to compute routes for that OSPF instance. Your config is the boss here ๐
Now for ABRs (Area Border Routers) ๐. Each advertised X-AF IP address MUST be advertised into, at most, one area. Like, it can only live in one area, no sharing ๐ โโ๏ธ. If OSPFv2 and OSPFv3 ABRs are the same router (meaning the areas for all OSPFv2 and OSPFv3 interfaces are the same), then the X-AF addresses MUST be advertised into the same area in both instances. This lets other ABRs hooked up to the same set of areas figure out which area to link computed MPLS TE tunnels with. it's giving organized ๐
During the X-AF routing calculation, X-AF IP addresses get used to map locally created LSPs to tail-end routers in the LSDB. The mapping algorithm goes like this (fenced so you can see the exact steps ๐):
Walk the list of all MPLS TE tunnels for which the computing
router is a head end. For each MPLS TE tunnel T:
1. If T's destination address is from the same address family as
the OSPF instance associated with the LSDB, then the
extensions defined in this document do not apply.
2. Otherwise, it is a X-AF MPLS TE tunnel. Note the tunnel's
destination IP address.
3. Walk the X-AF IP addresses in the LSDBs of all connected
areas. If a matching IP address is found, advertised by
router R in area A, then mark the tunnel T as belonging to
area A and terminating on tail-end router R. Assign the
intra-area SPF cost to reach router R within area A as the IGP
cost of tunnel T.
After all that's done, every TE tunnel is tied to an area and a tail-end router, based on the routing LSDB of the computing OSPF instance, and it has a cost. โจ Iconic.
The algorithm above only gets used if the Node Local Address sub-TLV includes X-AF info. ๐
Also, the mapping algorithm is written as one single calculation just so it's easier to read. Implementations are allowed to do equivalent mapping functionality without following the algorithm step by step. The spec is chill about how you get there ๐
Example time! ๐ Picture a router in a dual-stack network running OSPFv2 for IPv4 and OSPFv3 for IPv6. Say the OSPFv2 instance is the one used to spread MPLS TE info, and the router is set up to accept TE LSPs ending at the local addresses 198.51.100.1 and 198.51.100.2. The router advertises 198.51.100.1 in OSPFv2's Router Address TLV, puts the extra local IPv4 address 198.51.100.2 in the Node IPv4 Local Address sub-TLV, and includes whatever other TE TLVs [RFC3630] asks for. Now if the OSPFv3 instance in the network is set up for X-AF TE routing (meaning it uses MPLS TE LSPs computed by OSPFv2 for IPv6 routing), then the router's OSPFv3 instance advertises the Node IPv4 Local Address sub-TLV listing 198.51.100.1 and 198.51.100.2. Other routers in the OSPFv3 network use that info to reliably identify this router as the egress LSR for MPLS TE LSPs ending at either of those addresses. main character energy ๐ฌ
4. Backward Compatibility ๐
Only routers that act as endpoints for one or more TE tunnels MUST be upgraded to support the procedures in this document. Here's what they do ๐
- Tunnel tail-end routers advertise the Node IPv4 Local Address sub-TLV and/or the Node IPv6 Local Address sub-TLV. ๐ก
- Tunnel head-end routers perform the X-AF routing calculation. ๐งฎ
Both endpoints MUST be upgraded before the tail end starts advertising the X-AF info. โซ The other routers in the network don't need to support X-AF procedures at all, so they can just chill ๐
4.1. Automatically Switched Optical Networks ๐ก
[RFC6827] updates [RFC5786] by defining extensions to be used in an Automatically Switched Optical Network (ASON). The Local TE Router ID sub-TLV is required for determining ASON reachability. What that means is that if the Local TE Router ID sub-TLV is present in the Node Attribute TLV, then the procedures in [RFC6827] apply, whether or not any X-AF information is advertised. โจ it's giving "the rules kick in based on this one sub-TLV" energy
5. Security Considerations ๐๐
okay bestie, this part is serious, so read it closely ๐ซฃ
This document describes how the Local Address sub-TLVs are used to provide X-AF information. Advertising these sub-TLVs in any OSPF instance is not blocked by [RFC5786]. So, no new security threats are introduced beyond what's already covered in OSPFv2 [RFC2328], OSPFv3 [RFC5340], and [RFC5786]. Phew ๐ฎโ๐จ
The X-AF information is not used for SPF computation or normal routing, so the mechanism in this document has no effect on IP routing. HOWEVER (and this is the drama ๐ค), generating incorrect information or messing with the sub-TLVs may affect traffic engineering computations. Specifically, TE traffic may get delivered to the wrong tail-end router. That could lead to suboptimal routing, traffic loops, or exposing the traffic to an attacker who can inspect or modify it. ๐จ Those threats already exist in other TE-related specs, and their considerations apply here too, including [RFC3630] and [RFC5329]. Please take this seriously, periodt ๐
6. IANA Considerations ๐
This document has no IANA actions. ๐ท Nothing to register, nothing to update, we're good.
7. References ๐
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
(TE) Extensions to OSPF Version 2", RFC 3630,
DOI 10.17487/RFC3630, September 2003,
<https://www.rfc-editor.org/info/rfc3630>.
[RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed.,
"Traffic Engineering Extensions to OSPF Version 3",
RFC 5329, DOI 10.17487/RFC5329, September 2008,
<https://www.rfc-editor.org/info/rfc5329>.
[RFC5786] Aggarwal, R. and K. Kompella, "Advertising a Router's
Local Addresses in OSPF Traffic Engineering (TE)
Extensions", RFC 5786, DOI 10.17487/RFC5786, March 2010,
<https://www.rfc-editor.org/info/rfc5786>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998,
<https://www.rfc-editor.org/info/rfc2328>.
[RFC3906] Shen, N. and H. Smit, "Calculating Interior Gateway
Protocol (IGP) Routes Over Traffic Engineering Tunnels",
RFC 3906, DOI 10.17487/RFC3906, October 2004,
<https://www.rfc-editor.org/info/rfc3906>.
[RFC4461] Yasukawa, S., Ed., "Signaling Requirements for Point-to-
Multipoint Traffic-Engineered MPLS Label Switched Paths
(LSPs)", RFC 4461, DOI 10.17487/RFC4461, April 2006,
<https://www.rfc-editor.org/info/rfc4461>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>.
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and
R. Aggarwal, "Support of Address Families in OSPFv3",
RFC 5838, DOI 10.17487/RFC5838, April 2010,
<https://www.rfc-editor.org/info/rfc5838>.
[RFC6827] Malis, A., Ed., Lindem, A., Ed., and D. Papadimitriou,
Ed., "Automatically Switched Optical Network (ASON)
Routing for OSPFv2 Protocols", RFC 6827,
DOI 10.17487/RFC6827, January 2013,
<https://www.rfc-editor.org/info/rfc6827>.
Acknowledgements ๐ซถ
The authors would like to thank Peter Psenak and Eric Osborne for early discussions, and Acee Lindem for discussing compatibility with ASON extensions. ๐ Also, Eric Vyncke, Ben Kaduk, and Roman Danyliw provided useful comments. ๐
We would also like to thank the authors of RFC 5786 for laying down the foundation for this work. ๐งฑโจ
Authors' Addresses ๐
Anton Smirnov
Cisco Systems, Inc.
De Kleetlaan 6a
1831 Diegem
Belgium
Email: as@cisco.com
Alvaro Retana
Futurewei Technologies, Inc.
2330 Central Expressway
Santa Clara, CA 95050
United States of America
Email: alvaro.retana@futurewei.com
Michael Barnes
Email: michael_barnes@usa.net
๐ฆ where this page comes from
- ietf: rfc8687 2019-11
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms