[Docs] [txt|pdf] [Tracker] [Email] [Nits] [IPR]

Versions: 00 01 02 draft-ietf-ccamp-loose-path-reopt

                                     Jean-Philippe Vasseur(Editor)
                                             Cisco Systems, Inc.
                                                  Yuichi Ikejiri
                                    NTT Communications Corporation

IETF Internet Draft
Expires: August, 2004
                                                      February, 2004





            draft-vasseur-ccamp-loose-path-reopt-00.txt



            Reoptimization of MPLS Traffic Engineering
                loosely routed explicit LSP 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-ccamp-loose-path-reopt-00.txt             February 2004


Table of content

3.1.   ERO expansion signaling request 4
3.2.   New Path Error sub-code 4
4.1.   TE LSP reroute 5
4.2.   Reoptimization triggers 5
4.3.   Head-end request versus mid-point indication   6
4.3.1. Head-end request      6
4.3.2. Mid-point indication   7
4.3.3. ERO caching    8


Abstract

The aim of this document is to propose a mechanism for the
reoptimization of MPLS Traffic Engineering loosely routed explicit LSP
paths. A loosely routed explicit LSP path is 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 (which implies
an ERO expansion) to reach a loose hop is performed by the previous hop
defined in the TE LSP path. This document proposes a mechanism that
allows:

  - The TE LSP head-end LSR to trigger a new ERO expansion on every
  hop having a next hop defined as a loose hop,

  - A mid-point LSR to signal to the TE LSP head-end LSR that a better
  path exists to reach a loose hop (compared to the current path in
  use). A better path is defined as a path with a lower cost, where
  the cost is determined by the metric used to compute the path.

This primarily applies to inter-area TE LSPs and inter-AS TE LSPs (see
[INTER-AREA-AS]) when the path is defined as a list of loose hops
(generally the loose hops are the ABRs/ASBRs) but the following
mechanism is also applicable to any loosely routed explicit path within
a single routing domain.

1.     Establishment of a loosely routed explicit TE LSP

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 listed in the ERO object of
the RSVP Path message with the L flag of the Ipv4 prefix sub-object
set, as defined in [RSVP-TE]. In this case, each LSR along path can
perform a partial route computation to reach the next loose hop and
then performs an ERO expansion, before forwarding the RSVP Path message
downstream.

Note that the examples in the rest of this document are 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,

 Vasseur and Ikejiri                                         2




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


this mechanism could also be used for loosely routed TE LSP in the
context of TE LSPs spanning several autonomous systems and as such
abides by the requirements for inter-AS TE define in [INTER-AS-TE-REQS]
The examples below are provided with OSPF as the IGP but the described
set of mechanisms similarly apply to IS-IS.

An example of an explicit loosely routed TE LSP signaling.

<---area 1--><-area 0--><-area 2->

 R1---R2----R3---R6    R8-----R10
  |          |    |   / |\    |
  |          |    | --  | --\ |
  |          |    |/    |    \|
  |---R4----R5---R7----R9-----R11


Assumptions
- R3, R5, R8 and R9 are ABRs
- A TE LSP1 path from R1 (head-End LSR) to R11 (tail-end LSR) is
defined as the following loosely routed path: R1-R3(loose)-R8(loose)-
R11(loose):R3, R8 and R11 are defined as loose hops.

Step 1: LSP 1ªs 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 LSP1ªs set of constraints

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 expansion 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 to reach LSP1ªs destination:
R11.

2.     Reoptimization of a loosely routed explicit TE LSP path

Once the TE LSP is set up, it 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). Since the better path is not
visible from the head-end LSR by means of the IGP, it cannot make use
of this better path (and perform a make before break) when appropriate.

 Vasseur and Ikejiri                                         3




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


This is the case in the example above as the better path does not
appear in the head-end area.

This document 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 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
LSR, the head-end LSR can decide (depending on the TE LSP
characteristics) whether to perform a TE LSP graceful reoptimization.
This allows the Head-end LSR to reoptimize a TE LSP making use of the
non disruptive make before break procedure if and only if a better path
exists and if such a reoptimized is desired.

3.     Signalling extensions

3.1.    ERO expansion signaling request

The following new flag of the SESSION_ATTRIBUTE object (C-Type 1 and 7)
is defined:

      ERO Expansion request:  0x20

This flag indicates that a new ERO expansion is requested.

Note: in case of link bundling for instance, although the resulting ERO
might be identical, this might give the opportunity for a mid-point LSR
to locally select another link within a bundle, although strictly
speaking, the ERO has not changed.

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)

 Vasseur and Ikejiri                                         4




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004



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:
      6       Better path exists
      7      Local link maintenance required
      8      Local node maintenance required

