One document matched: draft-vasseur-mpls-loose-path-reopt-01.txt

Differences from draft-vasseur-mpls-loose-path-reopt-00.txt


                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                                                                                        
                                                          Jean-Philippe Vasseur(Editor) 
                                                                    Cisco Systems, Inc. 
                                                                         Yuichi Ikejiri  
                                                         NTT Communications Corporation   
                                                                                        
               IETF Internet Draft 
               Expires: August, 2003                                                
                                                                        February, 2003 
                
                
                
                                                    
                                                    
                              draft-vasseur-mpls-loose-path-reopt-01.txt 
                                                    
                                                    
                                                    
                                                    
                      Reoptimization of an explicit loosely routed MPLS TE paths 
                
                
                
                
               Status of this Memo 
                
               This document is an Internet-Draft and is in full conformance with all 
               provisions of Section 10 of RFC2026. Internet-Drafts are 
               Working documents of the Internet Engineering Task Force (IETF), its 
               areas, and its working groups.  Note that other groups may also 
               distribute working documents as Internet-Drafts. 
                
               Internet-Drafts are draft documents valid for a maximum of six months 
               and may be updated, replaced, or obsoleted by other documents at any 
               time. It is inappropriate to use Internet-Drafts as reference material 
               or to cite them other than as "work in progress." 
                
               The list of current Internet-Drafts can be accessed at 
               http://www.ietf.org/ietf/1id-abstracts.txt. 
               The list of Internet-Draft Shadow Directories can be accessed at 
               http://www.ietf.org/shadow.html. 











                 
                Vasseur and Ikejiri                                                 1 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
               Abstract 
                
               The aim of this document is to propose a mechanism for the 
               reoptimization of loosely routed explicit paths. A loosely routed 
               explicit path is as a path specified as a combination of strict and 
               loose hop(s) that contains at least one loose hop and zero or more 
               strict hop(s). The path calculation (ERO expansion) to reach a loose 
               hop is made on the previous hop defined in the TE LSP path. This draft 
               proposes a mechanism that allows: 
                
                  - the TE LSP Head-end LSR to trigger a reoptimization on every loose 
                  hops along the path,  
                   
                  - an LSR to signal to the TE LSP head-end that a better path exists 
                  to reach a loose than the path in use. A better path is defined as a 
                  path with a lower cost, where the cost is defined by the metric used 
                  to compute the path.  
                
               This primarily applies to inter-area TE LSPs and inter-AS TE LSPs when 
               the path is defined as a list of loose hops (generally the loose hops 
               are the ABRs) but the following mechanism is also applicable to any 
               loosely routed explicit paths within a single routing domain. 
                
                
               1.      Establishment of an explicit loosely routed TE LSP path 
                
               A loosely routed explicit path is as a path specified as a combination 
               of strict and loose hop(s) that contains at least one loose hop and 
               zero or more strict hop(s). Loose hops are specified in the ERO object 
               of the Path message with the L flag of the Ipv4 prefix sub-object set, 
               as defined in RFC3209. In this case, each LSR along path can perform a 
               partial route computation to reach the next loose hop and then performs 
               an ERO expand, before forwarding the RSVP Path message downstream. 
                
               Note that the examples in the rest of this draft will be provided in 
               the context of MPLS inter-area TE but the proposed mechanism also 
               applies to loosely routed path within a single routing domain. 
               Furthermore, this mechanism could also be used in the context of 
               loosely routed paths in the context of TE LSPs spanning several 
               autonomous systems. 
               Also examples will be provided with OSPF as the IGP but the mechanisms 
               similarly apply to IS-IS. 
                
               An example of an explicit loosely routed TE LSP signalling (see also 
               [MULTI-AREA-TE scenario 1]  
                
               <---area 1--><-area 0--><-area 2-> 
                
                R1---R2----R3---R6    R8-----R10 
                 |          |    |   / |\    |    
                 |          |    | --  | --\ | 
                
                Vasseur and Ikejiri                                                 2 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
                 |          |    |/    |    \| 
                 |---R4----R5---R7----R9-----R11 
                
                
               Assumptions 
               - R3, R5, R8 and R9 are ABRs 
               - A TE LSP1 from R1 (Head-End LSR) to R11 (Tail-end LSR) is defined 
               with the following loosely routed path: R1-R3-R8-R11. R3, R8 and R11 
               are defined as loose hops. 
                
               Step 1: the TE LSP 1 Head-end (R1) builds the following ERO object: 
               R1(S)-R2(S)-R3(S)-R8(L)-R11(L)  
                       where: 
                               S: Strict hop (L=0) 
                               L: Loose hop (L=1) 
                       The R1-R2-R3 path obeys the TE LSP constraint 
                
               Step 2: the RSVP Path message is then forwarded by R1 following the ERO 
               path and reaches R3 with the following content: R8(L)-R11(L) 
                
               Step 3: R3 determines that the next hop (R8) is a loose hop (not 
               directly connected to R3) and then performs an ERO expand operation to 
               reach the next loose hops R8. The new ERO becomes: R6(S)-R7(S)-R8(S)-
               R11(L). 
                
               Step 4: the same procedure applies at R8. 
               ... 
                
                
               2.      Reoptimization of an explicit loosely routed TE LSP 
                
               Once the TE LSP is set up, the TE LSP is maintained through normal RSVP 
               procedures. Then a more optimal path might appear between an LSR and 
               its next loose hop (suppose in the example above that a link between R6 
               and R8 is added that provides a shorter path between R3 and R8 (R3-R6-
               R8) than the existing R3-R6-R7-R8 path). Currently if the better path 
               is not visible from the Head-end LSR, it cannot make use of this better 
               path and perform a make before break when appropriate. This is for 
               instance the case in the example above as the better path appears in an 
               area, which is not the Head-end area. 
                
               This draft proposes a mechanism that allows:  
                
               - The TE LSP Head-end LSR to trigger on every LSR whose next hop is a 
               loose hop the re evaluation of the current path in order to detect a 
               potential more optimal path, 
                
               - An LSR whose next hop is a loose-hop to signal (using a new ERROR-
               SPEC sub code carried in a Path Error Notify message) to the TE LSP 
               head-end that a better path exists (a path with a lower cost, where the 

                
                Vasseur and Ikejiri                                                 3 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
               cost is defined by the metric used to compute the path -                                                                      - see [SEC-
               METRIC], [METRIC]). 
                
               Then once the existence of a better path is notified to the Head-end it 
               can perform a make before break. 
                
                
               3.      Signalling extensions 
                
               3.1.     ERO expansion signaling request 
                
               For EXPLICIT ROUTE object C-Type 1 and 7, we define a new flag in the 
               SESSION_ATTRIBUTE object: 
                
                       ERO expansion request:  0x20 
                
               This flag indicates to every LSR having a loose hops specified as their 
               next hop in the ERO that a new ERO expansion is requested. 
                
                
               3.2.    New Path Error sub-code 
                
               The format of a Path Error is the following: 
                
               <PathErr message> ::= <Common Header> [ <INTEGRITY> ] 
                
                                                     <SESSION> <ERROR_SPEC> 
                
                                                     [ <POLICY_DATA> ...] 
                
                                                    [ <sender descriptor> ] 
                
                          <sender descriptor> ::= (see earlier definition) 
                
               IPv4 ERROR_SPEC object: Class = 6, C-Type = 1 
                
                
                          +-------------+-------------+-------------+-------------+ 
                          |            IPv4 Error Node Address (4 bytes)          | 
                          +-------------+-------------+-------------+-------------+ 
                          |    Flags    |  Error Code |        Error Value        | 
                          +-------------+-------------+-------------+-------------+ 
                
               Various Error Codes and Error values have been defined in RFC2205 and 
               RFC3209. 
                
               The ERROR-CODE 25 corresponds to a Path Error - Notify Error. We 
               propose to add two new sub-codes: 
                        4       Better path exists 
                        5       No better path 
                
                
                Vasseur and Ikejiri                                                 4 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
                
               4.      Mode of operation 
                
               4.1.    TE LSP reroute 
                
               The TE LSP reroute (make before break) is always considered as being 
               performed on the Head-end LSR. 
                
               4.2.    Reoptimization triggers 
                
               There are two possible reoptimization triggers: 
                
               - timer-based: a reoptimization is triggered (look for a more optimal 
               path) when a configurable timer expires, 
                
               - event-driven: a reoptimization is triggered when a particular event 
               happens (such as a ''Link-UP'' event). 
                
                
               4.3.    Head-end reoptimization request versus mid-point reoptimization 
                   indication 
                
               The need for reoptimization (a better path exists) of an explicit 
               loosely routed TE LSP can be either: 
                
                       - requested by the Head-end LSR, 
                        
                       - determined by any mid-point LSR whose next hop is a loose hop 
                       having detected that a better path (than the existing path) 
                       exists.  
                
                
               4.3.1.  Head-end reoptimization request 
                
               In this mode, when a timer-based reoptimization is triggered on the 
               head-end LSR (reoptimization timer has fired) or the operator manually 
               requests a reoptimization, the head-end LSR immediately sends a Path 
               message with the ''ERO expansion request'' bit of the SESSION_ATTRIBUTE 
               object set. 
                
               Upon receiving a Path message with the ''ERO expansion request'' bit of 
               the SESSION_ATTRIBUTE object set, every LSR, for which the next 
               abstract node contained in the ERO is defined as a loose hop, must 
               perform a new ERO expansion (path re evaluation): 
                
                       - if a better path can be found to reach the next loose hop 
                       (than the path currently in use), the LSR must immediately send 
                       a Path Error to the head-end (Error code 25 (Notify), sub-
                       code=4 (better path exists)), 
                        

                
                Vasseur and Ikejiri                                                 5 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
                       - if no better path can be found, the LSR must send a Path 
                       Error to the head-end (Error code 25 (Notify), sub-code=5 (no 
                       better path)) 
                
               By better path, we mean a path having a lower cost. By default, an LSR 
               uses the IGP metric in their CSPF to detect the shortest path that 
               obeys a set of constraints. Note that the head-end might use the 
               METRIC-TYPE object (defined in [PATH-COMP]) in its path message to 
               request the LSR having a next hop defined as a loose hop in the ERO to 
               use the TE metric to determine the best path. 
                
               Let call Ln the list of LSRs defined as loose hops in the ERO sent in 
               the Path message by the Head-end LSR: Ln=<l1, l2, ..., ln>. Let's now 
               call Pn=<p1, p2, ..., pn> the list of LSRs pi such that li is a next 
               (loose) hop of pi for i=1...n 
                
               Example 2: 
                
               <---area 1--><-area 0--><-area 2-> 
                
                R1---R2----R3---R6    R8-----R10 
                 |          |    |   / |\    |    
                 |          |    | --  | --\ | 
                 |          |    |/    |    \| 
                 |---R4----R5---R7----R9-----R11 
                
               A TE LSP1 from R1 (Head-End LSR) to R11 (Tail-end LSR) is defined with 
               the following loosely routed path: R1-R3-R8-R11. R3, R8 and R11 are 
               defined as loose hops. 
                
               Ln=<R3,R8,R11> 
               Pn=<R1,R3,R8> 
                
               As soon as a positive response is received from an LSR pi (sub-code=4, 
               ''Better path exists''), the Head-end LSR must: 
                
                               - clear the ''ERO expansion request'' bit, 
                        
                               - perform a make before break 
                
               If no positive response is received then the Head-end LSR must keep 
               refreshing the current TE LSP. 
                
               The Head-end LSR SHOULD clear the ''ERO expansion request'' bit as soon 
               as: 
               - at least a Path Error containing a positive reply (better path 
               exists) is received, 
               or 
               - all LSRs <p1, ..pn> have sent a negative reply (not better path), 
               or  

                
                Vasseur and Ikejiri                                                 6 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
               - K consecutive Path messages with the ''ERO expansion request'' bit set 
               have been sent. 
                
               A recommended value for K is 4. 
                
                
               4.3.2.  Mid-point reoptimization indication 
                
               In this mode, an LSR whose next abstract node is a loose hop can 
               locally trigger an ERO expansion (when a configurable timer expires or 
               on event-driven basis (link-up event for example)). If a better path is 
               found compared to the existing one, the LSR sends a Path Error to the 
               head-end (Error code 25 (Notify), sub-code=4 (better path exists)). The 
               Head-end LSR must then immediately perform a make before break. 
                
               Note that those modes are not exclusive: both the timer and even-driven 
               reoptimization triggers can be implemented on the Head-end and/or any 
               mid-point LSR with potentially different timer values for the timer 
               driven reoptimization case. 
                
                
               4.3.3.  ERO caching 
                
               Once a mid-point LSR has determined that a better path exists (after a 
               reoptimization request has been received by the Head-end LSR or the 
               reoptimization timer on the mid-point has fired), the more optimal path 
               MAY be cached on the mid-point for a limited amount of time to avoid 
               having to recompute a route once the Head-LSR performs a make before 
               break. 
                
                
               5.      Interoperability 
                
               An LSR non supporting the ''ERO expansion request'' bit of the SESSION-
               ATTRIBUTE object should just ignore it.  
                
               Any Head-end LSR non supporting this draft receiving a Path Error 
               Notify message with sub-code = 4 or 5 should just ignore the Path 
               message. 
                
                
               6.      Security Considerations 
                
               The practice described in this draft does not raise specific security 
               issues beyond those of existing TE. 
                
                
               7.      Acknowledgment 
                
               The authors would like to thank Carol Iturralde, Miya Kohno and 
               Francois Le Faucheur for their useful and valuable comments. 
                
                Vasseur and Ikejiri                                                 7 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
                
                
               8.      Intellectual Property 
                
               The contributor represents that he has disclosed the existence of any 
               proprietary or intellectual property rights in the contribution that 
               are reasonably and personally known to the contributor.  The 
               contributor does not represent that he personally knows of all 
               potentially pertinent proprietary and intellectual property rights 
               owned or claimed by the organization he represents (if any) or third 
               parties. 
                
                
               References 
                
               [TE-REQ] Awduche et al, Requirements for Traffic Engineering over MPLS, 
               RFC2702, September 1999. 
                
               [OSPF-TE] Katz, Yeung, Traffic Engineering Extensions to OSPF, draft-
               katz-yeung-ospf-traffic-05.txt, June 2001.  
                
               [ISIS-TE] Smit, Li, IS-IS extensions for Traffic Engineering, draft-
               ietf-isis-traffic-03.txt, June 2001. 
                
               [RSVP-TE] Awduche et al, "RSVP-TE: Extensions to RSVP for LSP Tunnels",  
               RFC3209, December 2001. 
                
               [METRICS] Fedyk et al, ''Multiple Metrics for Traffic Engineering with 
               IS-IS and OSPF'', draft-fedyk-isis-ospf-te-metrics-01.txt, November 
               2000. 
                
               [DS-TE] Le Faucheur et al, ''Requirements for support of Diff-Serv-aware 
               MPLS Traffic Engineering'', draft-ietf-tewg-diff-te-reqts-01.txt, June 
               2001. 
                
               [MULTI-AREA-TE] Kompella at all, ''Multi-area MPLS Traffic Engineering'',              
               draft-kompella-mpls-multiarea-te-03.txt, June 2002. 
                
               [PATH-COMP] Vasseur et al, ''RSVP Path computation request and reply 
               messages'',  draft-vasseur-mpls-computation-rsvp-03.txt, November 2001. 
                
               [SEC-METRIC] Le Faucheur et all,'' Use of Interior Gateway Protocol 
               (IGP) Metric as a second MPLS Traffic Engineering Metric'', draft-ietf-
               tewg-te-metric-igp-02.txt, September, 2002. 
                      
               [INTER-AS-TE-REQS] Zhang et al, ''MPLS Inter-AS Traffic Engineering 
               requirements'', draft-tewg-interas-te-req-01.txt (work in progress). 
                
               [INTER-AS-TE] Vasseur and Zhang, ''MPLS Inter-AS Traffic Engineering'', 
               draft-vasseur-inter-as-te-00.txt, February 2003, work in progress. 
                
                
                Vasseur and Ikejiri                                                 8 
                

                
               draft-vasseur-mpls-loose-path-reopt-01.txt                February 2003 
                
                
                
               Authors' addresses: 
                
               Jean Philippe Vasseur 
               Cisco Systems, Inc. 
               300 Apollo Drive 
               Chelmsford, MA 01824 
               USA 
               Email: jpv@cisco.com 
                
               Yuichi Ikejiri  
               NTT Communications Corporation  
               1-1-6, Uchisaiwai-cho, Chiyoda-ku  
               Tokyo 100-8019  
               JAPAN  
               Email: y.ikejiri@ntt.com  



































                
                Vasseur and Ikejiri                                                 9 
                


PAFTECH AB 2003-20262026-04-22 14:58:32