RFC 8687 PROPOSED STANDARD OSPF · TRAFFIC ENGINEERING · MPLS

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.

On rfc-editor.org ↗
PUBLISHED
November 2019
AUTHORS
A. Smirnov, A. Retana, M. Barnes
STREAM
IETF
BUILDS ON
RFC 5786 — OSPF TE Local Addresses
SUB-TLVS USED
Node IPv4 / IPv6 Local Address
X-AF ADDRESS PER ABR
Advertised into at most one area
IANA ACTIONS
None
DOI
10.17487/RFC8687

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMIn a dual-stack network, MPLS TE tunnels may be duplicated for IPv4 and IPv6. A router running one OSPF instance cannot reliably map a tunnel's destination in the other address family to the right tail-end router.
MECHANISMEach router advertises its local addresses of the other address family in the Node IPv4 or Node IPv6 Local Address sub-TLV. Head-end routers match tunnel destinations against these addresses to find the tail-end router and area.
WHY IT MATTERSOne set of TE tunnels can serve both IPv4 and IPv6 routing. The RFC updates RFC 5786 and only tunnel endpoints need upgrading.

§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.

WHAT EACH INSTANCE ADVERTISES
  • 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:

  1. 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.
  2. Otherwise it is an X-AF tunnel, so note its destination IP address.
  3. 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.

§7References