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-20262026-04-24 03:16:48