See details about Local maintenance required modes in section 4.3.2

4.     Mode of operation

4.1.   TE LSP reroute

The notification process of a better path is by nature de-correlated
from the reoptimization operation. In other words, the location where a
potentially more optimal path is discovered does not have to be where
the TE LSP is actually reoptimized. In particular, when a better path
is discovered, one could conceivably envisage reoptimizing the TE LSP
on a mid-point LSR or on the head-end LSR of the TE LSP. In the former
case, this may not be desirable in several circumstances: indeed, the
reoptimization process inevitably generates some jitter and potentially
packet reordering. Furthermore, the only LSR having the complete view
of the end to end path and TE LSP set of attributes/constraints is the
head-end LSR. For those reasons, this document applies to the context
of a head-end LSR reoptimization. It is just worth mentioning that in
some other contexts, mid-point reoptimization may also be desirable.

4.2.   Reoptimization triggers

There are two possible reoptimization triggers:

      - Timer-based: a reoptimization is triggered (process
      evaluating whether a more optimal path can be found) when a
      configurable timer expires,

      - Event-driven: a reoptimization is triggered when a
      particular network event occurs (such as a
                                           ªªLink-UPªª
                                                     event).


 Vasseur and Ikejiri                                         5




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


It is RECOMMENDED for an implementation supporting the extensions
proposed in this document to support both modes.

4.3.   Head-end request versus mid-point indication

This document defines two modes:

      - ªªHead-end requesting modeªª: the request for a new path
      evaluation of an explicit loosely routed TE LSP is requested by
      the head-end LSR.

      - ªªMid-point indication
                          ªª: a mid-point LSR having determined
      that a better path (than the current path is use) exists or
      having the desire to perform a link/node local maintenance
      explicitly notifies the head-end LSR which will in turn decide
      whether to perform a make before break.

4.3.1.
      Head-end request

In this mode, when a timer-based reoptimization is triggered on the
head-end LSR or the operator manually requests a reoptimization, the
head-end LSR immediately sends an RSVP Path message with the
                                                    ªªERO
Expansion requestªª
                bit of the SESSION-ATTRIBUTE object set. This bit is
then cleared in subsequent RSVP path messages sent downstream.

Upon receiving a Path message with the ªªERO expansion request
                                                    ªª bit set,
every LSR for which the next abstract node contained in the ERO is
defined as a loose hop, MUST perform the following set of actions:

      - A new ERO expansion is triggered and the newly computed path
      is compared to the existing path:

             - If a better path can be found, the LSR MUST
             immediately send a Path Error to the head-end LSR
             (Error code 25 (Notify), sub-code=6 (better path
             exists)). At this point, the LSR MAY decide to clear
             the ERO expansion request bit of the SESSION-ATTRIBUTE
             object in subsequent RSVP Path messages sent
             downstream: this mode is the RECOMMENDED mode.

             The sending of a Path Error Notify message ªªBetter path
             exists
                  ªª to the head-end LSR will notify the head-end
             LSR of the existence of a better path in a downstream
             area/AS. Hence, triggering additional ERO expansions on
             downstream nodes is unnecessary. The only motivation to
             forward subsequent RSVP Path messages with the
             ªª
               Expansion request bit
                                ªª of the SESSION-ATTRIBUTE object
             set would be to trigger path re-evaluation on
             downstream nodes that could in turn cache some
             potentially better paths downstream with the objective

 Vasseur and Ikejiri                                         6




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


             to reduce the signaling setup delay, should a
             reoptimization be performed by the head-end LSR.

             - No better path can be found: as previously stated,
             the recommended mode is for an LSR to relay the request
             (by setting the ERO expansion bit of the SESSION-
             ATTRIBUTE object in RSVP path message sent downstream)
             only if no better path has been found on this mid-point
             LSR.

Note: by better path, we mean a path having a lower cost. By default,
an LSR uses the IGP metric in their CSPF to compute the shortest path
that obeys a set of constraints. Note that the head-end LSR 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.

Example:

Let call Ln the list of LSRs defined as loose hops in the ERO sent in
the RSVP 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


<---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(loose)-R8(loose)-R11(loose).
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=6,
ªª
 Better path existsªª), the head-end LSR is informed of a more optimal
path.

Note that if the RSVP Path message with the ªªERO expansion request
                                                        ªª bit
set is lost, then the next request will be sent when the reoptimization
event will trigger on the head-end LSR. The solution to handle RSVP
reliable messaging has been defined in [REFRESH-REDUCTION].


4.3.2.
      Mid-point indication

 Vasseur and Ikejiri                                         7




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004



In this mode, a mid-point 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) or the user
explicitly requests it). If a better path is found compared to the
existing one, the LSR sends a Path Error to the head-end LSR (Error
code 25 (Notify), sub-code=6 (better path exists)).

