One document matched: draft-psarkar-rtgwg-multihomed-prefix-lfa-02.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-psarkar-rtgwg-multihomed-prefix-lfa-02" ipr="trust200902">
<!-- ***** FRONT MATTER ***** -->
<front>
<title>LFA selection for Multi-Homed Prefixes</title>
<!-- add 'role="editor"' below for the editors if appropriate -->
<author initials="P." surname="Sarkar" fullname="Pushpasis Sarkar" role="editor">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>Electra, Exora Business Park</street>
<city>Bangalore</city>
<region>KA</region>
<code>560103</code>
<country>India</country>
</postal>
<email>psarkar@juniper.net</email>
</address>
</author>
<author fullname="Hannes Gredler" initials="H." surname="Gredler">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>1194 N. Mathilda Ave.</street>
<city>Sunnyvale</city>
<region>CA</region>
<code>94089</code>
<country>US</country>
</postal>
<email>hannes@juniper.net</email>
</address>
</author>
<author initials="S." surname="Hegde" fullname="Shraddha Hegde">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>Electra, Exora Business Park</street>
<city>Bangalore</city>
<region>KA</region>
<code>560103</code>
<country>India</country>
</postal>
<email>shraddha@juniper.net</email>
</address>
</author>
<author initials="C." surname="Bowers" fullname="Chris Bowers">
<organization>Juniper Networks, Inc.</organization>
<address>
<postal>
<street>1194 N. Mathilda Ave.</street>
<city>Sunnyvale</city>
<region>CA</region>
<code>94089</code>
<country>US</country>
</postal>
<email>cbowers@juniper.net</email>
</address>
</author>
<author fullname="Bruno Decraene" initials="B" surname="Decraene">
<organization>Orange</organization>
<address>
<!-- postal><street/><city/><region/><code/><country/></postal -->
<!-- <phone/> -->
<!-- <facsimile/> -->
<email>bruno.decraene@orange.com</email>
<!-- <uri/> -->
</address>
</author>
<date day="18" month="August" year="2015"/>
<area>Routing</area>
<workgroup>Routing Area Working Group</workgroup>
<keyword>LFA</keyword>
<keyword>Multi-homed Prefix</keyword>
<keyword>IGP</keyword>
<abstract>
<t>This document shares experience gained from implementing algorithms to
determine Loop-Free Alternates for multi-homed prefixes. In particular,
this document provides explicit inequalities that can be used to evaluate
neighbors as a potential alternates for multi-homed prefixes. It also provides
detailed criteria for evaluating potential alternates for external prefixes
advertised by OSPF ASBRs.</t>
</abstract>
<note title="Requirements Language">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC2119</xref>.</t>
</note>
</front>
<middle>
<section title="Introduction">
<t>The use of Loop-Free Alternates (LFA) for IP Fast Reroute is specified in
<xref target="RFC5286"/>. Section 6.1 of <xref target="RFC5286"/> describes a method to
determine loop-free alternates for a multi-homed prefixes (MHPs). This document describes
a procedure using explicit inequalities that can be used by a computing router to evaluate
a neighbor as a potential alternate for a multi-homed prefix. The results obtained are
equivalent to those obtained using the method described in Section 6.1 of [RFC5286].
However, some may find this formulation useful.</t>
<t>Section 6.3 of [RFC5286] discusses complications associated with computing LFAs for
multi-homed prefixes in OSPF. This document provides detailed criteria for evaluating
potential alternates for external prefixes advertised by OSPF ASBRs, as well as explicit
inequalities.</t>
</section>
<section title="LFA inequalities for MHPs">
<t>This document proposes the following set of LFA inequalities for selecting the most appropriate
LFAs for multi-homed prefixes (MHPs). They can be derived from the inequalities in [RFC5286] combined
with the observation that
D_opt(N,P) = Min (D_opt(N,PO_i) + cost(PO_i,P)) over all PO_i</t>
<figure anchor="mhp-lfa-eval-appr-ineq"
title="LFA inequalities for MHPs">
<artwork>
Link-Protection:
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:
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(S,PO_best) + cost(PO_best,P)
Node-Protection:
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) +
D_opt(E,PO_best) + cost(PO_best,P)
Where,
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.
</artwork>
</figure>
</section>
<section title="LFA selection for the multi-homed prefixes">
<t>To compute a valid LFA for a given multi-homed prefix P, through an alternate neighbor N a
computing router S MUST follow one of the appropriate procedures below.</t>
<figure anchor="flow_chart1"
title="Rules for selecting LFA for MHPs">
<artwork>
Link-Protection :
=================
1. If alternate neighbor N is also 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. 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 :
=================
1. If alternate neighbor N is also 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 apporpriate 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.
</artwork>
</figure>
<t>In case an alternate neighbor N is also one of the prefix-originators of prefix P, N MAY be
selected as a valid LFA for P.</t>
<t>However if N is not a prefix-originator of P, the computing router SHOULD evaluate one of the
corresponding LFA inequalities, as mentioned in <xref target="mhp-lfa-eval-appr-ineq"/>, 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.</t>
<t> When computing a dowstream-only LFA, in addition to being a prefix-originator of P, router N
MUST also satisfy the downstream-only LFA inequality specified in
<xref target="mhp-lfa-eval-appr-ineq"/>.</t>
<t>For more specific rules please refer to the later sections of this document.</t>
</section>
<section title="LFA selection for the multi-homed external prefixes">
<t>Redistribution of external routes into IGP is required in case of two different networks getting
merged into one or during protocol migrations. External routes could be distributed into an IGP
domain via multiple nodes to avoid a single point of failure.</t>
<t>During LFA calculation, alternate LFA next-hops to reach the best 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 to consider the other ASBRs (referred to as alternate ASBR hereafter)
redistributing the external routes for LFA selection as defined in <xref target="RFC5286"/>
and leverage the advantage of having multiple re-distributing nodes in the network.</t>
<section title="IS-IS">
<t>LFA evaluation for multi-homed external prefixes in IS-IS is similar to the multi-homed
internal prefixes. Inequalities described in sec 2 would also apply to multi-homed
external prefixes as well.</t>
</section>
<section title="OSPF">
<t>Loop free Alternates [RFC 5286] describes mechanisms to apply inequalities to find the the loop
free alternate neighbor. For the selection of alternate ASBR for LFA consideration, additional
rules have to be applied in selecting the alternate ASBR due to the external route calculation
rules imposed by [RFC 2328].</t>
<t>This document also defines the inequalities defined in RFC [5286] specifically for the alternate
loop-free ASBR evaluation.</t>
<section title="Rules to select alternate ASBR">
<t>The process to select an alternate ASBR is best explained using the rules below.
The below process is applied when primary ASBR for the concerned prefix is chosen and
there is an alternate ASBR originating same prefix.</t>
<figure anchor="flow_chart2"
title="Rules for selecting alternate ASBR in OSPF">
<artwork>
1. If RFC1583Compatibility is disabled
1a. if primary ASBR and alternate ASBR are intra area
non-backbone path 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 the alternate ASBR and
consider next ASBR.
2. If cost type (type1/type2) advertised by alternate
ASBR same as primary
2a. If not same skip alternate ASBR and consider next ASBR.
3. If cost type is type1
3a. If cost is same, program ECMP
3b. else go to step 5.
4 If cost type is type 2
4a. If cost is different, skip alternate ASBR and
consider next ASBR
4b. If type2 cost is same, compare type 1 cost.
4c. If type1 cost is also same program ECMP.
4d. If type 1 cost is different go to step 5.
5. If route type (type 5/type 7)
5a. If route type is same, check route p-bit,
forwarding address field for routes from both
ASBRs
match. If not skip alternate ASBR and consider
next ASBR.
5b. If route type is not same, skip ASBR
and consider next ASBR.
6. Apply inequality on the alternate ASBR.
</artwork>
</figure>
</section>
<section title="Multiple ASBRs belonging different area">
<t>When "RFC1583compatibility" is set to disabled, OSPF[RFC2328] defines certain rules of
preference to choose the ASBRs. While selecting alternate ASBR for loop evaluation for LFA,
these rules should be applied and ensured that the alternate neighbor does not loop the
traffic back.</t>
<t>When there are multiple ASBRs belonging to different area advertising the same prefix,
pruning rules as defined in RFC 2328 section 16.4.1 are applied. The alternate ASBRs pruned
using above rules are not considered for LFA evaluation.</t>
</section>
<section title="Type 1 and Type 2 costs">
<t>If there are multiple ASBRs not pruned via rules defined in 3.2.2, the cost type advertised
by the ASBRs is compared. ASBRs advertising Type1 costs are preferred and the type2 costs are
pruned. If two ASBRs advertise same type2 cost, the alternate ASBRs are considered along with
their type1 cost for evaluation.If the two ASBRs with same type2 as well as type1 cost, ECMP
FRR is programmed.If there are two ASBRs with different type2 cost, the higher cost ASBR is
pruned.The inequalities for evaluating alternate ASBR for type 1 and type 2 costs are same,
as the alternate ASBRs with different type2 costs are pruned and the evaluation is based on
equal type 2 cost ASBRS.</t>
</section>
<section title="RFC1583compatibility is set to enabled">
<t>When RFC1583Compatibility is set to enabled, multiple ASBRs belonging to different area
advertising same prefix are chosen based on cost and hence are valid alternate ASBRs
for the LFA evaluation.</t>
</section>
<section title="Type 7 routes">
<t>Type 5 routes always get preference over Type 7 and the alternate ASBRs chosen for LFA
calculation should belong to same type.Among Type 7 routes, routes with p-bit and forwarding
address set have higher preference than routes without these attributes. Alternate ASBRs
selected for LFA comparison should have same p-bit and forwarding address attributes.</t>
</section>
<section title= "Inequalities to be applied for alternate ASBR selection">
<t>The alternate ASBRs selected using above mechanism described in 3.2.1,
are evaluated for Loop free criteria using below inequalities.</t>
<section title= "Forwarding address set to non zero value">
<figure anchor="mhp_fadd_zero" title="LFA inequality definition when forwarding address in non-zero">
<artwork>
Link-Protection:
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) < F_opt(S,PO_best) + cost(PO_best,P)
Node-Protection:
F_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) +
F_opt(E,PO_best) + cost(PO_best,P)
Where,
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.
</artwork>
</figure>
</section>
<section title= "ASBRs advertising type1 and type2 cost">
<figure anchor="mhp_type1_type2" title="LFA inequality definition for type1 and type 2 cost">
<artwork>
Link-Protection:
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:
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(S,PO_best) + cost(PO_best,P)
Node-Protection:
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) +
D_opt(E,PO_best) + cost(PO_best,P)
Where,
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.
</artwork>
</figure>
</section>
</section>
</section>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>Thanks to Alia Atlas and Salih K A for their useful feedback and inputs.</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>N/A. - No protocol changes are proposed in this document.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>This document does not introduce any change in any of the
protocol specifications. It simply proposes additional inequalities
for selecting LFAs for multi-homed prefixes.</t>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<references title="Normative References">
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
</references>
<references title="Informative References">
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5286.xml"?>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 03:16:48 |