OSPF cross-AF TE tunnels: OSPF Routing with Cross-Address Family Traffic Engineering Tunnels
Lets OSPF find the right tail-end router for traffic engineering tunnels built from the other address family's OSPF data.
Smirnov, A., Retana, A., and M. Barnes, "OSPF Routing with Cross-Address Family Traffic Engineering Tunnels", RFC 8687, DOI 10.17487/RFC8687, November 2019, <https://www.rfc-editor.org/info/rfc8687>.
@misc{rfc8687,
series = {Request for Comments},
number = 8687,
howpublished = {RFC 8687},
publisher = {RFC Editor},
doi = {10.17487/RFC8687},
url = {https://www.rfc-editor.org/info/rfc8687},
author = {A. Smirnov and A. Retana and M. Barnes},
title = {{OSPF Routing with Cross-Address Family Traffic Engineering Tunnels}},
pagetotal = 8,
year = 2019,
month = nov,
} RFC text
Contents
Internet Engineering Task Force (IETF) A. Smirnov
Request for Comments: 8687 Cisco Systems, Inc.
Updates: 5786 A. Retana
Category: Standards Track Futurewei Technologies, Inc.
ISSN: 2070-1721 M. Barnes
November 2019
OSPF Routing with Cross-Address Family Traffic Engineering Tunnels
Abstract
When using Traffic Engineering (TE) in a dual-stack IPv4/IPv6
network, the Multiprotocol Label Switching (MPLS) TE Label Switched
Path (LSP) infrastructure may be duplicated, even if the destination
IPv4 and IPv6 addresses belong to the same remote router. In order
to achieve an integrated MPLS TE LSP infrastructure, OSPF routes must
be computed over MPLS TE tunnels created using information propagated
in another OSPF instance. This issue is solved by advertising cross-
address family (X-AF) OSPF TE information.
This document describes an update to RFC 5786 that allows for the
easy identification of 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
TE extensions to OSPFv2 [RFC3630] and OSPFv3 [RFC5329] have been
described to support intra-area TE in IPv4 and IPv6 networks,
respectively. In both cases, the TE database provides a tight
coupling between the routed protocol and advertised TE signaling
information. In other words, any use of the TE database is limited
to IPv4 for OSPFv2 [RFC2328] and IPv6 for OSPFv3 [RFC5340].
In a dual-stack network, it may be desirable to set up common MPLS TE
LSPs to carry traffic destined to addresses from different address
families on a router. The use of common LSPs eases potential
scalability and management concerns by halving the number of LSPs in
the network. Besides, it allows operators to group traffic based on
business characteristics, class of service, and/or applications; the
operators are not constrained by the network protocol used.
For example, an LSP created based on MPLS TE information propagated
by an OSPFv2 instance can be used to transport both IPv4 and IPv6
traffic, as opposed to using both OSPFv2 and OSPFv3 to provision a
separate LSP for each address family. Even if, in some cases, the
address-family-specific traffic is to be separated, calculation from
a common TE database may prove to 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 or any
similar algorithm to work with a common MPLS TE infrastructure in a
dual-stack network, a requirement is to reliably map the X-AF
addresses to the corresponding tail-end router. This mapping is a
challenge because the Link State Advertisements (LSAs) containing the
routing information are carried in one OSPF instance, while the TE
calculations may be done using a TE database from a different OSPF
instance.
A simple solution to this problem is to rely on the Router ID to
identify a node in the corresponding OSPFv2 and OSPFv3 Link State
Databases (LSDBs). This solution would mandate both instances on the
same router to be configured with the same Router ID. However,
relying on the correctness of configuration puts additional burden
and cost on the operation of the network. The network becomes even
more difficult to manage if OSPFv2 and OSPFv3 topologies do not match
exactly, for example, if area borders are chosen differently in the
two protocols. Also, if the routing processes do fall out of sync
(e.g., having different Router IDs for local administrative reasons),
there is no defined way for other routers to discover such
misalignment and to take corrective measures (such as to avoid
routing traffic through affected TE tunnels or alerting the network
administrators). The use of misaligned Router IDs may result in
delivering the traffic to the wrong tail-end router, which could lead
to suboptimal routing or even traffic loops.
This document describes an update to [RFC5786] that allows for the
easy identification of 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 for a router to advertise additional
local IPv4 and IPv6 addresses. However, [RFC5786] did not describe
the advertisement and usage of these sub-TLVs when the address family
of the advertised local address differed from the address family of
the OSPF traffic engineering protocol.
This document updates [RFC5786] so that 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 also use the same sub-TLVs to carry X-AF
information, facilitating the mapping described above.
The method specified 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]. Considerations of using
Point-to-Multipoint MPLS TE for X-AF traffic forwarding is outside
the scope of this document.
2. Requirements Language
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.
3. Operation
To implement the X-AF routing technique described in this document,
OSPFv2 will advertise the Node IPv6 Local Address sub-TLV and OSPFv3
will advertise the Node IPv4 Local Address sub-TLV, possibly in
addition to advertising other IP addresses as documented by
[RFC5786].
Multiple instances of OSPFv3 are needed if it is used for both IPv4
and IPv6 [RFC5838]. The operation in this section is described with
OSPFv2 as the protocol used for IPv4; that is the most common case.
The case of OSPFv3 being used for IPv4 follows the same procedure as
what is indicated for OSPFv2 below.
On a node that implements X-AF routing, each OSPF instance
advertises, using the Node Local Address sub-TLV, all X-AF IPv6 (for
OSPFv2 instance) or IPv4 (for OSPFv3) addresses local to the router
that can be used by the Constrained Shortest Path First (CSPF) to
calculate MPLS TE LSPs:
* The OSPF instance MUST advertise the IP address listed in the
Router Address TLV [RFC3630] [RFC5329] of the X-AF instance
maintaining the TE database.
* The OSPF instance SHOULD include additional local addresses
advertised by the X-AF OSPF instance in its Node Local Address
sub-TLVs.
* An implementation MAY advertise other local X-AF addresses.
When TE information is advertised in an OSPF instance, both natively
(i.e., as per RFC [RFC3630] or [RFC5329]) and as X-AF Node Attribute
TLV, it is left to local configuration to determine which TE database
is used to compute routes for the OSPF instance.
On Area Border Routers (ABRs), each advertised X-AF IP address MUST
be advertised into, at most, one area. If OSPFv2 and OSPFv3 ABRs
coincide (i.e., 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 allows other ABRs connected to the same
set of areas to know with which area to associate computed MPLS TE
tunnels.
During the X-AF routing calculation, X-AF IP addresses are used to
map locally created LSPs to tail-end routers in the LSDB. The
mapping algorithm can be described as:
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 completing this calculation, each TE tunnel is associated with
an area and tail-end router in terms of the routing LSDB of the
computing OSPF instance and has a cost.
The algorithm described above is to be used only if the Node Local
Address sub-TLV includes X-AF information.
Note that, for clarity of description, the mapping algorithm is
specified as a single calculation. Implementations may choose to
support equivalent mapping functionality without implementing the
algorithm as described.
As an example, consider a router in a dual-stack network using OSPFv2
and OSPFv3 for IPv4 and IPv6 routing, respectively. Suppose the
OSPFv2 instance is used to propagate MPLS TE information and the
router is configured to accept TE LSPs terminating at local addresses
198.51.100.1 and 198.51.100.2. The router advertises in OSPFv2 the
IPv4 address 198.51.100.1 in the Router Address TLV, the additional
local IPv4 address 198.51.100.2 in the Node IPv4 Local Address sub-
TLV, and other TE TLVs as required by [RFC3630]. If the OSPFv3
instance in the network is enabled for X-AF TE routing (that is, to
use MPLS TE LSPs computed by OSPFv2 for IPv6 routing), then the
OSPFv3 instance of the router will advertise the Node IPv4 Local
Address sub-TLV listing the local IPv4 addresses 198.51.100.1 and
198.51.100.2. Other routers in the OSPFv3 network will use this
information to reliably identify this router as the egress LSR for
MPLS TE LSPs terminating at either 198.51.100.1 or 198.51.100.2.
4. Backward Compatibility
Only routers that serve as endpoints for one or more TE tunnels MUST
be upgraded to support the procedures described herein:
* 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 the endpoints MUST be upgraded before the tail end starts
advertising the X-AF information. Other routers in the network do
not need to support X-AF procedures.
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. The
implication is that if the Local TE Router ID sub-TLV is present in
the Node Attribute TLV, then the procedures in [RFC6827] apply,
regardless of whether any X-AF information is advertised.
5. Security Considerations
This document describes the use of the Local Address sub-TLVs to
provide X-AF information. The advertisement of these sub-TLVs, in
any OSPF instance, is not precluded by [RFC5786]. As such, no new
security threats are introduced beyond the considerations in OSPFv2
[RFC2328], OSPFv3 [RFC5340], and [RFC5786].
The X-AF information is not used for SPF computation or normal
routing, so the mechanism specified here has no effect on IP routing.
However, generating incorrect information or tampering with the sub-
TLVs may have an effect on traffic engineering computations.
Specifically, TE traffic may be delivered to the wrong tail-end
router, which could lead to suboptimal routing, traffic loops, or
exposing the traffic to attacker inspection or modification. These
threats are already present in other TE-related specifications, and
their considerations apply here as well, including [RFC3630] and
[RFC5329].
6. IANA Considerations
This document has no IANA actions.
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
AI ELI5
On this page
§1One Tunnel Set for Two Address Families
Traffic engineering (TE) extensions exist for OSPFv2 (RFC 3630) and OSPFv3 (RFC 5329), but the TE database is tightly coupled to its own address family: IPv4 for OSPFv2 and IPv6 for OSPFv3. In a dual-stack network it can be better to use common MPLS TE label switched paths (LSPs) for both kinds of traffic. This halves the number of LSPs, eases scalability and management concerns, and lets operators group traffic by business needs, class of service or application.
To compute shortcut routes over TE tunnels, for example with the algorithm in RFC 3906, the head-end router must reliably map a destination address of the other address family to the corresponding tail-end router. That is hard because the routing LSAs live in one OSPF instance while the TE database may belong to another.
This document updates RFC 5786, which defined the Node IPv4 Local Address and Node IPv6 Local Address sub-TLVs of the Node Attribute TLV but did not describe their use when the advertised address family differs from the family of the OSPF TE protocol. The RFC lets a router announce one or more local cross-address-family (X-AF) addresses with these sub-TLVs.
Instead of building one road for IPv4 cars and a second for IPv6 cars, build one road and teach everyone how to find the right house on it.
§1.1Why Router IDs Are Not Enough
A simple idea is to identify a node by its Router ID in both the OSPFv2 and OSPFv3 link state databases. That would force both instances on a router to use the same Router ID, so correctness would depend on configuration, adding burden and cost. It gets worse if the two topologies differ, for example if area borders are chosen differently.
If the processes fall out of sync, there is no defined way for other routers to notice the mismatch and react, such as by avoiding the affected tunnels or alerting administrators. Misaligned Router IDs may deliver traffic to the wrong tail-end router, which could cause suboptimal routing or even traffic loops. Advertising addresses explicitly avoids relying on matching IDs.
Matching people by one shared ID badge only works if every office hands out the same badge. Listing each person's actual addresses is safer.
§2What Routers Advertise
To use X-AF routing, OSPFv2 advertises the Node IPv6 Local Address sub-TLV and OSPFv3 advertises the Node IPv4 Local Address sub-TLV, possibly alongside other addresses allowed by RFC 5786. When OSPFv3 carries IPv4, multiple OSPFv3 instances are needed (RFC 5838); the text is written with OSPFv2 as the IPv4 protocol, the most common case.
On a node that implements X-AF routing, each OSPF instance advertises the X-AF local addresses usable by the Constrained Shortest Path First (CSPF) calculation for MPLS TE LSPs:
- It MUST advertise the address listed in the Router Address TLV of the X-AF instance that maintains the TE database.
- It SHOULD include additional local addresses advertised by the X-AF OSPF instance in its Node Local Address sub-TLVs.
- It MAY advertise other local X-AF addresses.
If TE information is advertised in an instance both natively and as an X-AF Node Attribute TLV, local configuration decides which TE database is used to compute routes for that instance.
On Area Border Routers, each advertised X-AF address MUST be advertised into at most one area. If the OSPFv2 and OSPFv3 ABRs coincide, with the same areas for all interfaces, the X-AF addresses MUST go into the same area in both instances, so other ABRs know which area to associate with computed tunnels.
Each router writes its other-kind address in its card in the other phone book. The rules say which addresses it must, should or may list.
- MUSTThe Router Address TLV address of the X-AF instance holding the TE database.
- SHOULDAdditional local addresses advertised by the X-AF instance.
- MAYOther local X-AF addresses.
§3Mapping Tunnels to Tail-End Routers
During the X-AF routing calculation, the router walks the list of MPLS TE tunnels for which it is the head end. For each tunnel T:
- If T's destination address is from the same address family as the OSPF instance of the LSDB, the extensions in this RFC do not apply.
- Otherwise it is an X-AF tunnel, so note its destination IP address.
- Walk the X-AF IP addresses in the LSDBs of all connected areas. If a match is found, advertised by router R in area A, mark T as belonging to area A and ending on tail-end router R, and assign the intra-area SPF cost to reach R in A as the IGP cost of T.
Afterwards each tunnel has an area, a tail-end router and a cost in terms of the routing LSDB. The algorithm is used only if the Node Local Address sub-TLV includes X-AF information. It is described as a single calculation for clarity, and implementations may use any equivalent mapping.
In the RFC's example, a router accepts TE LSPs ending at the local IPv4 addresses 198.51.100.1 and 198.51.100.2. OSPFv2 advertises 198.51.100.1 in the Router Address TLV and 198.51.100.2 in the Node IPv4 Local Address sub-TLV. An X-AF-enabled OSPFv3 instance advertises both addresses in the Node IPv4 Local Address sub-TLV, so other routers identify this router as the egress for LSPs ending at either address.
For each tunnel, look up its destination address in the other phone book. The match tells you which router is at the end and how far away it is.
§4Backward Compatibility
Only routers that are endpoints of TE tunnels MUST be upgraded. Tail-end routers advertise the Node IPv4 and/or Node IPv6 Local Address sub-TLV, and head-end routers perform the X-AF calculation. Both endpoints MUST be upgraded before the tail end starts advertising X-AF information. Other routers do not need to support the X-AF procedures.
There is one interaction with optical networks. RFC 6827 also updates RFC 5786, for Automatically Switched Optical Networks (ASON), and requires the Local TE Router ID sub-TLV. If that sub-TLV is present in the Node Attribute TLV, the RFC 6827 procedures apply whether or not any X-AF information is advertised.
Only the two ends of each road need the new map. Everyone in between can carry on as before.
§5Security and IANA
The Local Address sub-TLVs may already be advertised in any OSPF instance under RFC 5786, so no new threats arise beyond those in OSPFv2, OSPFv3 and RFC 5786. X-AF information is not used for SPF computation or normal routing, so it has no effect on IP routing itself.
Incorrect or tampered sub-TLVs can still affect TE computations. TE traffic may reach the wrong tail-end router, leading to suboptimal routing, traffic loops, or exposure of the traffic to inspection or modification by an attacker. These threats already exist in other TE specifications such as RFC 3630 and RFC 5329, whose considerations apply here. The document has no IANA actions.
If someone writes a wrong address in the phone book, traffic could end up at the wrong house. That risk already existed for the older books.