--- 1/draft-tsaad-mpls-p2mp-loose-path-reopt-02.txt 2014-07-21 09:14:31.745468734 -0700 +++ 2/draft-tsaad-mpls-p2mp-loose-path-reopt-03.txt 2014-07-21 09:14:31.765469233 -0700 @@ -1,32 +1,40 @@ MPLS Working Group Tarek Saad, Ed. Internet-Draft Rakesh Gandhi, Ed. Intended status: Standards Track Zafar Ali -Expires: October 24, 2014 Cisco Systems, Inc. +Expires: January 22, 2015 Cisco Systems, Inc. Robert H. Venator Defense Information Systems Agency Yuji Kamite NTT Communications Corporation - April 22, 2014 + July 21, 2014 Reoptimization of Point-to-Multipoint Traffic Engineering Loosely Routed LSPs - draft-tsaad-mpls-p2mp-loose-path-reopt-02 + draft-tsaad-mpls-p2mp-loose-path-reopt-03 Abstract - This document defines Resource Reservation Protocol - Traffic - Engineering (RSVP-TE) signaling extensions for reoptimizing loosely - routed Point-to-Multipoint (P2MP) Traffic Engineered (TE) Label - Switched Paths (LSPs) in an Multi-Protocol Label Switching (MPLS) - and/or Generalized MPLS (GMPLS) networks. + For a Traffic Engineered (TE) point-to-multipoint (P2MP) Label + Switched Path (LSP), it is preferable in some cases to re-evaluate + and re-optimize the entire P2MP-TE LSP by re-signaling all its S2L + sub-LSP(s). Existing mechanisms allow the path re-evaluation and the + signaling of a the notification of preferred path exists for a single + S2L sub-LSP only. + + This document defines RSVP-TE signaling extensions to allow an + ingress Label Switching Router (LSR) of a P2MP-TE LSP to trigger the + re-evaluation of the entire LSP tree containing one or more S2L sub- + LSPs whose paths are loose (or abstract) hop expanded, and for a mid- + point LSR to signal to the ingress LSR that a better tree exists for + the entire P2MP-TE LSP. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. @@ -71,92 +79,98 @@ 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . . 9 Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction This document defines Resource Reservation Protocol - Traffic Engineering (RSVP-TE) [RFC2205] [RFC3209] signaling extensions for - reoptimizing loosely routed Point-to-Multipoint (P2MP) Traffic + re-optimizing loosely routed Point-to-Multipoint (P2MP) Traffic Engineered (TE) Label Switched Paths (LSPs) [RFC4875] in an Multi-Protocol Label Switching (MPLS) and/or Generalized MPLS (GMPLS) networks. A P2MP-TE LSP is comprised of one or more source-to-leaf (S2L) sub-LSPs. A loosely routed P2MP-TE S2L sub-LSP is defined as one whose path does not contain the full explicit route identifying each node along the path to the egress node at the time of its signaling by the ingress node. Such an S2L sub-LSP is signaled with no Explicit Route Object (ERO) [RFC3209], or 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 node). This is often the case with inter-domain P2MP-TE LSPs where Path Computation Element (PCE) is not used [RFC5440]. - As per [RFC4875], an ingress node may reoptimize the entire P2MP-TE - LSP by resignaling all its S2L sub-LSP(s) or may reoptimize + As per [RFC4875], an ingress node may re-optimize the entire P2MP-TE + LSP by re-signaling all its S2L sub-LSP(s) or may re-optimize individual S2L sub-LSP(s) i.e. individual destination(s). - [RFC4736] defines RSVP signaling extensions for reoptimizing loosely + [RFC4736] defines RSVP signaling extensions for re-optimizing loosely routed P2P TE LSP(s) as follows. - - An egress border node MAY send a solicited or unsolicited PathErr - with the Notify error code (25 as defined in [RFC3209]) with sub-code - 6 to indicate "Preferable Path Exists" to the ingress node. + - A mid-point LSR that expands loose next-hop(s) MAY send a solicited + or unsolicited PathErr with the Notify error code (25 as defined in + [RFC3209]) with sub-code 6 to indicate "Preferable Path Exists" to + the ingress node. - - An ingress node MAY solicit a PathErr that indicates "Preferable - Path Exists" by sending a "Path Re-evaluation Request" to an egress - border node by setting a flag (0x20) in SESSION_ATTRIBUTES object in + - An ingress node MAY trigger a path re-evaluation request at all + mid-point LSR(s) that expands loose next-hop(s) by setting the "Path + Re-evaluation Request" flag (0x20) in SESSION_ATTRIBUTES object in the Path message. - The ingress node upon receiving this PathErr either solicited or - unsolicited initiates reoptimization of the LSP. + unsolicited initiates re-optimization of the LSP. - [RFC4736] does not define signaling extensions specific for - reoptimizing entire P2MP-TE LSP tree. Mechanisms defined in - [RFC4736] can be used for signaling the reoptimization of individual - S2L sub- LSP(s). However, to use [RFC4736] mechanisms for - reoptimizing an entire P2MP-TE LSP tree, an ingress node needs to - send the query on all (typically 100s of) S2L sub-LSPs and an egress - border node needs to notify PathErrs for all S2L sub-LSPs. Such a - procedure may lead to the following issues. + [RFC4736] does not define signaling extensions specific for re- + optimizing entire P2MP-TE LSP tree. Mechanisms defined in [RFC4736] + can be used for signaling the re-optimization of individual S2L sub- + LSP(s). However, to use [RFC4736] mechanisms for re-optimizing an + entire P2MP-TE LSP tree, an ingress node needs to send the path re- + evaluation requests on all (typically 100s of) S2L sub-LSPs and the + mid-point LSR to notify PathErrs for all S2L sub-LSPs. Such a + procedure may lead to the following issues: - - An egress border node has to accumulate the received queries on all - S2L sub-LSPs (using a wait timer) and interpret them as a - reoptimization request for the P2MP-TE LSP tree. An egress border - node may prematurely notify "Preferable Path Exists" for one or a - sub-set of S2L sub-LSPs. + - A mid-point LSR that expands loose next-hop(s) may have to + accumulate the received path re-evaluation request(s) for all S2L + sub-LSPs (e.g, by using a wait timer) and interpret them as a re- + optimization request for the whole P2MP-TE LSP tree. Otherwise, A + mid-point LSR may prematurely notify "Preferable Path Exists" for one + or a sub-set of S2L sub-LSPs. - - When the ingress node gradually receives unsolicited PathErr - notifications for individual S2L sub-LSPs, it may prematurely start - reoptimizing a sub-set of S2L sub-LSPs. However, as mentioned in - [RFC4875] Section 14.2, such reoptimization procedure may result in - data duplication that can be avoided if the entire P2MP-TE LSP tree - is reoptimized, especially if the ingress node eventually receives - PathErr notifications for all S2L sub-LSPs of the P2MP-TE LSP tree. + - The ingress LSR that receives (un)solicited PathErr notification(s) + for individual S2L sub-LSP(s), may prematurely start re-optimizing + the sub-set of S2L sub-LSPs. However, as mentioned in [RFC4875] + Section 14.2, such re-optimization procedure may result in data + duplication that can be avoided if the entire P2MP-TE LSP tree is re- + optimized, especially if the ingress node eventually receives PathErr + notifications for all S2L sub-LSPs of the P2MP-TE LSP tree. - The ingress node may have to heuristically determine when to - perform entire P2MP-TE LSP tree reoptimization versus per S2L sub-LSP - reoptimization, for example, to delay reoptimization long enough to - allow all PathErr(s) to be received. Once all PathErr(s) are - received, the ingress node has to accumulate them to see if - reoptimization of the entire P2MP-TE is necessary. Such procedures - may produce undesired results due to timing related issues. This may - be easily avoided by the RSVP signaling messages defined in this + perform entire P2MP-TE LSP tree re-optimization versus per S2L sub- + LSP re-optimization, for example, to delay re-optimization long + enough to allow all PathErr(s) to be received. Once all PathErr(s) + are received, the ingress node has to accumulate them to see if re- + optimization of the entire P2MP-TE is necessary. Such procedures may + produce undesired results due to timing related issues. This may be + easily avoided by the RSVP signaling messages defined in this document. - This document defines RSVP-TE signaling extensions to query and - notify the existance of a preferable path for reoptimizing loosely - routed P2MP-TE LSP tree. + This document defines RSVP-TE signaling extensions for the head-end + LSR of a P2MP-TE LSP to trigger the re-evaluation of the P2MP tree on + every hop that has a next hop defined as a loose or abstract hop for + one or more S2L sub-LSP path, and a mid-point LSR to signal to the + head-end LSR that a better tree exists (compared to the current path) + or that the whole P2MP-TE LSP must be re-optimized (because of + maintenance required on the TE LSP path). 2. Terminology 2.1. Abbreviations ABR: Area Border Router. AS: Autonomous System. ERO: Explicit Route Object. @@ -184,109 +198,109 @@ S2L sub-LSP: Source-to-leaf sub Label Switched Path. 2.3. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. The reader is assumed to be familiar with the terminology in [RFC4875] and [RFC4736]. -3. Signaling Procedure For Loosely Routed P2MP-TE LSP Reoptimization +3. Signaling Procedure For Loosely Routed P2MP-TE LSP Re-Optimization - It might be preferable, as per [RFC4875], to reoptimize the entire - P2MP-TE LSP by resignaling all its S2L sub-LSP(s) (Section 14.1, - "Make-before- Break") or reoptimize individual S2L sub-LSP(s) i.e. + It might be preferable, as per [RFC4875], to re-optimize the entire + P2MP-TE LSP by re-signaling all of its S2L sub-LSP(s) (Section 14.1, + "Make-before- Break") or re-optimize individual S2L sub-LSP(s) i.e. individual destination(s) (Section 14.2 "Sub-Group-Based Re- - Optimization"). - - It might be preferable to use the procedures defined in [RFC4736] to - individually reoptimize the S2L sub-LSP(s) of a P2MP-TE LSP. + Optimization"). This can be achieved by using the procedures defined + in [RFC4736] to individually re-optimize the S2L sub-LSP(s) of a + P2MP-TE LSP. - To reoptimize an entire P2MP-TE LSP tree, in order to query egress - border nodes to check if a preferable P2MP-TE LSP tree exists, an - ingress node sends a Path message with "P2MP-TE Tree Re-evaluation - Request" defined in this document. An ingress node may select one or - more S2L sub-LSP of the P2MP-TE LSP tree transiting through the - egress border node to send the query to that egress border node. + To evaluate an entire P2MP-TE LSP tree on mid-point LSRs that expand + loose next-hop(s), an ingress node may send a Path message with + "P2MP-TE Tree Re-evaluation Request" defined in this document. An + ingress node may select one or more S2L sub-LSP of the P2MP-TE LSP + tree to trigger the re-evaluation request(s). - An egress border node receiving the "P2MP-TE Tree Re-evaluation - Request" checks for a preferable P2MP-TE LSP tree by re-evaluating - loosely expanded paths for all S2L sub-LSP(s) of the P2MP-TE LSP. If - a preferable P2MP-TE LSP tree is found, the egress border node - immediately sends an RSVP PathErr to the ingress node with Error code + A mid-point LSR that expands loose next-hop(s) for one or more S2L + sub-LSP path(s), and that receives a Path message with the "P2MP-TE + Tree Re-evaluation Request" bit set, checks for a preferable P2MP-TE + LSP tree by re-evaluating all S2L sub-LSP(s) expanded paths of the + P2MP-TE LSP. If a preferable P2MP-TE LSP tree is found, the mid- + point LSR sends an RSVP PathErr to the ingress node with Error code 25 (Notify defined in [RFC3209] and Error sub-code defined in this - document "Preferable P2MP-TE Tree Exists". At this point, the egress - border node does not propagate this bit in subsequent RSVP Path - messages sent downstream for the re-evaluated P2MP-TE LSP. The - sending of an RSVP PathErr Notify message "Preferable P2MP-TE Tree - Exists" to the ingress node will notify the ingress node of the - existence of a preferable P2MP-TE LSP tree. - - If no preferable path for P2MP-TE LSP tree can be found, the - recommended mode is for the egress border node to relay the request - downstream by setting the "P2MP-TE Tree Re-evaluation Request" bit in - the LSP_ATTRIBUTES object of RSVP Path message. + document "Preferable P2MP-TE Tree Exists". The mid-point LSR, in + turn, does not propagate the "P2MP-TE Tree Re-evaluation Request" bit + in subsequent RSVP Path messages sent downstream for the re-evaluated + P2MP-TE LSP. The sending of an RSVP PathErr Notify message + "Preferable P2MP-TE Tree Exists" to the ingress node will notify the + ingress node of the existence of a preferable P2MP-TE LSP tree. In + addition, a mid-point LSR may send an unsolicited PathErr message + with "Preferable P2MP-TE Tree Exists" PathErr code 25 to the ingress + node to notify of a preferred the P2MP-TE LSP tree when it determines + it exists. In this case, the mid-point LSR that expands loose next- + hop(s) for one or more S2L sub-LSP path(s) may select one or more S2L + sub-LSP(s) of the P2MP-TE LSP tree to send this PathErr message to + the ingress node. - An egress border node may send "Preferable P2MP-TE Tree Exists" with - PathErr code 25 to the ingress node to notify an existence of a - preferred path for the P2MP-TE LSP tree with an unsolicited PathErr - message. The egress border node may select one or more S2L sub- - LSP(s) of the P2MP-TE LSP tree to send this PathErr message to the - ingress node. + If no preferable tree for P2MP-TE LSP can be found, the recommended + mode is for the mid-point LSR that expands loose next-hop(s) for one + or more S2L sub-LSP path(s) to propagate the request downstream by + setting the "P2MP-TE Tree Re-evaluation Request" bit in the + LSP_ATTRIBUTES object of RSVP Path message. 4. RSVP Signaling Extensions 4.1. P2MP-TE Tree Re-evaluation Request Flag - In order to query egress border nodes to check if a preferable P2MP- - TE LSP tree exists, a new flag is defined in Attributes Flags TLV of - the LSP_ATTRIBUTES object [RFC5420] as follows: + In order to trigger a tree re-evaluation request, a new flag is + defined in Attributes Flags TLV of the LSP_ATTRIBUTES object + [RFC5420] as follows: Bit Number (to be assigned by IANA): P2MP-TE Tree Re-evaluation Request flag The "P2MP-TE Tree Re-evaluation Request" flag is meaningful in a Path message of a P2MP-TE S2L sub-LSP and is inserted by the ingress node. 4.2. Preferable P2MP-TE Tree Exists Path Error sub-code In order to indicate to an ingress node that a preferable P2MP-TE LSP - tree is available, following new sub-code for PathErr code 25 (Notify + tree exists, the following new sub-code for PathErr code 25 (Notify Error) [RFC3209] is defined: Sub-code (to be assigned by IANA): Preferable P2MP-TE Tree Exists sub-code - When a preferable path for P2MP-TE LSP tree is found, the egress - border node sends a solicited or unsolicited "Preferable P2MP-TE Tree - Exists" PathErr notification to the ingress node of the P2MP-TE LSP. + When a preferable path for P2MP-TE LSP tree exists, the mid-point LSR + sends a solicited or unsolicited "Preferable P2MP-TE Tree Exists" + PathErr notification to the ingress node of the P2MP-TE LSP. 5. Compatibility The LSP_ATTRIBUTES object has been defined in [RFC5420] with class numbers in the form 11bbbbbb, which ensures compatibility with non-supporting nodes. Per [RFC2205], nodes not supporting this extension will ignore the new flag defined in this document but forward it without modification. 6. Security Considerations - This document defines a mechanism for an egress border node to notify - the ingress node of the existence of a preferable path. As per - [RFC4736], in the case of a P2MP-TE LSP S2L sub-LSP spanning multiple - domains, it may be desirable for a border node to modify the RSVP - PathErr message defined in this document to maintain confidentiality - across different domains. Furthermore, an ingress node may decide to - ignore this PathErr message coming from an egress border node - residing in another domain. Similarly, an egress border node may - decide to ignore the path re-evaluation request originating from + This document defines a mechanism for a mid-point LSR to notify the + ingress node of a P2MP-TE LSP of the existence of a preferable tree. + As per [RFC4736], in the case of a P2MP-TE LSP S2L sub-LSP spanning + multiple domains, it may be desirable for a a mid-point LSR to modify + the RSVP PathErr message defined in this document to maintain + confidentiality across different domains. Furthermore, an ingress + node may decide to ignore this PathErr message coming from a mid- + point LSR residing in another domain. Similarly, an mid-point LSR + may decide to ignore the tree re-evaluation request originating from another ingress domain. 7. IANA Considerations IANA maintains a name space for RSVP-TE TE parameters "Resource Reservation Protocol-Traffic Engineering (RSVP-TE) Parameters". From the registries in this name space "Attribute Flags" allocation of new flag is requested (Section 4.1). IANA also maintains a name space for RSVP protocol parameters