draft-ietf-ccamp-loose-path-reopt-00.txt | draft-ietf-ccamp-loose-path-reopt-01.txt | |||
---|---|---|---|---|
CCAMP WG | ||||
Internet Draft Jean-Philippe Vasseur | CCAMP Working Group Jean-Philippe Vasseur | |||
Proposed status: Standard (Editor) | IETF Internet Draft (Editor) | |||
Cisco Systems | Proposed status: Informational Cisco Systems | |||
Yuichi Ikejiri | Yuichi Ikejiri | |||
NTT Communications | NTT Communications | |||
Corporation | Corporation | |||
Raymond Zhang | Raymond Zhang | |||
Infonet Service Corporation | Infonet Service Corporation | |||
Document: draft-ietf-ccamp-loose-path- | ||||
reopt-00.txt | ||||
Expires: February 2005 August 2004 | ||||
Reoptimization of MPLS Traffic Engineering loosely routed LSP | Expires: November 2005 May 2005 | |||
draft-ietf-ccamp-loose-path-reopt-00.txt | Reoptimization of Multiprotocol Label Switching (MPLS) Traffic | |||
Engineering (TE) loosely routed Label Switch Path (LSP) | ||||
Status of this Memo | draft-ietf-ccamp-loose-path-reopt-01.txt | |||
By submitting this Internet-Draft, I certify that any applicable | Status of this Memo | |||
patent or IPR claims of which I am aware have been disclosed, and any | ||||
of which I become aware will be disclosed, in accordance with RFC | ||||
3668. | ||||
This document is an Internet-Draft and is in full conformance with | By submitting this Internet-Draft, each author represents that any | |||
all provisions of Section 10 of RFC2026 [i]. | applicable patent or other IPR claims of which he or she is aware | |||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as | |||
Drafts. | Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
Abstract | Copyright Notice | |||
This document defines a mechanism for the reoptimization of loosely | ||||
routed MPLS and GMPLS Traffic Engineering LSPs. A loosely routed LSP | ||||
follows 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 | Copyright (C) The Internet Society (2005). All Rights Reserved. | |||
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 path re-evaluation on | Abstract | |||
every hop having a next hop defined as a loose hop, | ||||
- A mid-point LSR to signal to the head-end LSR that either a better | This document defines a mechanism for the reoptimization of loosely | |||
path exists to reach a loose hop (compared to the current path in | routed MPLS and GMPLS (Generalized Multiprotocol Label Switching) | |||
use) or that the TE LSP must be reoptimized because of some | Traffic Engineering LSPs. A loosely routed LSP is defined as one | |||
maintenance required on the TE LSP path. A better path is defined as | that does not contain a full explicit route identifying each LSR | |||
a lower cost path, where the cost is determined by the metric used to | along the path of the LSP at the time it is signaled by the ingress | |||
compute the path. | LSR. Such an LSP is signaled with no ERO, with an ERO that contains | |||
at least one loose hop, or with an ERO that contains an abstract | ||||
node that is not a simple abstract node (that is, an abstract node | ||||
that identifies more than one LSR). This document proposes a | ||||
mechanism that allows a TE LSP head-end LSR to trigger a new path re- | ||||
evaluation on every hop having a next hop defined as a loose or | ||||
abstract hop and a mid-point LSR to signal to the head-end LSR that a | ||||
better path exists (compared to the current path in use) or that the | ||||
TE LSP must be reoptimized because of some maintenance required on | ||||
the TE LSP path. | ||||
The proposed mechanism applies to intra-domain and inter-domain (IGP | The proposed mechanism applies to the cases of intra and inter-domain | |||
area or Autonomous System) packet and non-packet TE LSPs when the | (IGP area or Autonomous System) packet and non-packet TE LSPs | |||
path is defined as a list of loose hops or when a strict hop is a | following a loosely routed path. | |||
non-specific abstract node (e.g. IGP area, Autonomous Systems). | ||||
Conventions used in this document | Conventions used in this document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC-2119 [ii]. | document are to be interpreted as described in RFC-2119. | |||
Table of contents | Table of contents | |||
1. Introduction...................................................3 | 1. Notice.........................................................3 | |||
2. Establishment of a loosely routed TE LSP.......................3 | 2. Introduction...................................................3 | |||
3. Reoptimization of a loosely routed TE LSP path.................4 | 3. Establishment of a loosely routed TE LSP.......................4 | |||
4. Signalling extensions..........................................5 | 4. Reoptimization of a loosely routed TE LSP path.................5 | |||
4.1 Path re-evaluation request.................................5 | 5. Signalling extensions..........................................6 | |||
4.2 New error value sub-code...................................5 | 5.1 Path re-evaluation request.................................6 | |||
5. Mode of operation..............................................6 | 5.2 New error value sub-codes..................................6 | |||
5.1 Head-end reoptimization control............................6 | 6. Mode of operation..............................................7 | |||
5.2 Reoptimization triggers....................................6 | 6.1 Head-end reoptimization control............................7 | |||
5.3 Head-end request versus mid-point explicit notification modes | 6.2 Reoptimization triggers....................................7 | |||
...............................................................6 | 6.3 Head-end request versus mid-point explicit notification | |||
modes..........................................................7 | ||||
5.3.1 Head-end request mode.......................................7 | 5.3.1 Head-end request mode.......................................7 | |||
5.3.2 Mid-point explicit notification mode........................8 | 5.3.2 Mid-point explicit notification mode........................9 | |||
5.3.3 ERO caching.................................................9 | 5.3.3 ERO caching.................................................9 | |||
6. Interoperability...............................................9 | 7. Interoperability..............................................10 | |||
7. Security considerations........................................9 | 8. Security considerations.......................................10 | |||
8. Acknowledgments................................................9 | 9. IANA considerations...........................................10 | |||
9. Intellectual property considerations...........................9 | 10. Acknowledgments..............................................10 | |||
10. References...................................................10 | 11. Intellectual property considerations.........................11 | |||
Normative references.............................................10 | 12. References...................................................11 | |||
Informative references...........................................10 | 11.1 Normative references........................................11 | |||
11. Author's Addresses...........................................11 | 11.2 Informative references......................................11 | |||
Full Copyright Statement.........................................11 | 13. Authors' Addresses...........................................12 | |||
14. Full Copyright Statement.....................................12 | ||||
1. Introduction | 1. Notice | |||
The procedures described in this document are entirely optional | ||||
within an MPLS or GMPLS network. Implementations that do not support | ||||
the procedures described in this document will interoperate | ||||
seamlessly with those that do. Further, an implementation that does | ||||
not support the procedures described in this document will not be | ||||
impacted or implicated by a neighboring implementation that does | ||||
implement the procedures. | ||||
An ingress implementation that chooses not to support the procedures | ||||
described in this document may still achieve re-optimization by | ||||
periodically issuing a speculative make-before-break replacement of | ||||
an LSP without trying to discovery whether a more optimal path is | ||||
available in a downstream domain. Such a procedure would not be in | ||||
conflict with any mechanisms not already documented in [RFC3209] and | ||||
[RFC3473]. | ||||
2. Introduction | ||||
The Traffic Engineering Work Group has specified a set of | The Traffic Engineering Work Group has specified a set of | |||
requirements for inter-area [INTER-AREA-TE-REQ] and inter-AS [INTER- | requirements for inter-area [INTER-AREA-TE-REQ] and inter-AS [INTER- | |||
AS-TE-REQ] MPLS Traffic Engineering. Both requirements documents | AS-TE-REQ] MPLS Traffic Engineering. Both requirements documents | |||
specify the need for some mechanism providing an option for the head- | specify the need for some mechanism providing an option for the head- | |||
end to control the reoptimization process, should a more optimal path | end to control the reoptimization process, should a more optimal path | |||
exist in a downstream domain (IGP area or Autonomous System). | exist in a downstream domain (IGP area or Autonomous System). | |||
This document defines a solution to meet this requirement, in | This document defines a solution to meet this requirement and | |||
addition to a mechanism to notify a Head-end LSR of the existence of | proposes a set of mechanisms that allow: | |||
such a more optimal path or the need to reoptimize due to some | ||||
maintenance required in a downstream domain. | ||||
2. Establishment of a loosely routed TE LSP | - The TE LSP head-end LSR to trigger a new path re-evaluation on | |||
every hop having a next hop defined as a loose hop or abstract | ||||
node, | ||||
A loosely routed explicit path is a path specified as a combination | - A mid-point LSR to signal to the head-end LSR that either a | |||
of strict and loose hop(s) that contains at least one loose hop and a | better path exists to reach a loose/abstract hop (compared to the | |||
set of zero or more strict hop(s). Loose hops are listed in the ERO | current path in use) or that the TE LSP must be reoptimized because | |||
object of the RSVP Path message with the L flag of the Ipv4 or the | of some maintenance required on the TE LSP path. A better path is | |||
IPv6 prefix sub-object set, as defined in [RSVP-TE]. In this case, | defined as a lower cost path, where the cost is determined by the | |||
each LSR along the path whose next hop is specified as a loose hop or | metric used to compute the path. | |||
3. Establishment of a loosely routed TE LSP | ||||
In the context of this document, a loosely routed LSP is defined as | ||||
one that does not contain a full explicit route identifying each LSR | ||||
along the path of the LSP at the time it is signaled by the ingress | ||||
LSR. Such an LSP is signaled with no ERO, with an ERO that contains | ||||
at least one loose hop, or with an ERO that contains an abstract | ||||
node that is not a simple abstract node (that is, an abstract node | ||||
that identifies more than one LSR). As defined in [RFC3209], loose | ||||
hops are listed in the Explicit Route Object (ERO) of the RSVP Path | ||||
message with the L flag of the IPv4 or the IPv6 prefix sub-object | ||||
set. | ||||
Each LSR along the path whose next hop is specified as a loose hop or | ||||
a non-specific abstract node triggers a path computation (also | a non-specific abstract node triggers a path computation (also | |||
referred to as an ERO expansion), before forwarding the RSVP Path | referred to as an ERO expansion), before forwarding the RSVP Path | |||
message downstream. The path computation may either be performed by | message downstream. The computed path may either be partial (up to | |||
means of CSPF or any Path Computation Element (PCE) and can be | the next loose hop) or complete (set of strict hops up to the TE LSP | |||
partial (up to the next loose hop) or complete (up to the TE LSP | ||||
destination). | destination). | |||
Note that the examples in the rest of this document are provided in | Note that the examples in the rest of this document are provided in | |||
the context of MPLS inter-area TE but the proposed mechanism equally | the context of MPLS inter-area TE but the proposed mechanism equally | |||
applies to loosely routed paths within a single routing domain and | applies to loosely routed paths within a single routing domain and | |||
across multiple Autonomous Systems. | across multiple Autonomous Systems. | |||
The examples below are provided with OSPF as the IGP but the | The examples below are provided with OSPF as the IGP but the | |||
described set of mechanisms similarly apply to IS-IS. | described set of mechanisms similarly apply to IS-IS. | |||
skipping to change at page 4, line 4 | skipping to change at page 4, line 45 | |||
<---area 1--><-area 0--><-area 2-> | <---area 1--><-area 0--><-area 2-> | |||
R1---R2----R3---R6 R8---R10 | R1---R2----R3---R6 R8---R10 | |||
| | | / | \ | | | | | / | \ | | |||
| | | / | \ | | | | | / | \ | | |||
| | | / | \| | | | | / | \| | |||
R4---------R5---R7----R9---R11 | R4---------R5---R7----R9---R11 | |||
Assumptions | Assumptions | |||
- R3, R5, R8 and R9 are ABRs | - R3, R5, R8 and R9 are ABRs | |||
- The path an inter-area TE LSP T1 from R1 (head-End LSR) to R11 | - The path of an inter-area TE LSP T1 from R1 (head-end LSR) to R11 | |||
(tail-end LSR) is defined on R1 as the following loosely routed path: | (tail-end LSR) is defined on R1 as the following loosely routed path: | |||
R1-R3(loose)-R8(loose)-R11(loose). R3, R8 and R11 are defined as | R1-R3(loose)-R8(loose)-R11(loose). R3, R8 and R11 are defined as | |||
loose hops. | loose hops. | |||
Step 1: R1 determines that the next hop (R3) is a loose hop (not | Step 1: R1 determines that the next hop (R3) is a loose hop (not | |||
directly connected to R1) and then performs an ERO expansion | directly connected to R1) and then performs an ERO expansion | |||
operation to reach the next loose hops R3 either by means of CSPF or | operation to reach the next loose hops R3. The new ERO becomes: | |||
any other PCE-based path computation method. The new ERO becomes: | ||||
R2(S)-R3(S)-R8(L)-R11(L) where: | R2(S)-R3(S)-R8(L)-R11(L) where: | |||
S: Strict hop (L=0) | S: Strict hop (L=0) | |||
L: Loose hop (L=1) | L: Loose hop (L=1) | |||
The R1-R2-R3 path obeys T1Æs set of constraints. | The R1-R2-R3 path obeys T1's set of constraints. | |||
Step 2: the RSVP Path message is then forwarded by R1 following the | 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) | 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 | Step 3: R3 determines that the next hop (R8) is a loose hop (not | |||
directly connected to R3) and then performs an ERO expansion | directly connected to R3) and then performs an ERO expansion | |||
operation to reach the next loose hops R8 either by means of CSPF or | operation to reach the next loose hops R8. The new ERO becomes: | |||
any other PCE-based path computation method. The new ERO becomes: | R6(S)-R7(S)-R8(S)-R11(L). | |||
R6(S)-R7(S)-R8(S)-R11(L) | ||||
Note: in this example, the assumption is made that the path is | Note: in this example, the assumption is made that the path is | |||
computed on a per loose hop basis, also referred to a partial route | computed on a per loose hop basis, also referred to a partial route | |||
computation. Note that PCE-based mechanisms may also allow for full | computation. Note that some path computation techniques may result in | |||
route computation (up to the final destination). | complete paths (set of strict hops up to the final destination). | |||
Step 4: the same procedure applies at R8 to reach T1Æs destination | Step 4: the same procedure applies at R8 to reach T1's destination | |||
(R11). | (R11). | |||
3. Reoptimization of a loosely routed TE LSP path | 4. Reoptimization of a loosely routed TE LSP path | |||
Once a loosely routed explicit TE LSP is set up, it is maintained | Once a loosely routed explicit TE LSP is set up, it is maintained | |||
through normal RSVP procedures. During TE LSP life time, a more | through normal RSVP procedures. During TE LSP life time, a more | |||
optimal path might appear between an LSR and its next loose hop (for | optimal path might appear between an LSR and its next loose hop (for | |||
the sake of illustration, suppose in the example above that a link | the sake of illustration, suppose in the example above that a link | |||
between R6 and R8 is added or restored that provides a preferable | between R6 and R8 is added or restored that provides a preferable | |||
path between R3 and R8 (R3-R6-R8) than the existing R3-R6-R7-R8 | path between R3 and R8 (R3-R6-R8) than the existing R3-R6-R7-R8 | |||
path). Since a preferable (e.g. shorter) path might not be visible | path). Since a preferable (e.g. shorter) path might not be visible | |||
from the head-end LSR by means of the IGP if it does not belong to | from the head-end LSR by means of the IGP if it does not belong to | |||
the head-end IGP area, the head-end cannot make use of this shorter | the head-end IGP area, the head-end cannot make use of this shorter | |||
skipping to change at page 5, line 11 | skipping to change at page 5, line 48 | |||
accordingly. | accordingly. | |||
This document defines a mechanism that allows: | This document defines a mechanism that allows: | |||
- A head-end LSR to trigger on every LSR whose next hop is a | - A head-end LSR to trigger on every LSR whose next hop is a | |||
loose hop or an abstract node the re-evaluation of the current | loose hop or an abstract node the re-evaluation of the current | |||
path in order to detect a potential more optimal path, | path in order to detect a potential more optimal path, | |||
- A mid-point LSR whose next hop is a loose-hop or an abstract | - A mid-point LSR whose next hop is a loose-hop or an abstract | |||
node to signal (using a new Error value sub-code carried in a | node to signal (using a new Error value sub-code carried in a | |||
Path Error message) to the head-end that a more preferable path | RSVP PathErr message) to the head-end that a more preferable | |||
exists (a path with a lower cost, where the cost definition is | path exists (a path with a lower cost, where the cost definition | |||
determined by some metric). | is determined by some metric). | |||
Then once the existence of such a preferable path is notified to the | Then once the existence of such a preferable path is notified to the | |||
head-end LSR, the head-end LSR can decide (depending on the TE LSP | head-end LSR, the head-end LSR can decide (depending on the TE LSP | |||
characteristics) whether to perform a TE LSP graceful reoptimization. | characteristics) whether to perform a TE LSP graceful reoptimization | |||
such as the "Make Before Break" procedure defined in [RFC3209]. | ||||
There is another scenario whereby notifying the head-end of the | There is another scenario whereby notifying the head-end of the | |||
existence of a better path is desirable: if the current path is about | existence of a better path is desirable: if the current path is about | |||
the fail due to some (link or node) required maintenance (see also | the fail due to some (link or node) required maintenance. | |||
[GR-SHUT]). | ||||
This allows the head-end to reoptimize a TE LSP making use of the non | This allows the head-end to reoptimize a TE LSP making use of the non | |||
disruptive make before break procedure if and only if a preferable | disruptive make before break procedure if and only if a preferable | |||
path exists and if such a reoptimization is desired. | path exists and if such a reoptimization is desired. | |||
4. Signalling extensions | 5. Signalling extensions | |||
New ERO flags and Error value sub-codes are proposed in this document | A new flag in the SESSION ATTRIBUTE object and new Error value sub- | |||
(to be assigned by IANA). | codes in the ERROR SPEC object are proposed in this document (to be | |||
assigned by IANA). | ||||
4.1 Path re-evaluation request | 5.1 Path re-evaluation request | |||
The following new flag of the SESSION_ATTRIBUTE object (C-Type 1 and | The following new flag of the SESSION_ATTRIBUTE object (C-Type 1 and | |||
7) is defined (suggested value to be confirmed by IANA): | 7) is defined (suggested value to be confirmed by IANA): | |||
Path re-evaluation request: 0x20 | Path re-evaluation request: 0x20 | |||
This flag indicates that a path re-evaluation (of the current path in | This flag indicates that a path re-evaluation (of the current path in | |||
use) is requested. Note that this does not trigger any LSP Reroute | use) is requested. Note that this does not trigger any LSP Reroute | |||
but instead just signal the request to evaluate whether a preferable | but instead just signals the request to evaluate whether a preferable | |||
path exists. | path exists. | |||
Note: in case of link bundling for instance, although the resulting | Note: in case of link bundling for instance, although the resulting | |||
ERO might be identical, this might give the opportunity for a mid- | ERO might be identical, this might give the opportunity for a mid- | |||
point LSR to locally select another link within a bundle, although | point LSR to locally select another link within a bundle, although | |||
strictly speaking, the ERO has not changed. | strictly speaking, the ERO has not changed. | |||
4.2 New error value sub-code | 5.2 New error value sub-codes | |||
As defined in [RSVP-TE], the ERROR-CODE 25 in ERROR SPEC object | As defined in [RFC3209], the ERROR-CODE 25 in ERROR SPEC object | |||
corresponds to a Notify Error. | corresponds to a Notify Error. | |||
This document adds three new error value sub-codes (suggested values | This document adds three new error value sub-codes (suggested values | |||
to be confirmed by IANA): | to be confirmed by IANA): | |||
6 Preferable path exists | 6 Preferable path exists | |||
7 Local link maintenance required | 7 Local link maintenance required | |||
8 Local node maintenance required | 8 Local node maintenance required | |||
The details about the local maintenance required modes are detailed | The details about the local maintenance required modes are detailed | |||
in section 5.3.2 | in section 5.3.2 | |||
5. Mode of operation | 6. Mode of operation | |||
5.1 Head-end reoptimization control | 6.1 Head-end reoptimization control | |||
The notification process of a preferable path (shorter path or new | The notification process of a preferable path (shorter path or new | |||
path due to some maintenance required on the current path) is by | path due to some maintenance required on the current path) is by | |||
nature de-correlated from the reoptimization operation. In other | nature de-correlated from the reoptimization operation. In other | |||
words, the location where a potentially preferable path is discovered | words, the location where a potentially preferable path is discovered | |||
does not have to be where the TE LSP is actually reoptimized. This | does not have to be where the TE LSP is actually reoptimized. This | |||
document applies to the context of a head-end reoptimization. | document applies to the context of a head-end reoptimization. | |||
5.2 Reoptimization triggers | 6.2 Reoptimization triggers | |||
There are three possible reoptimization triggers: | There are three possible reoptimization triggers: | |||
- Timer-based: a reoptimization is triggered (process evaluating | - Timer-based: a reoptimization is triggered (process evaluating | |||
whether a more optimal path can be found) when a configurable timer | whether a more optimal path can be found) when a configurable timer | |||
expires, | expires, | |||
- Event-driven: a reoptimization is triggered when a particular | - Event-driven: a reoptimization is triggered when a particular | |||
network event occurs (such as a ôLink-UPö event), | network event occurs (such as a "Link-UP" event), | |||
- Operator-driven: a reoptimization is manually triggered by the | - Operator-driven: a reoptimization is manually triggered by the | |||
Operator. | Operator. | |||
It is RECOMMENDED for an implementation supporting the extensions | It is RECOMMENDED for an implementation supporting the extensions | |||
proposed in this document to support the aforementioned modes as path | proposed in this document to support the aforementioned modes as path | |||
re-evaluation triggers. | re-evaluation triggers. | |||
5.3 Head-end request versus mid-point explicit notification modes | 6.3 Head-end request versus mid-point explicit notification modes | |||
This document defines two modes: | This document defines two modes: | |||
1) ôHead-end requesting modeö: the request for a new path | 1) "Head-end requesting mode": the request for a new path | |||
evaluation of a loosely routed TE LSP is requested by the head- | evaluation of a loosely routed TE LSP is requested by the head- | |||
end LSR. | end LSR. | |||
2) ôMid-point explicit notificationö: a mid-point LSR having | 2) "Mid-point explicit notification": a mid-point LSR having | |||
determined that a preferable path (than the current path is use) | determined that a preferable path (than the current path is use) | |||
exists or having the need to perform a link/node local | exists or having the need to perform a link/node local | |||
maintenance explicitly notifies the head-end LSR which will in | maintenance explicitly notifies the head-end LSR which will in | |||
turn decide whether to perform a reoptimization. | turn decide whether to perform a reoptimization. | |||
5.3.1 Head-end request mode | 6.3.1 Head-end request mode | |||
In this mode, when a timer-based reoptimization is triggered on the | 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 or the operator manually requests a reoptimization, the | |||
head-end LSR immediately sends an RSVP Path message with the ôPath | head-end LSR immediately sends an RSVP Path message with the "Path | |||
re-evaluation requestö bit of the SESSION-ATTRIBUTE object set. This | re-evaluation request" bit of the SESSION-ATTRIBUTE object set. This | |||
bit is then cleared in subsequent RSVP path messages sent downstream. | bit is then cleared in subsequent RSVP path messages sent downstream. | |||
In order to handle the case of a lost Path message, the solution | ||||
consists of relying on the reliable messaging mechanism described in | ||||
[REFRESH-REDUCTION]. | ||||
Upon receiving a Path message with the ôPath re-evaluation requestö | Upon receiving a Path message with the "Path re-evaluation request" | |||
bit set, every LSR for which the next abstract node contained in the | bit set, every LSR for which the next abstract node contained in the | |||
ERO is defined as a loose hop/abstract node, performs the following | ERO is defined as a loose hop/abstract node, performs the following | |||
set of actions: | set of actions: | |||
A path re-evaluation is triggered and the newly computed path is | A path re-evaluation is triggered and the newly computed path is | |||
compared to the existing path: | compared to the existing path: | |||
- If a preferable path can be found, the LSR MUST immediately | - If a preferable path can be found, the LSR performing the path | |||
send a Path Error to the head-end LSR (Error code 25 (Notify), | re-evaluation MUST immediately send an RSVP PathErr to the head- | |||
Error sub-code=6 (better path exists)). At this point, the LSR | end LSR (Error code 25 (Notify), Error sub-code=6 (better path | |||
MAY decide to clear the ôPath re-evaluation requestö bit of the | exists)). At this point, the LSR MAY decide to not propagate | |||
SESSION-ATTRIBUTE object in subsequent RSVP Path messages sent | such bit in subsequent RSVP Path messages sent downstream for | |||
downstream: this mode is the RECOMMENDED mode for the reasons | the re-evaluated TE LSP: this mode is the RECOMMENDED mode for | |||
described below. | the reasons described below. | |||
The sending of a Path Error Notify message ôPreferable path | The sending of an RSVP PathErr Notify message "Preferable path | |||
existsö to the head-end LSR will notify the head-end LSR of the | exists" to the head-end LSR will notify the head-end LSR of the | |||
existence of a preferable path (e.g in a downstream area/AS or | existence of a preferable path (e.g in a downstream area/AS or | |||
in another location within a single domain). Hence, triggering | in another location within a single domain). Hence, triggering | |||
additional path re-evaluations on downstream nodes is | additional path re-evaluations on downstream nodes is | |||
unnecessary. The only motivation to forward subsequent RSVP Path | unnecessary. The only motivation to forward subsequent RSVP Path | |||
messages with the ôPath re-evaluation requestö bit of the | messages with the "Path re-evaluation request" bit of the | |||
SESSION-ATTRIBUTE object set would be to trigger path re- | SESSION-ATTRIBUTE object set would be to trigger path re- | |||
evaluation on downstream nodes that could in turn cache some | evaluation on downstream nodes that could in turn cache some | |||
potentially better paths downstream with the objective to reduce | potentially better paths downstream with the objective to reduce | |||
the signaling setup delay, should a reoptimization be performed | the signaling setup delay, should a reoptimization be performed | |||
by the head-end LSR. | by the head-end LSR. | |||
- If no preferable path can be found, the recommended mode is | - If no preferable path can be found, the recommended mode is | |||
for an LSR to relay the request (by setting the ôPath re- | for an LSR to relay the request (by setting the "Path re- | |||
evaluationö bit of the SESSION-ATTRIBUTE object in RSVP path | evaluation" bit of the SESSION-ATTRIBUTE object in RSVP path | |||
message sent downstream). | message sent downstream). | |||
By preferable path, we mean a path having a lower cost. By default, | Note that, by preferable path, we mean a path having a lower cost. | |||
an LSR uses the TE metric 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 or an abstract node | ||||
in the ERO to use another metric to determine a preferable path. | ||||
If the RSVP Path message with the ôPath re-evaluation requestö bit | If the RSVP Path message with the "Path re-evaluation request" bit | |||
set is lost, then the next request will be sent when the next | set is lost, then the next request will be sent when the next | |||
reoptimization trigger will occur on the head-end LSR. The solution | reoptimization trigger will occur on the head-end LSR. The solution | |||
to handle RSVP reliable messaging has been defined in [REFRESH- | to handle RSVP reliable messaging has been defined in [REFRESH- | |||
REDUCTION]. | REDUCTION]. | |||
The network administrator may decide to establish some local policy | The network administrator may decide to establish some local policy | |||
specifying to ignore such request or to consider those requests not | specifying to ignore such request or to consider those requests not | |||
more frequently than a certain rate. | more frequently than a certain rate. | |||
The proposed mechanism does not make any assumption of the path | The proposed mechanism does not make any assumption of the path | |||
computation method performed by the ERO expansion process: it can | computation method performed by the ERO expansion process. | |||
either be local to each LSR in charge of computing the path to the | ||||
next loose hop/abstract node or PCE based. | ||||
5.3.2 Mid-point explicit notification mode | 6.3.2 Mid-point explicit notification mode | |||
In this mode, a mid-point LSR whose next hop is a loose hop or an | In this mode, a mid-point LSR whose next hop is a loose hop or an | |||
abstract node can locally trigger a path re-evaluation when a | abstract node can locally trigger a path re-evaluation when a | |||
configurable timer expires, some specific events occur (e.g. link-up | configurable timer expires, some specific events occur (e.g. link-up | |||
event for example) or the user explicitly requests it. If a | event for example) or the user explicitly requests it. If a | |||
preferable path is found compared to the existing one, the LSR sends | preferable path is found compared to the existing one, the LSR sends | |||
a Path Error to the head-end LSR (Error code 25 (Notify), Error sub- | an RSVP PathErr to the head-end LSR (Error code 25 (Notify), Error | |||
code=6 (ôpreferable path existsö). | sub-code=6 ("preferable path exists"). | |||
There are other circumstances whereby a mid-point LSR MAY send an | There are other circumstances whereby any mid-point LSR MAY send an | |||
RSVP PathError message with the objective for the TE LSP to be | RSVP PathErr message with the objective for the TE LSP to be rerouted | |||
rerouted by its head-end LSR: when a link or a node will go down for | by its head-end LSR: when a link or a node will go down for local | |||
local maintenance reasons. In this case, the mid-point LSR where the | maintenance reasons. In this case, the LSR where a local maintenance | |||
local maintenance must be performed is responsible for sending an | must be performed is responsible for sending an RSVP PathErr message | |||
RSVP PathError message with Error code 25 and Error sub-code=7 or 8 | with Error code 25 and Error sub-code=7 or 8 depending on the | |||
depending on the affected network element (link or node). Then the | affected network element (link or node). Then the first upstream node | |||
first upstream node having performed the ERO expansion MUST perform | having performed the ERO expansion MUST perform the following set of | |||
the following set of actions: | actions: | |||
- The link (sub-code=7) or the node (sub-code=8) MUST be | - The link (sub-code=7) or the node (sub-code=8) MUST be | |||
locally registered for further reference (the TE database must | locally registered for further reference (the TE database must | |||
be updated) | be updated) | |||
- The RSVP Path Error message MUST be immediately forwarded | - The RSVP PathErr message MUST be immediately forwarded | |||
upstream to the head-end LSR. Note that in the case of TE LSP | upstream to the head-end LSR. Note that in the case of TE LSP | |||
spanning multiple administrative domains, it may be desirable | spanning multiple administrative domains, it may be desirable | |||
for the boundary LSR to modify the RSVP PathError message and | for the boundary LSR to modify the RSVP PathErr message and | |||
insert its own address for confidentiality reason. | insert its own address for confidentiality reason. | |||
Upon receiving a PathError message with Error code 25 and Error sub- | Upon receiving an RSVP PathErr message with Error code 25 and Error | |||
code 7 or 8, the Head-end LSR MUST perform a TE LSP reoptimization. | 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 event- | Note that those modes are not exclusive: both the timer and event- | |||
driven reoptimization triggers can be implemented on the head-end | driven reoptimization triggers can be implemented on the head-end | |||
and/or any mid-point LSR with potentially different timer values for | and/or any mid-point LSR with potentially different timer values for | |||
the timer driven reoptimization case. | the timer driven reoptimization case. | |||
A head-end LSR MAY decide upon receiving an explicit mid-point | A head-end LSR MAY decide upon receiving an explicit mid-point | |||
notification to delay its next path re-evaluation request. | notification to delay its next path re-evaluation request. | |||
5.3.3 ERO caching | 6.3.3 ERO caching | |||
Once a mid-point LSR has determined that a preferable path exists | Once a mid-point LSR has determined that a preferable path exists | |||
(after a reoptimization request has been received by the head-end LSR | (after a reoptimization request has been received by the head-end LSR | |||
or the reoptimization timer on the mid-point has fired), the more | 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 | optimal path MAY be cached on the mid-point LSR for a limited amount | |||
of time to avoid having to recompute a path once the head-LSR | of time to avoid having to recompute a path once the head-LSR | |||
performs a make before break. This mode is optional. | performs a make before break. This mode is optional. A default value | |||
of 5 seconds is suggested. | ||||
6. Interoperability | 7. Interoperability | |||
An LSR not supporting the ôPath re-evaluation requestö bit of the | An LSR not supporting the "Path re-evaluation request" bit of the | |||
SESSION-ATTRIBUTE object SHALL forward it unmodified. | SESSION-ATTRIBUTE object SHALL forward it unmodified. | |||
Any head-end LSR not supporting a PathError Error code 25 message | A head-end LSR not supporting an RSVP PathErr with Error code 25 | |||
with Error sub-code = 6, 7 or 8 MUST just silently ignore such Path | message and Error sub-code = 6, 7 or 8 MUST just silently ignore such | |||
Error messages. | RSVP PathErr message. | |||
7. Security considerations | 8. Security considerations | |||
This document defines a mechanism for a mid-point LSR to notify the | This document defines a mechanism for a mid-point LSR to notify the | |||
head-end LSR of this existence of a preferable path or the need to | head-end LSR of this existence of a preferable path or the need to | |||
reroute the TE LSP for maintenance purposes. Hence, in case of a TE | reroute the TE LSP for maintenance purposes. Hence, in case of a TE | |||
LSP spanning multiple administrative domains, it may be desirable for | LSP spanning multiple administrative domains, it may be desirable for | |||
a boundary LSR to modify the PathError message (Code 25, Error sub- | a boundary LSR to modify the RSVP PathErr message (Code 25, Error | |||
code=6 or 7) so as to preserve confidentiality across domains. | sub-code=6,7 or 8) so as to preserve confidentiality across domains. | |||
Furthermore, a head-end LSR may decide to ignore explicit | ||||
notification coming from a mid-point residing in another domain. | ||||
Similarly, an LSR may decide to ignore (or accept but up to a pre- | ||||
defined rate) path re-evaluation requests originated by a head-end | ||||
LSR of another domain. | ||||
8. Acknowledgments | 9. IANA considerations | |||
IANA will assign a new flag named "Path re-evaluation request" in the | ||||
SESSION-ATTRIBUTE object (C-Type 1 and 7) specified in [RFC3209]. | ||||
Suggested value is (to be confirmed by IANA) 0x20. | ||||
IANA will also assign three new error sub-code values for the RSVP | ||||
PERR Notify message (Error code=25). Suggested values are (to be | ||||
confirmed by IANA): | ||||
6 Preferable path exists | ||||
7 Local link maintenance required | ||||
8 Local node maintenance required | ||||
10. Acknowledgments | ||||
The authors would like to thank Carol Iturralde, Miya Kohno, Francois | The authors would like to thank Carol Iturralde, Miya Kohno, Francois | |||
Le Faucheur, Philip Matthews, Jim Gibson, Jean-Louis Le Roux, Kenji | Le Faucheur, Philip Matthews, Jim Gibson, Jean-Louis Le Roux, Kenji | |||
Kumaki, Anca Zafir for their useful comments. A special thank to | Kumaki, Anca Zafir, Dimitri Papadimitriou for their useful comments. | |||
Adrian Farrel for his very valuable inputs. | A special thank to Adrian Farrel for his very valuable inputs. | |||
9. Intellectual property considerations | 11. Intellectual property considerations | |||
The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
on the procedures with respect to rights in RFC documents can be | on the procedures with respect to rights in RFC documents can be | |||
found in BCP 78 and BCP 79. | found in BCP 78 and BCP 79. | |||
Copies of IPR disclosures made to the IETF Secretariat and any | Copies of IPR disclosures made to the IETF Secretariat and any | |||
assurances of licenses to be made available, or the result of an | 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 | attempt made to obtain a general license or permission for the use of | |||
such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
this standard. Please address the information to the IETF at ietf- | this standard. Please address the information to the IETF at | |||
ipr@ietf.org. | ietf-ipr@ietf.org. | |||
10. References | 12. References | |||
Normative references | 12.1 Normative references | |||
[RFC] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [RFC] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
Levels," RFC 2119. | Levels," RFC 2119. | |||
[RFC3209] Awduche et al, "RSVP-TE: Extensions to RSVP for LSP | [RFC3209] Awduche et al, "RSVP-TE: Extensions to RSVP for LSP | |||
Tunnels", RFC3209, December 2001. | Tunnels", RFC3209, December 2001. | |||
[RFC3473] Berger L. et al.,"Generalized Multi-Protocol Label | [RFC3473] Berger L. et al.,"Generalized Multi-Protocol Label | |||
Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic | Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic | |||
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. | Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. | |||
[REFRESH-REDUCTION] Berger et al, "RSVP Refresh Overhead Reduction | [REFRESH-REDUCTION] Berger et al, "RSVP Refresh Overhead Reduction | |||
Extensions", April 2001 | Extensions", RFC2961, April 2001. | |||
Informative references | 12.2 Informative references | |||
[TE-REQ] Awduche et al, "Requirements for Traffic Engineering over | [TE-REQ] Awduche et al, "Requirements for Traffic Engineering over | |||
MPLS", RFC2702, September 1999. | MPLS", RFC2702, September 1999. | |||
[INTER-AREA-TE-REQ], Le Roux, Vasseur, Boyle et al. "Requirements | [INTER-AREA-TE-REQ], Le Roux, Vasseur, Boyle et al. "Requirements | |||
for Inter-area MPLS Traffic Engineering ", draft-ietf-tewg-interarea- | for Inter-area MPLS Traffic Engineering ", draft-ietf-tewg-interarea- | |||
mpls-te-req-01, April 2004 (Work in progress). | mpls-te-req-03, November 2004. | |||
[INTER-AS-TE-REQ] Zhang et al, "MPLS Inter-AS Traffic Engineering | [INTER-AS-TE-REQ] Zhang et al, "MPLS Inter-AS Traffic Engineering | |||
requirements", draft-ietf-tewg-interas-mpls-te-req-06.txt, February | requirements", draft-ietf-tewg-interas-mpls-te-req-09.txt, September | |||
2004, Work in progress. | 2004, Work in progress. | |||
[INTER-DOMAIN-FW] Farrel A., Vasseur JP. and Ayyangar A., "A | [INTER-DOMAIN-FW] Farrel A., Vasseur JP. and Ayyangar A., "A | |||
Framework for Inter-Domain MPLS Traffic Engineering", draft-ietf- | Framework for Inter-Domain MPLS Traffic Engineering", draft-ietf- | |||
ccamp-inter-domain-framework-00.txt, August 2004, Work in progress | ccamp-inter-domain-framework-02.txt, May 2005. Work in progress. | |||
[INTER-DOMAIN-SIG] Ayyangar A. and Vasseur JP., "Inter domain MPLS | ||||
Traffic Engineering - RSVP-TE extensions ", draft-ayyangar-ccamp- | ||||
inter-domain-rsvp-te-00.txtö, July 2004, Work in progress. | ||||
[INTER-DOMAIN-PATH-COMP] Vasseur JP., Ayyangar A., "Inter-domain | [INTER-DOMAIN-SIG] Ayyangar A. and Vasseur JP., "Inter domain GMPLS | |||
Traffic Engineering LSP path computation methods", draft-vasseur- | Traffic Engineering - RSVP-TE extensions", draft-ietf-ccamp-inter- | |||
ccamp-inter-domain-path-comp-00.txt, July 2004, Work in progress. | domain-rsvp-te-00.txt", February 2005. Work in progress. | |||
[GR-SHUT], Z. Ali et al, "Graceful Shutdown in MPLS Traffic | [INTER-DOMAIN-PATH-COMP] Vasseur JP., Ayyangar A., "A Per-domain | |||
Engineering Networks", draft-ali-ccamp-mpls-graceful-shutdown-00.txt, | path computation method for computing Inter-domain Traffic | |||
June 2004. | Engineering (TE) Label Switched Path (LSP)", draft-ietf-ccamp-inter- | |||
domain-pd-path-comp-00.txt, February 2005. Work in progress. | ||||
11. Author's Addresses | 13. Authors' Addresses | |||
Jean-Philippe Vasseur | Jean-Philippe Vasseur (Editor) | |||
CISCO Systems, Inc. | CISCO Systems, Inc. | |||
300 Beaver Brook | 300 Beaver Brook | |||
Boxborough, MA 01719 | Boxborough, MA 01719 | |||
USA | USA | |||
Email: jpv@cisco.com | Email: jpv@cisco.com | |||
Yuichi Ikejiri | Yuichi Ikejiri | |||
NTT Communications Corporation | NTT Communications Corporation | |||
1-1-6, Uchisaiwai-cho, Chiyoda-ku | 1-1-6, Uchisaiwai-cho, Chiyoda-ku | |||
Tokyo 100-8019 | Tokyo 100-8019 | |||
JAPAN | JAPAN | |||
Email: y.ikejiri@ntt.com | Email: y.ikejiri@ntt.com | |||
Raymond Zhang | Raymond Zhang | |||
Infonet Services Corporation | Infonet Services Corporation | |||
2160 E. Grand Ave. | 2160 E. Grand Ave. | |||
El Segundo, CA 90025 | El Segundo, CA 90025 | |||
USA | USA | |||
Email: raymond_zhang@infonet.com | Email: raymond_zhang@infonet.com | |||
Full Copyright Statement | 14. Full Copyright Statement | |||
"Copyright (C) The Internet Society (year). This document is subject | Copyright (C) The Internet Society (2005). This document is subject | |||
to the rights, licenses and restrictions contained in BCP 78, and | to the rights, licenses and restrictions contained in BCP 78, and | |||
except as set forth therein, the authors retain all their rights." | except as set forth therein, the authors retain all their rights. | |||
"This document and the information contained herein are provided on | This document and the information contained herein are provided on an | |||
an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR | |||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | IMPLIED,INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |