Internet-Draft | Advertising Unreachable Links in OSPF | December 2024 |
Gong, et al. | Expires 12 June 2025 | [Page] |
In certain scenarios, it is necessary to advertise unreachable links in OSPF, which should be explicitly excluded from the related SPF calculation. This document specifies using LSLinkInfinity(0xffff) to advertise an OSPF link as unreachable.¶
Stub Router Advertisement (RFC 6987) defines MaxLinkMetric (0xffff) to indicate a router-LSA link should not be used for transit traffic. This document updates RFC 6987 and RFC 8770. When an OSPFv2 router supports the Unreachable Link support capability defined in this document, the OSPFv2 stub router MaxLinkMetric(0xffff) MUST be updated to MaxReachableLinkMetric(0xfffe).¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 12 June 2025.¶
Copyright (c) 2024 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
In specific scenarios, there is a requirement to advertise unreachable links in OSPF, which MUST NOT be considered during the standard SPF computation. For example, a link may be available for Traffic Engineering (TE) purposes but not suitable for hop-by-hop routing. Another example is an OSPF link with dedicated resources for a network slice included in a Flexible Algorithm (Flex- Algorithm) but excluded from the default topology.¶
This document proposes a mechanism to advertise infinity links in OSPF.¶
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.¶
A network topology is shown in Figure 1. There is a link available for Traffic Engineering between Node A and E. If this link is used for SPF calculations, best-effort traffic will be routed on the link.¶
TE Link --------- / \ / \ A------C------E | | | | | | | | | B------D------F Figure 1: Network Topology¶
A network topology is shown in Figure 2. The links between nodes A, B, C, and D are to be used exclusively for a flex-algorithm used for a specific network slice. These links have an Extended Administrative Group (EAG) [RFC7308] attribute specifying the "red" color.¶
****** A------C------E |* |* | |* |* | ******: "red" link |* |* | B------D------F ****** Figure 2: Network Topology¶
Flex-Algorithm 128 is enabled on Nodes A, B, C, and D, with an EAG rule including "red" and the Metric-Type is designated to be a type other than the IGP metric. Flex-Algorithm allows OSPF to compute the paths along the constrained topology. The topology used by Flex- Algorithm 128 is shown in Figure 3.¶
A******C * * * * * * B******D Figure 3: Topology of Flex-Algorithm 128¶
Flex-Algorithm 128 is used for routing particular flows, such as those for a network slice. The "red" links used by Flex-Algorithm 128 are sub-interfaces with dedicated queues for guaranteed bandwidth. Sub-interfaces in other network slices and default topology are omitted from the example figure for clarity. So, it is expected that only the particular flows are routed on these links using Flex-Algorithm 128. However, these links are also contained in the default topology computed by the normal SPF calculation, and these links may also be used for best-effort traffic. Therefore, it is a problem that the dedicated links for Flex-Algorithm are still reachable in base SPF calculation.¶
If the IGP metrics for all the "red" links are advertised as unreachable, the base topology will be as shown in Figure 4, excluding all the "red" links. This allows only the network slice traffic to be routed on the "red" links by Flex-Algorithm 128.¶
A------C------E | | | | | | | | | B------D------F Figure 4: Base SPF Topology Excluding Unreachable Links¶
This document specifies that if the IGP metric of a link is advertised as LSLinkInfinity (0xffff), it MUST NOT be considered during the related SPF computation. This applies to both the Flex- Algorithm SPF and the base SPF as long as LSLinkInfinity is specified for the IGP metric.¶
Prior to this specification, OSPF treated links advertised as LSLinkInfinity as reachable [RFC2328]. Hence, partial deployment of this specification may result in routing loops due to inconsistent interpretation of LSLinkInfinity. For example in the network shown in Figure 5, link D-F is advertised with LSLinkInfinity(65535/0xffff). Router A supports LSLinkInfinity as unreachable, but router B does not. Router A considers link D-F as reachable, and the shortest path to F is A->B->D->F. Router B considers link D-F as unreachable, and the shortest path to F is B->A->C->E->F. As a result, A forwards the packets to B, but B returns them to A, which results in a routing loop.¶
40000 40000 Traffic: A->F A------C------E A considers link D-F as reachable | | A's shortest path: A->B->D->F 5| |5 B considers link D-F as unreachable | | B's shortest path: B->A->C->E->F B------D------F 5 65535 Figure 5: Inconsistent LSLinkInfinity Interpretation Causing Loops¶
To provide backward compatibility, this document defines that routers supporting LSLinkInfinity for unreachable links MUST advertise a Router Information (RI) LSA advertisement of a Router Informational Capabilities TLV [RFC7770] including the following Router Informational Capability Bit:¶
Bit | Capabilities |
---|---|
TBA | Unreachable Link support |
OSPF Routers MUST NOT treat links with an advertised metric of LSLinkInfinity as unreachable unless all routers in the OSPF area have advertised this capability. If all OSPF Routers in the area have advertised this capability, then links with an advertised metric of LSLinkInfinity MUST be treated as unreachable. Upon detection of a change in the number of routers in the area not supporting the Unreachable Link support capability changes to 0 or from 0 to greater than 0, all OSPF routers in the area MUST recalculate their routes.¶
An IGP metic with LSLinkInfinity indicating a link is unreachable is applicable to the following TLVs/LSAs:¶
Stub Router Advertisement [RFC6987] defines MaxLinkMetric (0xffff) to indicate a router-LSA link should not be used for transit traffic.¶
This document updates [RFC6987] and [RFC8770]. When an OSPFv2 router supports the Unreachable Link support capability defined in this document, the OSPFv2 stub router MaxLinkMetric(0xffff) MUST be updated to MaxReachableLinkMetric(0xfffe).¶
When an OSPFv2 router supports [RFC6987] and the Unreachable Link support capability defined in this document, it MUST also support [RFC8770]. When announcing itself as a stub router, it MUST set the H-bit in the router-LSA and advertise all its non-stub links with a link cost of MaxReachableLinkMetric (0xfffe). Since MaxLinkMetric will not be used to indicate a link is unreachable unless all OSPFv2 routers in the area support this specification as specified in section 3, all routers in the area will also support the H-bit and the usage of MaxReachableLinkMetric to indicate an OSPF stub router link should not be used for transit traffic.¶
An OSPFv3 router can simply use the R-bit [RFC5340] for stub router advertisement.¶
Support of the Unreachable Link support capability SHOULD be configurable.¶
In some networks, the operator may still want links with maximum metric(0xffff) to be treated as reachable. For example, when auto- costing of links is used and there is a mix of low-speed and high- speed links. In such cases, the updated routers can disable the Unreachable Link support capability and still treat links with maximum metric as reachable.¶
It is also RECOMMENDED that implementations supporting this document and auto-costing limit the maximum computed cost to MaxReachableLinkMetric (0xfffe).¶
The document does not introduce any new security issues for the OSPF protocol. The security considerations for [RFC2328],[RFC5340], [RFC6987], and [RFC7770] are applicable to protocol extension.¶
This document defines a new bit in the registry "OSPF Router Functional Capability Bits":¶
Bit Number | Capability Name | Reference |
---|---|---|
0(TBD) | Unreachable Link support | This document |
The following individuals have contributed to this document:¶