draft-ietf-rtgwg-multihomed-prefix-lfa-09.txt | rfc8518.txt | |||
---|---|---|---|---|
Routing Area Working Group P. Sarkar, Ed. | Internet Engineering Task Force (IETF) P. Sarkar, Ed. | |||
Internet-Draft Arrcus, Inc. | Request for Comments: 8518 Arrcus, Inc. | |||
Updates: 5286 (if approved) U. Chunduri, Ed. | Updates: 5286 U. Chunduri, Ed. | |||
Intended status: Standards Track Huawei USA | Category: Standards Track Huawei USA | |||
Expires: May 25, 2019 S. Hegde | ISSN: 2070-1721 S. Hegde | |||
Juniper Networks, Inc. | Juniper Networks, Inc. | |||
J. Tantsura | J. Tantsura | |||
Apstra, Inc. | Apstra, Inc. | |||
H. Gredler | H. Gredler | |||
RtBrick, Inc. | RtBrick, Inc. | |||
November 21, 2018 | March 2019 | |||
Loop-Free Alternates selection for Multi-Homed Prefixes | Selection of Loop-Free Alternates for Multi-Homed Prefixes | |||
draft-ietf-rtgwg-multihomed-prefix-lfa-09 | ||||
Abstract | Abstract | |||
Deployment experience gained from implementing algorithms to | Deployment experience gained from implementing algorithms to | |||
determine Loop-Free Alternates (LFAs) for multi-homed prefixes has | determine Loop-Free Alternates (LFAs) for multi-homed prefixes (MHPs) | |||
revealed some avenues for potential improvement. This document | has revealed some avenues for potential improvement. This document | |||
provides explicit inequalities that can be used to evaluate neighbors | provides explicit inequalities that can be used to evaluate neighbors | |||
as a potential alternates for multi-homed prefixes. It also provides | as potential alternates for MHPs. It also provides detailed criteria | |||
detailed criteria for evaluating potential alternates for external | for evaluating potential alternates for external prefixes advertised | |||
prefixes advertised by OSPF ASBRs. This documents updates and | by OSPF ASBRs. This document updates Section 6 of RFC 5286 by | |||
expands some of the "Routing Aspects" as specified in Section 6 of | expanding some of the routing aspects. | |||
RFC 5286. | ||||
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 RFC8174 [RFC2119] RFC8174 [RFC8174] when, and only when, they | ||||
appear in all capitals, as shown here. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on May 25, 2019. | 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/rfc8518. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction ....................................................3 | |||
1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Acronyms ...................................................4 | |||
2. LFA inequalities for MHPs . . . . . . . . . . . . . . . . . . 4 | 1.2. Requirements Language ......................................4 | |||
3. LFA selection for the multi-homed prefixes . . . . . . . . . 5 | 2. LFA Inequalities for MHPs .......................................4 | |||
3.1. Improved coverage with simplified approach to MHPs . . . 7 | 3. LFA Selection for MHPs ..........................................6 | |||
3.2. IS-IS ATT Bit considerations . . . . . . . . . . . . . . 8 | 3.1. Improved Coverage with Simplified Approach to MHPs .........7 | |||
4. LFA selection for the multi-homed external prefixes . . . . . 9 | 3.2. IS-IS ATT Bit Considerations ...............................9 | |||
4.1. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4. LFA Selection for Multi-Homed External Prefixes ................10 | |||
4.2. OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4.1. IS-IS .....................................................10 | |||
4.2.1. Rules to select alternate ASBR . . . . . . . . . . . 9 | 4.2. OSPF ......................................................10 | |||
4.2.1.1. Multiple ASBRs belonging different area . . . . . 11 | 4.2.1. Rules to Select Alternate ASBRs ....................10 | |||
4.2.1.2. Type 1 and Type 2 costs . . . . . . . . . . . . . 11 | 4.2.1.1. Multiple ASBRs Belonging to Different Areas ..12 | |||
4.2.1.3. RFC1583compatibility is set to enabled . . . . . 11 | 4.2.1.2. Type 1 and Type 2 Costs ......................12 | |||
4.2.1.4. Type 7 routes . . . . . . . . . . . . . . . . . . 11 | 4.2.1.3. RFC1583Compatibility is Set to "Enabled" .....12 | |||
4.2.2. Inequalities to be applied for alternate ASBR | 4.2.1.4. Type 7 Routes ................................13 | |||
selection . . . . . . . . . . . . . . . . . . . . . . 12 | 4.2.2. Inequalities to Be Applied for Alternate ASBR | |||
4.2.2.1. Forwarding address set to non-zero value . . . . 12 | Selection ..........................................13 | |||
4.2.2.2. ASBRs advertising type1 and type2 cost . . . . . 13 | 4.2.2.1. Forwarding Address Set to Non-zero Value .....13 | |||
5. LFA Extended Procedures . . . . . . . . . . . . . . . . . . . 13 | 4.2.2.2. ASBRs Advertising Type 1 and Type 2 Costs ....14 | |||
5.1. Links with IGP MAX_METRIC . . . . . . . . . . . . . . . . 13 | 5. LFA Extended Procedures ........................................15 | |||
5.2. Multi Topology Considerations . . . . . . . . . . . . . . 14 | 5.1. Links with IGP MAX_METRIC .................................15 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 5.2. MT Considerations .........................................16 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | 6. IANA Considerations ............................................16 | |||
8. Contributing Authors . . . . . . . . . . . . . . . . . . . . 15 | 7. Security Considerations ........................................17 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 8. References .....................................................17 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 8.1. Normative References ......................................17 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 8.2. Informative References ....................................17 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 16 | Acknowledgements ..................................................19 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Contributors ......................................................19 | |||
Authors' Addresses ................................................20 | ||||
1. Introduction | 1. Introduction | |||
A framework for the development of IP fast-reroute mechanisms is | A framework for the development of IP Fast Reroute (FRR) mechanisms | |||
detailed in [RFC5714]. The use of LFAs for IP Fast Reroute is | is detailed in [RFC5714]. The use of LFAs for IP FRR is specified in | |||
specified in [RFC5286]. If a prefix is advertised by more than one | [RFC5286]. If a prefix is advertised by more than one router, that | |||
router that prefix is called as multi-homed prefix (MHP). MHPs | prefix is called a "multi-homed prefix (MHP)". MHPs generally occur | |||
generally occur for prefixes obtained from outside the routing domain | for prefixes obtained from outside the routing domain by multiple | |||
by multiple routers, for subnets on links where the subnet is | routers, for subnets on links where the subnet is announced from | |||
announced from multiple ends of the link, and for prefixes advertised | multiple ends of the link, and for prefixes advertised by multiple | |||
by multiple routers to provide resiliency. | routers to provide resiliency. | |||
Section 6.1 of [RFC5286] describes a method to determine LFAs for | Section 6.1 of [RFC5286] describes a method to determine LFAs for | |||
MHPs. This document describes a procedure using explicit | MHPs. This document describes a procedure using explicit | |||
inequalities that can be used by a computing router to evaluate a | inequalities that can be used by a computing router to evaluate a | |||
neighbor as a potential alternate for a MHP. The results obtained | neighbor as a potential alternate for an MHP. The results obtained | |||
are equivalent to those obtained using the method described in | are equivalent to those obtained using the method described in | |||
Section 6.1 of [RFC5286]. | Section 6.1 of [RFC5286]. | |||
Section 6.3 of [RFC5286] discusses complications associated with | Section 6.3 of [RFC5286] discusses complications associated with | |||
computing LFAs for MHPs in OSPF. This document provides detailed | computing LFAs for MHPs in OSPF. This document provides detailed | |||
criteria for evaluating potential alternates for external prefixes | criteria for evaluating potential alternates for external prefixes | |||
advertised by OSPF ASBRs, as well as explicit inequalities. | advertised by OSPF ASBRs, as well as explicit inequalities. | |||
This document also provides clarifications, additional considerations | This document also provides clarifications and additional | |||
to [RFC5286], to address a few coverage and operational observations. | considerations to [RFC5286] to address a few coverage and operational | |||
These observations are in the area of handling IS-IS attach (ATT) bit | observations. These observations are concerned with 1) the IS-IS ATT | |||
in Level-1 (L1) area, links provisioned with MAX_METRIC (see | (attach) bit in the Level 1 (L1) area, 2) links provisioned with | |||
Section 5.1) for traffic engineering (TE) purposes and in the area of | MAX_METRIC (see Section 5.1) for traffic engineering (TE) purposes, | |||
Multi Topology (MT) IGP deployments. These are elaborated in detail | and 3) multi-topology (MT) IGP deployments. These are elaborated in | |||
in Section 3.2 and Section 5. | detail in Sections 3.2 and 5. | |||
This specification uses the same terminology introduced in [RFC5714] | This specification uses the same terminology introduced in [RFC5714] | |||
to represent LFA and builds on the inequalities notation used in | to represent LFA and builds on the notation for inequalities used in | |||
[RFC5286] to compute LFAs for MHPs. | [RFC5286] to compute LFAs for MHPs. | |||
1.1. Acronyms | 1.1. Acronyms | |||
AF - Address Family | AF - Address Family | |||
ATT - IS-IS Attach Bit | ATT - IS-IS Attach Bit | |||
ECMP - Equal Cost Multi Path | ECMP - Equal-Cost Multipath | |||
FRR - Fast Reroute | ||||
IGP - Interior Gateway Protocol | IGP - Interior Gateway Protocol | |||
IS-IS - Intermediate System to Intermediate System | IS-IS - Intermediate System to Intermediate System | |||
LFA - Loop-Free Alternate | LFA - Loop-Free Alternate | |||
LSP - IS-IS Link State PDU | LSP - Link State PDU (IS-IS) | |||
OSPF - Open Shortest Path First | MHP - Multi-Homed Prefix | |||
MHP - Multi-homed Prefix | MT - Multi-Topology | |||
MT - Multi Topology | OSPF - Open Shortest Path First | |||
SPF - Shortest Path First | SPF - Shortest Path First | |||
2. LFA inequalities for MHPs | 1.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. | ||||
2. LFA Inequalities for MHPs | ||||
This document proposes the following set of LFA inequalities for | This document proposes the following set of LFA inequalities for | |||
selecting the most appropriate LFAs for MHPs. D_opt(X,Y) terminology | selecting the most appropriate LFAs for MHPs. Distance_opt(X,Y) | |||
is defined in [RFC5714], which is nothing but the metric sum of the | (called "D_opt(X,Y)" in this document) is defined in [RFC5714] and is | |||
shortest path from X to Y and Cost(X,Y) introduced in this document | nothing but the metric sum of the shortest path from X to Y. | |||
is defined as the metric value of prefix Y from the prefix | Cost(X,Y), introduced in this document, is defined as the metric | |||
advertising node X. These LFAs can be derived from the inequalities | value of prefix Y from the prefix advertising node X. These LFAs can | |||
in [RFC5286] combined with the observation that D_opt(N,P) = Min | be derived from the inequalities in [RFC5286] combined with the | |||
(D_opt(N,PO_i) + Cost(PO_i,P)) over all PO_i | observation that D_opt(N,P) = Min (D_opt(N,PO_i) + Cost(PO_i,P)) over | |||
all PO_i. | ||||
Link-Protection: | Link-Protecting LFAs: | |||
A neighbor N can provide a loop-free alternate (LFA) if and only if | A neighbor N can provide an LFA if and only if | |||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | |||
D_opt(S,PO_best) + Cost(PO_best,P) | D_opt(S,PO_best) + Cost(PO_best,P) | |||
Link-Protection + Downstream-paths-only: | Link-Protecting + Downstream-paths-only LFAs: | |||
A subset of loop-free alternates are downstream paths that must meet | A subset of loop-free alternates are downstream paths that must | |||
a more restrictive condition that is applicable to more complex | meet a more restrictive condition that is applicable to more | |||
failure scenarios | complex failure scenarios. | |||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(S,PO_best) + Cost(PO_best,P) | D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(S,PO_best) + Cost(PO_best,P) | |||
Node-Protection: | Node-Protecting LFAs: | |||
For an alternate next-hop N to protect against node failure of a | For an alternate next hop N to protect against node failure of a | |||
primary neighbor E for MHP P, N must be loop-free with | primary neighbor E for MHP P, N must be loop-free with respect to | |||
respect to both E and mhp P. In other words, N's path to MHP P must not go | both E and MHP P. In other words, N's path to MHP P must not go | |||
through E (where N is the neighbor providing a loop-free alternate) | through E (where N is the neighbor providing a loop-free | |||
alternate). | ||||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | |||
D_opt(E,PO_best) + Cost(PO_best,P) | D_opt(E,PO_best) + Cost(PO_best,P) | |||
Where, | Where: | |||
P - The multi-homed prefix being evaluated for | ||||
computing alternates | ||||
S - The computing router | ||||
N - The alternate router being evaluated | ||||
E - The primary next-hop on shortest path from S to | ||||
prefix P. | ||||
PO_i - The specific prefix-originating router being | ||||
evaluated. | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P. | ||||
Cost(X,P) - Cost of reaching the prefix P from prefix | ||||
originating node X. | ||||
D_opt(X,Y) - Distance on the shortest path from node X to node | ||||
Y. | ||||
Figure 1: LFA inequalities for MHPs | P - The MHP being evaluated for computing alternates | |||
3. LFA selection for the multi-homed prefixes | S - The computing router | |||
To compute a valid LFA for a given MHP P, a computing router S MUST | N - The alternate router being evaluated | |||
follow one of the appropriate procedures below, for each alternate | ||||
neighbor N and once for each remote node that originated the prefix | E - The primary next hop on the shortest path from S to | |||
prefix P | ||||
PO_i - The specific prefix-originating router being | ||||
evaluated | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P | ||||
Cost(X,P) - The cost of reaching the prefix P from prefix | ||||
originating node X | ||||
D_opt(X,Y) - The distance on the shortest path from node X to | ||||
node Y | ||||
3. LFA Selection for MHPs | ||||
To compute a valid LFA for a given MHP P, a computing router S MUST, | ||||
for each alternate neighbor N, follow one of the appropriate | ||||
procedures below once for each remote node that originated the prefix | ||||
P. | P. | |||
Link-Protection : | Link-Protecting LFAs: | |||
================= | ||||
1. if, in addition to being an alternate neighbor, N is also a prefix-originator of P, | ||||
1.a. Select N as a LFA for prefix P (irrespective of | ||||
the metric advertised by N for the prefix P). | ||||
2. Else, evaluate the link-protecting LFA inequality for P with | ||||
the N as the alternate neighbor. | ||||
2.a. If LFA inequality condition is met, | ||||
select N as a LFA for prefix P. | ||||
2.b. Else, N is not a LFA for prefix P. | ||||
Link-Protection + Downstream-paths-only : | 1. If, in addition to being an alternate neighbor, N is also a | |||
========================================= | prefix originator of P, | |||
1. Evaluate the link-protecting + downstream-only LFA inequality | ||||
for P with the N as the alternate neighbor. | ||||
1.a. If LFA inequality condition is met, | ||||
select N as a LFA for prefix P. | ||||
1.b. Else, N is not a LFA for prefix P. | ||||
Node-Protection : | A. Select N as an LFA for prefix P (irrespective of the metric | |||
================= | advertised by N for the prefix P). | |||
1. if, in addition to being an alternate neighbor, N is also a prefix-originator of P, | ||||
1.a. Select N as a LFA for prefix P (irrespective of | ||||
the metric advertised by N for the prefix P). | ||||
2. Else, evaluate the appropriate node-protecting LFA inequality | ||||
for P with the N as the alternate neighbor. | ||||
2.a. If LFA inequality condition is met, | ||||
select N as a LFA for prefix P. | ||||
2.b. Else, N is not a LFA for prefix P. | ||||
Figure 2: Rules for selecting LFA for MHPs | 2. Else, evaluate the link-protecting LFA inequality for P with N as | |||
the alternate neighbor. | ||||
In case an alternate neighbor N is also one of the prefix-originators | A. If the LFA inequality condition is met, select N as an LFA | |||
of prefix P, N being a prefix-originator it is guaranteed that N will | for prefix P. | |||
not loop back packets destined for prefix P to computing router S. | ||||
So N MUST be chosen as a valid LFA for prefix P, without evaluating | ||||
any of the inequalities in Figure 1 as long as downstream-paths-only | ||||
LFA is not desired. To ensure such a neighbor N also provides a | ||||
downstream-paths-only LFA, router S MUST also evaluate the | ||||
downstream-only LFA inequality specified in Figure 1 for neighbor N | ||||
and ensure router N satisfies the inequality. | ||||
However, if N is not a prefix-originator of P, the computing router | B. Else, N is not an LFA for prefix P. | |||
MUST evaluate one of the corresponding LFA inequalities, as mentioned | ||||
in Figure 1, once for each remote node that originated the prefix. | ||||
In case the inequality is satisfied by the neighbor N router S MUST | ||||
choose neighbor N, as one of the valid LFAs for the prefix P. | ||||
For more specific rules please refer to the later sections of this | Link-Protecting + Downstream-paths-only LFAs: | |||
document. | ||||
3.1. Improved coverage with simplified approach to MHPs | 1. Evaluate the link-protecting + downstream-paths-only LFA | |||
inequality for P with N as the alternate neighbor. | ||||
LFA base specification [RFC5286] Section 6.1 recommends that a router | A. If the LFA inequality condition is met, select N as an LFA | |||
computes the alternate next-hop for an IGP MHP by considering | for prefix P. | |||
alternate paths via all routers that have announced that prefix and | ||||
the same has been elaborated with appropriate inequalities in the | B. Else, N is not an LFA for prefix P. | |||
above section. However, [RFC5286] Section 6.1 also allows for the | ||||
router to simplify the MHP calculation by assuming that the MHP is | Node-Protecting LFAs: | |||
solely attached to the router that was its pre-failure optimal point | ||||
of attachment, at the expense of potentially lower coverage. If an | 1. If, in addition to being an alternate neighbor, N is also a | |||
implementation chooses to simplify the MHP calculation by assuming | prefix originator of P, | |||
that the MHP is solely attached to the router that was its pre- | ||||
failure optimal point of attachment, the procedure described in this | A. Select N as an LFA for prefix P (irrespective of the metric | |||
memo can potentially improve coverage for equal cost multi path | advertised by N for the prefix P). | |||
(ECMP) MHPs without incurring extra computational cost. | ||||
2. Else, evaluate the appropriate node-protecting LFA inequality for | ||||
P with N as the alternate neighbor. | ||||
A. If the LFA inequality condition is met, select N as an LFA | ||||
for prefix P. | ||||
B. Else, N is not an LFA for prefix P. | ||||
If an alternate neighbor N is also one of the prefix originators of | ||||
prefix P, it is guaranteed that N will not loop back packets destined | ||||
for prefix P to computing router S. Therefore, N MUST be chosen as a | ||||
valid LFA for prefix P without evaluating any of the inequalities in | ||||
Section 2 as long as a downstream-paths-only LFA is not desired. To | ||||
ensure such a neighbor N also provides a downstream-paths-only LFA, | ||||
router S MUST also evaluate the downstream-paths-only LFA inequality | ||||
specified in Section 2 for neighbor N and ensure router N satisfies | ||||
the inequality. | ||||
However, if N is not a prefix originator of P, the computing router | ||||
MUST evaluate one of the corresponding LFA inequalities defined in | ||||
Section 2 once for each remote node that originated the prefix. If | ||||
the inequality is satisfied by the neighbor N, router S MUST choose | ||||
neighbor N as one of the valid LFAs for the prefix P. | ||||
For more specific rules, please refer to Section 4. | ||||
3.1. Improved Coverage with Simplified Approach to MHPs | ||||
Section 6.1 of the LFA base specification [RFC5286] recommends that a | ||||
router computes the alternate next hop for an IGP MHP by considering | ||||
alternate paths via all routers that have announced that prefix. The | ||||
same has been elaborated with appropriate inequalities in the | ||||
previous section. However, Section 6.1 of [RFC5286] also allows for | ||||
the router to simplify the MHP calculation by assuming that the MHP | ||||
is solely attached to the router that was its pre-failure optimal | ||||
point of attachment, at the expense of potentially lower coverage. | ||||
If an implementation chooses to simplify the MHP calculation by | ||||
assuming that the MHP is solely attached to the router that was its | ||||
pre-failure optimal point of attachment, the procedure described in | ||||
this memo can potentially improve coverage for ECMP MHPs without | ||||
incurring extra computational cost. | ||||
This document improves the above approach to provide loop-free | This document improves the above approach to provide loop-free | |||
alternatives without any additional cost for ECMP MHPs as described | alternatives without any additional cost for ECMP MHPs as described | |||
through the below example network presented in Figure 3. The | in the example network presented in Figure 1. The approach specified | |||
approach specified here may also be applicable for handling default | here may also be applicable for handling default routes as explained | |||
routes as explained in Section 3.2. | in Section 3.2. | |||
5 +---+ 8 +---+ 5 +---+ | 5 +---+ 8 +---+ 5 +---+ | |||
+-----| S |------| A |-----| B | | +-----| S |------| A |-----| B | | |||
| +---+ +---+ +---+ | | +---+ +---+ +---+ | |||
| | | | | | | | |||
| 5 | 5 | | | 5 | 5 | | |||
| | | | | | | | |||
+---+ 5 +---+ 4 +---+ 1 +---+ | +---+ 5 +---+ 4 +---+ 1 +---+ | |||
| C |---| E |-----| M |-------| F | | | C |---| E |-----| M |-------| F | | |||
+---+ +---+ +---+ +---+ | +---+ +---+ +---+ +---+ | |||
| 10 5 | | | 10 5 | | |||
+-----------P---------+ | +-----------P---------+ | |||
Figure 3: MHP with same ECMP Next-hop | Figure 1: MHP with Same ECMP Next Hop | |||
In the above network a prefix P, is advertised from both Node E and | In Figure 1, a prefix P is advertised from both node E and node F. | |||
Node F. With simplified approach taken as specified in [RFC5286] | With a simplified approach taken as specified in Section 6.1 of | |||
Section 6.1, prefix P will get only link protection LFA through the | [RFC5286], prefix P will get only a link-protecting LFA through the | |||
neighbor C while a node protection path is available through neighbor | neighbor C while a node-protection path is available through neighbor | |||
A. In this scenario, E and F both are pre-failure optimal points of | A. In this scenario, E and F both are pre-failure optimal points of | |||
attachment and share the same primary next-hop. Hence, an | attachment and share the same primary next hop. Hence, an | |||
implementation MAY compare the kind of protection A provides to F | implementation MAY compare the kind of protection A provides to F | |||
(link-and-node protection) with the kind of protection C provides to | (link and node protection) with the kind of protection C provides to | |||
E (link protection) and inherit the better alternative to prefix P | E (link protection) and inherit the better alternative to prefix P. | |||
and here it is A. | In this case, the better alternative is A. | |||
However, in the below example network presented in Figure 4, prefix P | However, in the example network presented in Figure 2, prefix P has | |||
has an ECMP through both node E and node F with cost 20. Though it | an ECMP through both node E and node F with cost 20. Though it has | |||
has 2 pre-failure optimal points of attachment, the primary next-hop | two pre-failure optimal points of attachment, the primary next hop to | |||
to each pre-failure optimal point of attachment is different. In | each pre-failure optimal point of attachment is different. In this | |||
this case, prefix P MUST inherit corresponding LFAs of each primary | case, prefix P MUST inherit the corresponding LFAs of each primary | |||
next-hop calculated for the router advertising the same respectively. | next hop calculated for the router advertising the same. In | |||
In the below diagram that would be node E's and node F's LFA i.e., | Figure 2, that would be the LFA for node E and node F, i.e., node N1 | |||
node N1 and node N2 respectively. | and node N2, respectively. | |||
4 +----+ | 4 +----+ | |||
+------------------| N2 | | +------------------| N2 | | |||
| +----+ | | +----+ | |||
| | 4 | | | 4 | |||
10 +---+ 3 +---+ | 10 +---+ 3 +---+ | |||
+------| S |----------------| B | | +------| S |----------------| B | | |||
| +---+ +---+ | | +---+ +---+ | |||
| | | | | | | | |||
| 10 | 1 | | | 10 | 1 | | |||
| | | | | | | | |||
+----+ 5 +---+ 16 +---+ | +----+ 5 +---+ 16 +---+ | |||
| N1 |----| E |-----------------| F | | | N1 |----| E |-----------------| F | | |||
+----+ +---+ +---+ | +----+ +---+ +---+ | |||
| 10 16 | | | 10 16 | | |||
+-----------P---------+ | +-----------P---------+ | |||
Figure 4: MHP with different ECMP Next-hops | Figure 2: MHP with Different ECMP Next Hops | |||
In summary, if there are multiple pre-failure points of attachment | In summary, if there are multiple pre-failure points of attachment | |||
for a MHP and primary next-hop of a MHP is same as that of the | for an MHP, and the primary next hop of an MHP is the same as that of | |||
primary next-hop of the router that was pre-failure optimal point of | the primary next hop of the router that was the pre-failure optimal | |||
attachment, an implementation MAY provide a better protection to MHP | point of attachment, an implementation MAY provide a better | |||
without incurring any additional computation cost. | protection to the MHP without incurring any additional computation | |||
cost. | ||||
3.2. IS-IS ATT Bit considerations | 3.2. IS-IS ATT Bit Considerations | |||
Per [RFC1195] a default route needs to be added in Level1 (L1) router | Per [RFC1195], a default route needs to be added in the Level 1 (L1) | |||
to the closest reachable Level1/Level2 (L1/L2) router in the network | router to the closest reachable Level 1 / Level 2 (L1/L2) router in | |||
advertising ATT (attach) bit in its LSP-0 fragment. All L1 routers | the network advertising the ATT (attach) bit in its LSP-0 fragment. | |||
in the area would do this during the decision process with the next- | All L1 routers in the area would do this during the decision process | |||
hop of the default route set to the adjacent router through which the | with the next hop of the default route set to the adjacent router | |||
closest L1/L2 router is reachable. The base LFA specification | through which the closest L1/L2 router is reachable. The LFA base | |||
[RFC5286] does not specify any procedure for computing LFA for a | specification [RFC5286] does not specify any procedure for computing | |||
default route in IS-IS L1 area. This document specifies, a node can | LFA for a default route in the IS-IS L1 area. This document | |||
consider a default route is being advertised from the border L1/L2 | specifies that a node can consider a default route is being | |||
router where ATT bit is set, and can do LFA computation for that | advertised from the border L1/L2 router where the ATT bit is set and | |||
default route. But, when multiple ECMP L1/L2 routers are reachable | can do LFA computation for that default route. But, when multiple | |||
in an L1 area corresponding best LFAs SHOULD be computed for each | ECMP L1/L2 routers are reachable in an L1 area, corresponding best | |||
primary next-hop associated with default route as this would be | LFAs SHOULD be computed for each primary next hop associated with the | |||
similar to ECMP MHP example as described in Section 3.1. | default route as this would be similar to the ECMP MHP example | |||
Considerations as specified in Section 3 and Section 3.1 are | described in Section 3.1. Considerations specified in Sections 3 and | |||
applicable for default routes, if the default route is considered as | 3.1 are applicable for default routes if the default route is | |||
ECMP MHP. Note that, this document doesn't alter any ECMP handling | considered an ECMP MHP. Note that this document doesn't alter any | |||
rules or computation of LFAs for ECMP in general as laid out in | ECMP handling rules or computation of LFAs for ECMP in general as | |||
[RFC5286]. | laid out in [RFC5286]. | |||
4. LFA selection for the multi-homed external prefixes | 4. LFA Selection for Multi-Homed External Prefixes | |||
Redistribution of external routes into IGP is required in case of two | Redistribution of external routes into IGP is required 1) when two | |||
different networks getting merged into one or during protocol | different networks get merged into one or 2) during protocol | |||
migrations. External routes could be distributed into an IGP domain | migrations. | |||
via multiple nodes to avoid a single point of failure. | ||||
During LFA calculation, alternate LFA next-hops to reach the best | During LFA calculation, alternate LFA next hops to reach the best | |||
ASBR could be used as LFA for the routes redistributed via that ASBR. | ASBR could be used as LFA for the routes redistributed via that ASBR. | |||
When there is no LFA available to the best ASBR, it may be desirable | When there is no LFA available to the best ASBR, it may be desirable | |||
to consider the other ASBRs (referred to as alternate ASBR hereafter) | to consider the other ASBRs (referred to as "alternate ASBRs" | |||
redistributing the external routes for LFA selection as defined in | hereafter) redistributing the external routes for LFA selection as | |||
[RFC5286] and leverage the advantage of having multiple re- | defined in [RFC5286] and leverage the advantage of having multiple | |||
distributing nodes in the network. | redistributing nodes in the network. | |||
4.1. IS-IS | 4.1. IS-IS | |||
LFA evaluation for multi-homed external prefixes in IS-IS is same to | LFA evaluation for multi-homed external prefixes in IS-IS is the same | |||
the multi-homed internal prefixes. Inequalities described in | as the multi-homed internal prefixes. Inequalities described in | |||
Section 2 would also apply to multi-homed external prefixes. | Section 2 would also apply to multi-homed external prefixes. | |||
4.2. OSPF | 4.2. OSPF | |||
Loop Free Alternates [RFC5286] describes mechanisms to apply | The LFA base specification [RFC5286] describes mechanisms to apply | |||
inequalities to find the loop free alternate neighbor. For the | inequalities to find the loop-free alternate neighbor. Additional | |||
selection of alternate ASBR for LFA consideration, additional rules | rules have to be applied in selecting the alternate ASBR for LFA | |||
have to be applied in selecting the alternate ASBR due to the | consideration due to the external route calculation rules imposed by | |||
external route calculation rules imposed by [RFC2328]. | [RFC2328]. | |||
This document defines inequalities specifically for the alternate | This document defines inequalities specifically for alternate loop- | |||
loop-free ASBR evaluation, based on those in [RFC5286]. | free ASBR evaluation. These inequalities are based on those in | |||
[RFC5286]. | ||||
4.2.1. Rules to select alternate ASBR | 4.2.1. Rules to Select Alternate ASBRs | |||
The process to select an alternate ASBR is best explained using the | The process to select an alternate ASBR is best explained using the | |||
rules below. The below process is applied when primary ASBR for the | rules below. The process below is applied when a primary ASBR for | |||
concerned prefix is chosen and there is an alternate ASBR originating | the concerned prefix is chosen and there is an alternate ASBR | |||
same prefix. | originating the same prefix. | |||
1. If RFC1583Compatibility is disabled | 1. If RFC1583Compatibility is disabled: | |||
1a. if primary ASBR and alternate ASBR belong to intra-area | A. If primary ASBR and alternate ASBR belong to intra-area | |||
non-backbone go to step 2. | non-backbone, go to step 2. | |||
1b. If primary ASBR and alternate ASBR belong to | ||||
intra-area backbone and/or inter-area path go | ||||
to step 2. | ||||
1c. for other paths, skip this alternate ASBR and | ||||
consider next ASBR. | ||||
2. Compare cost types (type 1/type 2) advertised by alternate ASBR and | B. If primary ASBR and alternate ASBR belong to intra-area | |||
by the primary ASBR | backbone and/or inter-area path, go to step 2. | |||
2a. If not the same type skip alternate ASBR and | ||||
consider next ASBR. | ||||
2b. If same proceed to step 3. | ||||
3.If cost types are type 1, compare costs advertised by alternate ASBR | C. For other paths, skip this alternate ASBR and consider next | |||
and by the primary ASBR | ASBR. | |||
3a. If costs are the same then program ECMP Fast ReRoute (FRR) and return. | ||||
3b. else go to step 5.. | ||||
4 If cost types are type 2, compare costs advertised by alternate ASBR | 2. Compare cost types (type 1 / type 2) advertised by alternate ASBR | |||
and by the primary ASBR | and primary ASBR: | |||
4a. If costs are different, skip alternate ASBR and | ||||
consider next ASBR. | ||||
4b. If cost are the same, proceed to step 4c to compare | ||||
cost to reach ASBR/forwarding address. | ||||
4c. If cost to reach ASBR/forwarding address are also same | ||||
program ECMP FRR and return. | ||||
4d. If cost to reach ASBR/forwarding address are different | ||||
go to step 5. | ||||
5. If route type (type 5/type 7) | A. If not the same type, skip alternate ASBR and consider next | |||
5a. If route type is same, check if the route p-bit and the | ASBR. | |||
forwarding address field for routes from both | ||||
ASBRs match. If p-bit and forwarding address matches | ||||
proceed to step 6. | ||||
If not, skip this alternate ASBR and consider | ||||
next ASBR. | ||||
5b. If route type is not same, skip this alternate ASBR | ||||
and consider next alternate ASBR. | ||||
6. Apply inequality on the alternate ASBR. | B. If the same, proceed to step 3. | |||
Figure 5: Rules for selecting alternate ASBR in OSPF | 3. If cost types are type 1, compare costs advertised by alternate | |||
ASBR and primary ASBR: | ||||
4.2.1.1. Multiple ASBRs belonging different area | A. If costs are the same, then program ECMP FRR and return. | |||
When "RFC1583compatibility" is set to disabled, OSPF [RFC2328] | B. Else, go to step 5. | |||
4. If cost types are type 2, compare costs advertised by alternate | ||||
ASBR and primary ASBR: | ||||
A. If costs are different, skip alternate ASBR and consider next | ||||
ASBR. | ||||
B. If costs are the same, proceed to step 4C to compare costs to | ||||
reach ASBR/forwarding address. | ||||
C. If costs to reach ASBR/forwarding address are also the same, | ||||
program ECMP FRR and return. | ||||
D. If costs to reach ASBR/forwarding address are different, go | ||||
to step 5. | ||||
5. Compare route types (type 5 and type 7) for alternate ASBR and | ||||
primary ASBR: | ||||
A. If route types are the same, check if route p-bit and | ||||
forwarding address field for routes from both ASBRs match. | ||||
If p-bit and forwarding address match, proceed to step 6. If | ||||
not, skip this alternate ASBR and consider next ASBR. | ||||
B. If route types are not the same, skip this alternate ASBR and | ||||
consider next alternate ASBR. | ||||
6. Apply inequality on alternate ASBR. | ||||
4.2.1.1. Multiple ASBRs Belonging to Different Areas | ||||
When RFC1583Compatibility is set to "disabled", OSPF [RFC2328] | ||||
defines certain rules of preference to choose the ASBRs. While | defines certain rules of preference to choose the ASBRs. While | |||
selecting alternate ASBR for loop evaluation for LFA, these rules | selecting an alternate ASBR for loop evaluation for LFA, these rules | |||
should be applied to ensure that the alternate neighbor does not | should be applied to ensure that the alternate neighbor does not | |||
cause looping. | cause looping. | |||
When there are multiple ASBRs belonging to different area advertising | When there are multiple ASBRs belonging to different areas | |||
the same prefix, pruning rules as defined in [RFC2328] section 16.4 | advertising the same prefix, pruning rules as defined in Section 16.4 | |||
are applied. The alternate ASBRs pruned using above rules are not | of [RFC2328] are applied. The alternate ASBRs pruned using these | |||
considered for LFA evaluation. | rules are not considered for LFA evaluation. | |||
4.2.1.2. Type 1 and Type 2 costs | 4.2.1.2. Type 1 and Type 2 Costs | |||
If there are multiple ASBRs not pruned via rules described in | If there are multiple ASBRs not pruned via the rules described in | |||
Section 4.2.1.1, the cost type advertised by the ASBRs is compared. | Section 4.2.1.1, the cost type advertised by the ASBRs is compared. | |||
ASBRs advertising type 1 costs are preferred and the type 2 costs are | ASBRs advertising type 1 costs are preferred, and the type 2 costs | |||
pruned. If two ASBRs advertise same type 2 cost, the alternate ASBRs | are pruned. If two ASBRs advertise the same type 2 cost, the | |||
are considered along with their cost to reach ASBR/forwarding address | alternate ASBRs are considered along with their cost to reach the | |||
for evaluation. If the two ASBRs have same type 2 cost as well as | ASBR/forwarding address for evaluation. If the two ASBRs have the | |||
same cost to reach ASBR, ECMP FRR is programmed. When there are | same type 2 cost as well as the same cost to reach the ASBR, ECMP FRR | |||
multiple ASBRs advertising same type 2 cost for the prefix, primary | is programmed. When there are multiple ASBRs advertising the same | |||
Autonomous System (AS) external route calculation as described in | type 2 cost for the prefix, primary Autonomous System (AS) external | |||
[RFC2328] section 16.4.1 selects the route with lowest type 2 cost. | route calculation, as described in Section 16.4.1 of [RFC2328], | |||
ASBRs advertising different type 2 cost (higher cost) are not | selects the route with the lowest type 2 cost. ASBRs advertising a | |||
considered for LFA evaluation. Alternate ASBRs advertising type 2 | different type 2 cost (higher cost) are not considered for LFA | |||
cost for the prefix but are not chosen as primary due to higher cost | evaluation. Alternate ASBRs advertising a type 2 cost for the prefix | |||
to reach ASBR are considered for LFA evaluation. The inequalities | but not chosen as primary due to a higher cost to reach ASBR are | |||
for evaluating alternate ASBR for type 1 and type 2 costs are same, | considered for LFA evaluation. The inequalities for evaluating | |||
as the alternate ASBRs with different type 2 costs are pruned and the | alternate ASBR for type 1 and type 2 costs are same, as the alternate | |||
evaluation is based on equal type 2 cost ASBRS. | ASBRs with different type 2 costs are pruned and the evaluation is | |||
based on ASBRS with equal type 2 costs. | ||||
4.2.1.3. RFC1583compatibility is set to enabled | 4.2.1.3. RFC1583Compatibility is Set to "Enabled" | |||
When RFC1583Compatibility is set to enabled, multiple ASBRs belonging | When RFC1583Compatibility is set to "enabled", multiple ASBRs | |||
to different area advertising same prefix are chosen based on cost | belonging to different areas advertising the same prefix are chosen | |||
and hence are valid alternate ASBRs for the LFA evaluation. The | based on cost and hence are valid alternate ASBRs for the LFA | |||
inequalities described in Section 4.2.2 are applicable based on | evaluation. The inequalities described in Section 4.2.2 are | |||
forwarding address and cost type advertised in External Link State | applicable based on forwarding address and cost type advertised in | |||
Advertisement (LSA). | the external Link State Advertisement (LSA). | |||
4.2.1.4. Type 7 routes | 4.2.1.4. Type 7 Routes | |||
Type 5 routes always get preference over Type 7 and the alternate | Type 5 routes always get preference over type 7, and the alternate | |||
ASBRs chosen for LFA calculation should belong to same type. Among | ASBRs chosen for LFA calculation should belong to the same type. | |||
Type 7 routes, routes with p-bit and forwarding address set have | Among type 7 routes, routes with the p-bit and forwarding address set | |||
higher preference than routes without these attributes. Alternate | have a higher preference than routes without these attributes. | |||
ASBRs selected for LFA comparison should have same p-bit and | Alternate ASBRs selected for LFA comparison should have the same | |||
forwarding address attributes. | p-bit and forwarding address attributes. | |||
4.2.2. Inequalities to be applied for alternate ASBR selection | 4.2.2. Inequalities to Be Applied for Alternate ASBR Selection | |||
The alternate ASBRs selected using above mechanism described in | The alternate ASBRs selected using the mechanism described in | |||
Section 4.2.1, are evaluated for Loop free criteria using below | Section 4.2.1 are evaluated for loop-free criteria using the | |||
inequalities. | inequalities below. | |||
4.2.2.1. Forwarding address set to non-zero value | 4.2.2.1. Forwarding Address Set to Non-zero Value | |||
Similar to inequalities as defined in Figure 1, the following | Similar to the inequalities defined in Section 2, the following | |||
inequalities are defined when forwarding address is a non-zero value. | inequalities are defined when the forwarding address is a non-zero | |||
value. | ||||
Link-Protection: | Link-Protecting LFAs: | |||
F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | ||||
F_opt(S,PO_best) + Cost(PO_best,P) | ||||
Link-Protection + Downstream-paths-only: | F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | |||
F_opt(N,PO_i)+ Cost(PO_i,P) < F_opt(S,PO_best) + Cost(PO_best,P) | F_opt(S,PO_best) + Cost(PO_best,P) | |||
Node-Protection: | Link-Protecting + Downstream-paths-only LFAs: | |||
F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | ||||
F_opt(E,PO_best) + Cost(PO_best,P) | ||||
Where, | F_opt(N,PO_i)+ Cost(PO_i,P) < F_opt(S,PO_best) + Cost(PO_best,P) | |||
P - The multi-homed prefix being evaluated for | ||||
computing alternates | ||||
S - The computing router | ||||
N - The alternate router being evaluated | ||||
E - The primary next-hop on shortest path from S to | ||||
prefix P. | ||||
PO_i - The specific prefix-originating router being | ||||
evaluated. | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P. | ||||
Cost(X,Y) - External cost for Y as advertised by X | ||||
F_opt(X,Y) - Distance on the shortest path from node X to Forwarding | ||||
address specified by ASBR Y. | ||||
D_opt(X,Y) - Distance on the shortest path from node X to node Y. | ||||
Figure 6: LFA inequality definition when forwarding address is non- | Node-Protecting LFAs: | |||
zero | ||||
4.2.2.2. ASBRs advertising type1 and type2 cost | F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | |||
F_opt(E,PO_best) + Cost(PO_best,P) | ||||
Similar to inequalities as defined in Figure 1, the following | Where: | |||
inequlities are defined for type1 and type2 cost. | ||||
Link-Protection: | P - The MHP being evaluated for computing alternates | |||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | ||||
D_opt(S,PO_best) + Cost(PO_best,P) | ||||
Link-Protection + Downstream-paths-only: | S - The computing router | |||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(S,PO_best) + Cost(PO_best,P) | ||||
Node-Protection: | N - The alternate router being evaluated | |||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | ||||
D_opt(E,PO_best) + Cost(PO_best,P) | ||||
Where, | E - The primary next hop on the shortest path from S to | |||
P - The multi-homed prefix being evaluated for | prefix P | |||
computing alternates | ||||
S - The computing router | ||||
N - The alternate router being evaluated | ||||
E - The primary next-hop on shortest path from S to | ||||
prefix P. | ||||
PO_i - The specific prefix-originating router being | ||||
evaluated. | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P. | ||||
Cost(X,Y) - External cost for Y as advertised by X. | ||||
D_opt(X,Y) - Distance on the shortest path from node X to node Y. | ||||
Figure 7: LFA inequality definition for type1 and type2 cost | PO_i - The specific prefix-originating router being | |||
evaluated | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P | ||||
Cost(X,Y) - The external cost for Y as advertised by X | ||||
F_opt(X,Y) - The distance on the shortest path from node X to | ||||
the forwarding address specified by ASBR Y | ||||
D_opt(X,Y) - The distance on the shortest path from node X to | ||||
node Y | ||||
4.2.2.2. ASBRs Advertising Type 1 and Type 2 Costs | ||||
Similar to the inequalities defined in Section 2, the following | ||||
inequalities are defined for type 1 and type 2 costs. | ||||
Link-Protecting LFAs: | ||||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | ||||
D_opt(S,PO_best) + Cost(PO_best,P) | ||||
Link-Protecting + Downstream-paths-only LFAs: | ||||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(S,PO_best) + Cost(PO_best,P) | ||||
Node-Protecting LFAs: | ||||
D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | ||||
D_opt(E,PO_best) + Cost(PO_best,P) | ||||
Where: | ||||
P - The MHP being evaluated for computing alternates | ||||
S - The computing router | ||||
N - The alternate router being evaluated | ||||
E - The primary next hop on the shortest path from S to | ||||
prefix P | ||||
PO_i - The specific prefix-originating router being | ||||
evaluated | ||||
PO_best - The prefix-originating router on the shortest path | ||||
from the computing router S to prefix P | ||||
Cost(X,Y) - The external cost for Y as advertised by X | ||||
D_opt(X,Y) - The distance on the shortest path from node X to | ||||
node Y | ||||
5. LFA Extended Procedures | 5. LFA Extended Procedures | |||
This section explains the additional considerations in various | This section explains additional considerations to the LFA base | |||
aspects as listed below to the base LFA specification [RFC5286]. | specification [RFC5286]. | |||
5.1. Links with IGP MAX_METRIC | 5.1. Links with IGP MAX_METRIC | |||
Section 3.5 and 3.6 of [RFC5286] describe procedures for excluding | Sections 3.5 and 3.6 of [RFC5286] describe procedures for excluding | |||
nodes and links from use in alternate paths based on the maximum link | nodes and links from use in alternate paths based on the maximum link | |||
metric. If these procedures are strictly followed, there are | metric. If these procedures are strictly followed, there are | |||
situations, as described below, where the only potential alternate | situations, described below, where the only potential alternate | |||
available which satisfies the basic loop-free condition will not be | available that satisfies the basic loop-free condition will not be | |||
considered as alternative. This document refers the maximum link | considered as alternative. This document refers to the maximum link | |||
metric in IGPs as the MAX_METRIC. MAX_METRIC is defined for IS-IS in | metric in IGPs as the MAX_METRIC. MAX_METRIC is called "maximum link | |||
metric" when defined for IS-IS in [RFC5305] and "MaxLinkMetric" when | ||||
[RFC5305], where it is called as "maximum link metric" and defined | defined for OSPF in [RFC6987]. | |||
for OSPF in [RFC6987], where it is called as "MaxLinkMetric". | ||||
+---+ 10 +---+ 10 +---+ | +---+ 10 +---+ 10 +---+ | |||
| S |------|N1 |-----|D1 | | | S |------|N1 |-----|D1 | | |||
+---+ +---+ +---+ | +---+ +---+ +---+ | |||
| | | | | | |||
10 | 10 | | 10 | 10 | | |||
|MAX_METRIC(N2 to S) | | |MAX_METRIC(N2 to S) | | |||
| | | | | | |||
| +---+ | | | +---+ | | |||
+-------|N2 |--------+ | +-------|N2 |--------+ | |||
+---+ | +---+ | |||
10 | | 10 | | |||
+---+ | +---+ | |||
|D2 | | |D2 | | |||
+---+ | +---+ | |||
Figure 8: Link with IGP MAX_METRIC | Figure 3: Link with IGP MAX_METRIC | |||
In the simple example network, all the link costs have a cost of 10 | In the simple example network in Figure 3, all the links have a cost | |||
in both directions, except for the link between S and N2. The S-N2 | of 10 in both directions, except for the link between S and N2. The | |||
link has a cost of 10 in the forward direction i.e., from S to N2, | S-N2 link has a cost of 10 in the forward direction, i.e., from S to | |||
and a cost of MAX_METRIC (0xffffff /2^24 - 1 for IS-IS and 0xffff for | N2, and a cost of MAX_METRIC (0xffffff /2^24 - 1 for IS-IS and 0xffff | |||
OSPF) in the reverse direction i.e., from N2 to S for a specific end- | for OSPF) in the reverse direction, i.e., from N2 to S for a specific | |||
to-end Traffic Engineering (TE) requirement of the operator. At node | end-to-end TE requirement of the operator. At node S, D1 is | |||
S, D1 is reachable through N1 with cost 20, and D2 is reachable | reachable through N1 with a cost of 20, and D2 is reachable through | |||
through N2 with cost 20. Even though neighbor N2 satisfies basic | N2 with a cost of 20. Even though neighbor N2 satisfies the basic | |||
loop-free condition (inequality 1 of [RFC5286]) for D1, S's neighbor | loop-free condition (inequality 1 of [RFC5286]) for D1, S's neighbor | |||
N2 could be excluded as a potential alternative because of the | N2 could be excluded as a potential alternative because of the | |||
current exclusions as specified in section 3.5 and 3.6 procedure of | current exclusions specified in Sections 3.5 and 3.6 of [RFC5286]. | |||
[RFC5286]. But, as the primary traffic destined to D2 continues to | But, the primary traffic destined to D2 continues to use the link; | |||
use the link and hence irrespective of the reverse metric in this | hence, irrespective of the reverse metric in this case, the same link | |||
case, same link MAY be used as a potential LFA for D1. | MAY be used as a potential LFA for D1. | |||
Alternatively, reverse metric of the link MAY be configured with | Alternatively, the reverse metric of the link MAY be configured with | |||
MAX_METRIC-1, so that the link can be used as an alternative while | MAX_METRIC-1 so that the link can be used as an alternative while | |||
meeting the operator's TE requirements and without having to update | meeting the operator's TE requirements and without having to update | |||
the router to fix this particular issue. | the router to fix this particular issue. | |||
5.2. Multi Topology Considerations | 5.2. MT Considerations | |||
Section 6.2 and 6.3.2 of [RFC5286] state that multi-topology OSPF and | Sections 6.2 and 6.3.2 of [RFC5286] state that multi-topology OSPF | |||
IS-IS are out of scope for that specification. This memo clarifies | and IS-IS are out of scope for that specification. This memo | |||
and describes the applicability. | clarifies and describes the applicability. | |||
In Multi Topology (MT) IGP deployments, for each MT ID, a separate | In multi-topology IGP deployments, for each MT-ID, a separate | |||
shortest path tree (SPT) is built with topology specific adjacencies, | shortest path tree (SPT) is built with topology-specific adjacencies | |||
so the LFA principles laid out in [RFC5286] are actually applicable | so the LFA principles laid out in [RFC5286] are actually applicable | |||
for MT IS-IS [RFC5120] LFA SPF. The primary difference in this case | for MT IS-IS [RFC5120] LFA SPF. The primary difference in this case | |||
is, identifying the eligible-set of neighbors for each LFA | is identifying the eligible set of neighbors for each LFA | |||
computation which is done per MT ID. The eligible-set for each MT ID | computation; this is done per MT-ID. The eligible set for each MT-ID | |||
is determined by the presence of IGP adjacency from Source to the | is determined by the presence of IGP adjacency from the source to the | |||
neighboring node on that MT-ID apart from the administrative | neighboring node on that MT-ID apart from the administrative | |||
restrictions and other checks laid out in [RFC5286]. The same is | restrictions and other checks laid out in [RFC5286]. The same is | |||
also applicable for MT-OSPF [RFC4915] or different AFs in multi | also applicable for MT-OSPF [RFC4915] or different AFs in multi- | |||
instance OSPFv3 [RFC5838]. | instance OSPFv3 [RFC5838]. | |||
However for MT IS-IS, if a "standard topology" is used with MT-ID #0 | However, for MT IS-IS, if a "standard unicast topology" is used with | |||
[RFC5286] and both IPv4 [RFC5305] and IPv6 routes/AFs [RFC5308] are | MT-ID #0 [RFC5120] and both IPv4 [RFC5305] and IPv6 routes/AFs | |||
present, then the condition of network congruency is applicable for | [RFC5308] are present, then the condition of network congruency is | |||
LFA computation as well. Network congruency here refers to, having | applicable for LFA computation as well. Network congruency here | |||
same address families provisioned on all the links and all the nodes | refers to having the same address families provisioned on all the | |||
of the network with MT-ID #0. Here with single decision process both | links and all the nodes of the network with MT-ID #0. Here, with a | |||
IPv4 and IPv6 next-hops are computed for all the prefixes in the | single-decision process, both IPv4 and IPv6 next hops are computed | |||
network and similarly with one LFA computation from all eligible | for all the prefixes in the network. Similarly, with one LFA | |||
neighbors per [RFC5286], all potential alternatives can be computed. | computation from all eligible neighbors per [RFC5286], all potential | |||
alternatives can be computed. | ||||
6. IANA Considerations | 6. IANA Considerations | |||
This document has no actions for IANA. | This document has no IANA actions. | |||
7. Acknowledgements | ||||
Authors acknowledge Alia Atlas and Salih K A for their useful | ||||
feedback and inputs. Thanks to Stewart Bryant for being document | ||||
shepherd and providing detailed review comments. Thanks to Elwyn | ||||
Davies for reviewing and providing feedback as part of Gen-art | ||||
review. Thanks to Alvaro Retena, Adam Roach, Ben Campbell, Benjamin | ||||
Kaduk and sponsoring Routing Area Director Martin Vigoureux for | ||||
providing detailed feedback and suggestions. | ||||
8. Contributing Authors | ||||
The following people contributed substantially to the content of this | ||||
document and should be considered co-authors. | ||||
Chris Bowers | ||||
Juniper Networks, Inc. | ||||
1194 N. Mathilda Ave, | ||||
Sunnyvale, CA 94089, USA | ||||
Email: cbowers@juniper.net | ||||
Bruno Decraene | ||||
Orange, | ||||
France | ||||
Email: bruno.decraene@orange.com | ||||
9. Security Considerations | 7. Security Considerations | |||
The existing OSPF security considerations continue to apply, as do | The existing OSPF security considerations continue to apply, as do | |||
the recommended manual key management mechanisms specified in | the recommended manual key management mechanisms specified in | |||
[RFC7474]. The existing security considerations for IS-IS also | [RFC7474]. The existing security considerations for IS-IS also | |||
continue to apply, as specified in [RFC5304] and [RFC5310] and | continue to apply, as specified in [RFC5304] and [RFC5310] and | |||
extended by [RFC7645] for KARP. This document does not change any of | extended by [RFC7645] for Keying and Authentication for Routing | |||
the discussed protocol specifications [RFC1195] [RFC5120] [RFC2328] | Protocols (KARP). This document does not change any of the discussed | |||
[RFC5838], and the security considerations of the LFA base | protocol specifications (i.e., [RFC1195], [RFC5120], [RFC2328], and | |||
specification [RFC5286] therefore continue to apply. | [RFC5838]); therefore, the security considerations of the LFA base | |||
specification [RFC5286] continue to apply. | ||||
10. References | 8. References | |||
10.1. Normative References | 8.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | |||
IP Fast Reroute: Loop-Free Alternates", RFC 5286, | IP Fast Reroute: Loop-Free Alternates", RFC 5286, | |||
DOI 10.17487/RFC5286, September 2008, | DOI 10.17487/RFC5286, September 2008, | |||
<https://www.rfc-editor.org/info/rfc5286>. | <https://www.rfc-editor.org/info/rfc5286>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
10.2. Informative References | 8.2. Informative References | |||
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | |||
dual environments", RFC 1195, DOI 10.17487/RFC1195, | dual environments", RFC 1195, DOI 10.17487/RFC1195, | |||
December 1990, <https://www.rfc-editor.org/info/rfc1195>. | December 1990, <https://www.rfc-editor.org/info/rfc1195>. | |||
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | |||
DOI 10.17487/RFC2328, April 1998, | DOI 10.17487/RFC2328, April 1998, | |||
<https://www.rfc-editor.org/info/rfc2328>. | <https://www.rfc-editor.org/info/rfc2328>. | |||
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. | [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and | |||
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", | P. Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", | |||
RFC 4915, DOI 10.17487/RFC4915, June 2007, | RFC 4915, DOI 10.17487/RFC4915, June 2007, | |||
<https://www.rfc-editor.org/info/rfc4915>. | <https://www.rfc-editor.org/info/rfc4915>. | |||
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
DOI 10.17487/RFC5120, February 2008, | DOI 10.17487/RFC5120, February 2008, | |||
<https://www.rfc-editor.org/info/rfc5120>. | <https://www.rfc-editor.org/info/rfc5120>. | |||
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic | |||
skipping to change at page 17, line 46 ¶ | skipping to change at page 18, line 37 ¶ | |||
[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", | [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", | |||
RFC 5714, DOI 10.17487/RFC5714, January 2010, | RFC 5714, DOI 10.17487/RFC5714, January 2010, | |||
<https://www.rfc-editor.org/info/rfc5714>. | <https://www.rfc-editor.org/info/rfc5714>. | |||
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | |||
R. Aggarwal, "Support of Address Families in OSPFv3", | R. Aggarwal, "Support of Address Families in OSPFv3", | |||
RFC 5838, DOI 10.17487/RFC5838, April 2010, | RFC 5838, DOI 10.17487/RFC5838, April 2010, | |||
<https://www.rfc-editor.org/info/rfc5838>. | <https://www.rfc-editor.org/info/rfc5838>. | |||
[RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. | [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and | |||
McPherson, "OSPF Stub Router Advertisement", RFC 6987, | D. McPherson, "OSPF Stub Router Advertisement", RFC 6987, | |||
DOI 10.17487/RFC6987, September 2013, | DOI 10.17487/RFC6987, September 2013, | |||
<https://www.rfc-editor.org/info/rfc6987>. | <https://www.rfc-editor.org/info/rfc6987>. | |||
[RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., | [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., | |||
"Security Extension for OSPFv2 When Using Manual Key | "Security Extension for OSPFv2 When Using Manual Key | |||
Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | |||
<https://www.rfc-editor.org/info/rfc7474>. | <https://www.rfc-editor.org/info/rfc7474>. | |||
[RFC7645] Chunduri, U., Tian, A., and W. Lu, "The Keying and | [RFC7645] Chunduri, U., Tian, A., and W. Lu, "The Keying and | |||
Authentication for Routing Protocol (KARP) IS-IS Security | Authentication for Routing Protocol (KARP) IS-IS Security | |||
Analysis", RFC 7645, DOI 10.17487/RFC7645, September 2015, | Analysis", RFC 7645, DOI 10.17487/RFC7645, September 2015, | |||
<https://www.rfc-editor.org/info/rfc7645>. | <https://www.rfc-editor.org/info/rfc7645>. | |||
Acknowledgements | ||||
The authors acknowledge Alia Atlas and Salih K.A. for their useful | ||||
feedback and input. Thanks to Stewart Bryant for being Document | ||||
Shepherd and providing detailed review comments. Thanks to Elwyn | ||||
Davies for reviewing and providing feedback as part of the Gen-ART | ||||
review. Thanks to Alvaro Retana, Adam Roach, Ben Campbell, Benjamin | ||||
Kaduk, and sponsoring Routing Area Director Martin Vigoureux for | ||||
providing detailed feedback and suggestions. | ||||
Contributors | ||||
The following people contributed substantially to the content of this | ||||
document and should be considered coauthors: | ||||
Chris Bowers | ||||
Juniper Networks, Inc. | ||||
1194 N. Mathilda Ave. | ||||
Sunnyvale, CA 94089 | ||||
United States of America | ||||
Email: cbowers@juniper.net | ||||
Bruno Decraene | ||||
Orange | ||||
France | ||||
Email: bruno.decraene@orange.com | ||||
Authors' Addresses | Authors' Addresses | |||
Pushpasis Sarkar (editor) | Pushpasis Sarkar (editor) | |||
Arrcus, Inc. | Arrcus, Inc. | |||
Email: pushpasis.ietf@gmail.com | Email: pushpasis.ietf@gmail.com | |||
Uma Chunduri (editor) | Uma Chunduri (editor) | |||
Huawei USA | Huawei USA | |||
2330 Central Expressway | 2330 Central Expressway | |||
Santa Clara, CA 95050 | Santa Clara, CA 95050 | |||
USA | United States of America | |||
Email: uma.chunduri@huawei.com | Email: uma.chunduri@huawei.com | |||
Shraddha Hegde | Shraddha Hegde | |||
Juniper Networks, Inc. | Juniper Networks, Inc. | |||
Electra, Exora Business Park | Electra, Exora Business Park | |||
Bangalore, KA 560103 | Bangalore, KA 560103 | |||
India | India | |||
Email: shraddha@juniper.net | Email: shraddha@juniper.net | |||
End of changes. 118 change blocks. | ||||
476 lines changed or deleted | 522 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |