One document matched: draft-psarkar-rtgwg-multihomed-prefix-lfa-00.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-00" 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>

    <date day="27" month="October" year="2014"/>

    <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 
	  neighbours 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 neighbour 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>The following set of inequalities can be used to evaluate LFAs for multi-homed prefixes.</t>
      
        <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>

        <t>To compute a valid LFA for a given multi-homed prefix P, a computing router S shall evaluate for each alternate
		neighbor N, one of the above set of inequalities, once for each remote node that originated the prefix. 
		If the inequality is satisfied by any neighbour N for any remote prefix-originating node, router S shall choose neighbour N, 
		as one of the valid LFAs for the prefix P. </t>
      </section>     
    
	
	
	 <section  title="LFA selection for the multi-homed external routes">
	 <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.
	 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 neighbour. 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].
	  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_chart" 
            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  neighbour 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-20262026-04-24 03:17:52