There are other circumstances by which a mid-point LSR MAY send an RSVP
Path Error Notify message with the objective for the TE LSP to be
rerouted by its head-end LSR: when a link or a node will go down for
local maintenance reasons. In this case, the mid-point LSR where the
local maintenance must be performed is responsible for sending an RSVP
Path Error Notify message with the sub-code=7 or 8 depending on the
affected network element (link or node). Then the first upstream node
having performed the ERO expansion MUST perform the following set of
actions:

      - The link (sub-code=7) or the node (sub-code=8) MUST be
      locally registered for further reference (the TE database must
      be updated)

      - The RSVP Path Error message MUST be immediately forwarded
      unchanged upstream to the head-end LSR.

Upon, receiving a Path Error Notify message with sub-code 7 or 8, the
Head-end LSR MUST perform a TE LSP reoptimization.

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 LSR for a limited amount of time to
avoid having to recompute a route once the head-LSR performs a make
before break. This mode is optional.
                                                                  Comment
                                                                      :


5.     Interoperability
                                                                  Comment
                                                                      :


An LSR not supporting the
                      ªªERO expansion request
                                         ªª bit of the SESSION-
ATTRIBUTE object SHOULD just ignore it.

Any head-end LSR not supporting this draft receiving a Path Error
Notify message with sub-code = 6, 7 or 8 MUST just silently ignore the
Path message.


 Vasseur and Ikejiri                                         8




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


6.     Security Considerations

The practice described in this document does not raise specific
security issues beyond those of existing TE.


7.     Acknowledgment

The authors would like to thank Carol Iturralde, Miya Kohno, Francois
Le Faucheur, Philip Matthews and Jim Gibson for their useful and
valuable comments.


8.     Intellectual Property

The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights might or
might not be available; neither does it represent that it has made any
effort to identify any such rights. Information on the IETF's
procedures with respect to rights in standards-track and standards-
related documentation can be found in BCP-11. Copies of claims of
rights made available for publication and any assurances of licenses to
be made available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification can be obtained from the
IETF Secretariat.

The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary rights
which may cover technology that may be required to practice this
standard. Please address the information to the IETF Executive
Director.

The IETF has been notified of intellectual property rights claimed in
regard to some or all of the specification contained in this document.
For more information consult the online list of claimed rights.


Normative References

[RFC] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels," RFC 2119.

[RSVP-TE] Awduche et al, "RSVP-TE: Extensions to RSVP for LSP Tunnels",
RFC3209, December 2001.

Informative references


 Vasseur and Ikejiri                                         9




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


[TE-REQ] Awduche et al, Requirements for Traffic Engineering over MPLS,
RFC2702, September 1999.

[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 et al, ªªMulti-area MPLS Traffic Engineeringªª,
draft-kompella-mpls-multiarea-te-03.txt, June 2002.

[SEC-METRIC] Le Faucheur et al,ªª 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-ietf-tewg-interas-mpls-te-req-06.txt, February
2004, Work in progress.

[INTER-AREA-AS] Vasseur and Ayyangar, ªªInter-area and Inter-AS Traffic
Engineeringªª, draft-vasseur-inter-area-AS-TE-00.txt, February 2004,
work in progress.

[REFRESH-REDUCTION] Berger et al, ªªRSVP Refresh Overhead Reduction
Extensionsªª, April 2001

Authors' addresses:

Jean-Philippe Vasseur
Cisco Systems, Inc.
300 Beaver Brook Road
Boxborough , MA - 01719
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

Full Copyright Statement

   Copyright (C) The Internet Society (2004). All Rights
   Reserved.

   This document and translations of it may be copied and

 Vasseur and Ikejiri                                        10




draft-vasseur-ccamp-loose-path-reopt-00.txt             February 2004


   furnished to others, and derivative works that comment on
   or otherwise explain it or assist in its implementation may
   be prepared, copied, published and distributed, in whole or
   in part, without restriction of any kind, provided that the
   above copyright notice and this paragraph are included on
   all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by
   removing the copyright notice or references to the Internet
   Society or other Internet organizations, except as needed
   for the purpose of developing Internet standards in which
   case the procedures for copyrights defined in the Internet
   Standards process must be followed, or as required to
   translate it into languages other than English.

   The limited permissions granted above are perpetual and
   will not be revoked by the Internet Society or its
   successors or assigns. This document and the information
   contained herein is provided on an "AS IS" basis and THE
   INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
   DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
   NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
   PURPOSE.

























 Vasseur and Ikejiri                                        11


Html markup produced by rfcmarkup 1.129d, available from https://tools.ietf.org/tools/rfcmarkup/