idnits 2.17.00 (12 Aug 2021) /tmp/idnits62059/draft-zzhang-teas-rmr-rsvp-p2mp-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) -- The draft header indicates that this document updates RFC4875, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. (Using the creation date from RFC4875, updated by this document, for RFC5378 checks: 2004-11-18) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 29, 2019) is 1201 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-mpls-rmr' is defined on line 241, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 245, but no explicit reference was found in the text == Unused Reference: 'RFC4875' is defined on line 250, but no explicit reference was found in the text == Outdated reference: A later version (-14) exists of draft-ietf-mpls-rmr-09 Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS WG Z. Zhang 3 Internet-Draft A. Deshmukh 4 Updates: 4875 (if approved) R. Singh 5 Intended status: Standards Track Juniper Networks 6 Expires: August 2, 2019 January 29, 2019 8 RSVP-TE P2MP Tunnels on RMR 9 draft-zzhang-teas-rmr-rsvp-p2mp-02 11 Abstract 13 This document specifies the optimization in RSVP-TE P2MP tunnel 14 signaling over Resilient MPLS Rings (RMR). 16 Requirements Language 18 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 19 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 20 document are to be interpreted as described in RFC2119. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on August 2, 2019. 39 Copyright Notice 41 Copyright (c) 2019 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 58 2.1. RMR Object . . . . . . . . . . . . . . . . . . . . . . . 4 59 2.2. Procedures . . . . . . . . . . . . . . . . . . . . . . . 4 60 2.2.1. PATH Message/State . . . . . . . . . . . . . . . . . 4 61 2.2.2. RESV Message/State . . . . . . . . . . . . . . . . . 5 62 3. Security Considerations . . . . . . . . . . . . . . . . . . . 5 63 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 64 5. Normative References . . . . . . . . . . . . . . . . . . . . 6 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 67 1. Introduction 69 Traditional RSVP-TE P2MP tunnel signaling could be quite involving. 70 With RMR, this could be significantly simplified: 72 There is no need for ERO/RRO/SERO/SRRO or hop by hop routing. The 73 tunnel ingress simply sends PATH messages in one or both directions 74 of the ring, depending on how leaves are best reached. The only needs to list the tunnel leaves, and a 76 transit router does not need to "branch" a PATH message into multiple 77 ones. Therefore, unless there are many tunnel leaves on a huge ring, 78 a single PATH message is enough. In the rare situation of a large 79 tunnel with many leaves to list, a small number of PATH messages 80 should suffice. Additionally, there is no need to signal and 81 maintain individual sub-LSPs (one for each leaf) any more. As a 82 result, corresponding PATH/RESV state is also reduced. Each node 83 only needs to maintain a single PATH state and a single RESV state 84 for each P2MP tunnel, and the RESV state does not need to track 85 individual leaves - it just need to track if a RESV is received from 86 downstream and/or if this node itself is a leaf. 88 A RESV message is triggered to the PHOP when the RESV state is first 89 created (either because the node is a leaf or because a RESV message 90 is received from downstream) and it is refreshed periodically. A 91 RESV Tear is sent when the RESV state is deleted (when the node is no 92 longer a Leaf and the RESV from downstream has timed out or a RESV 93 Tear is received). 95 Optionally, the tunnel ingress may not need to list any/all leaves. 96 It could simply send the PATH message around the ring, with the listing the root itself. Through methods 98 outside the scope of this document, a node determines if it is a leaf 99 of the tunnel, and if yes, it will send back a RESV message. With 100 this, a single PATH message is surely enough. 102 In this document, leaves in are 103 referred to as explicit leaves, and leaves not listed there but self- 104 determined by ring nodes are referred to as implicit leaves. There 105 could be both explicit and implicit leaves for a tunnel. The ingress 106 allows implicit leaves by including itself as the last one in the 107 . 109 Optionally, the RESV message could also include a to list all the leaves on the established tunnel so 111 that the each node knows its downstream leaves. In that case, when 112 the set of downstream leaves changes, a RESV message with the new 113 is triggered. 115 Adding/removing explicit leaves is straightforward. The ingress 116 simply sends a triggered PATH message with new . As it passes around the ring, each node determines 118 if it is an explicit leaf and updates its state accordingly. The 119 triggered PATH message does not have to go all the way to the last 120 leaf - if on a node the in the would- 121 be-sent PATH message is the same as what was sent before, the 122 triggered PATH message will not be sent further. 124 To indicate that the tunnel signaling is with above mentioned RMR 125 optimizations, a new object is included in the PATH message to 126 specify the Ring ID and direction. 128 Link/Node protection is achieved by tunneling packets to the next 129 node using the Ring LSP to that node in the other direction. This 130 does not need any additional signaling but is based on a reasonable 131 premise that unicast Ring LSPs are always in place. Once the ingress 132 learns the failure (through IGP discovery or through other error 133 detection/notification mechanisms), global repair kicks in to reach 134 some leaves via PATH message sent in the other direction. Before 135 global repair is finished, traffic continues to flow in the original 136 path except that at the failure point it is tunneled to the next 137 node. 139 If an RMR is just part of a general RSVP network the optimization can 140 also be applied on the ring nodes. If the tunnel ingress knows the 141 leaves that are on the ring, it could put all those leaves in the 142 single PATH message and construct the ERO/SERO only towards the entry 143 point on the ring. The entry point then includes the RMR object in 144 the PATH messages that it sends. For leaves beyond the ring, the 145 ingress may include the exit points on the ring as loose hops in the 146 ERO/SERO, and when a ring node needs to send the PATH message off the 147 ring, it removes the RMR object. Details will be provided in future 148 revisions of this document. 150 2. Specification 152 2.1. RMR Object 154 The RMR object is a new object of the following: 156 o Class Name: RMR 158 o Class-Num: TBA1 (to be assigned by IANA) 160 o C-Type: TBA2 (to be assigned by IANA) 162 The format of the object content following the common object header 163 is the following: 165 0 1 2 3 166 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 | Ring ID (4 octets) | 169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 170 |D| Flags | Reserved | 171 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 173 Following the 4-octect Ring ID, there is an 8-bit Flags field. The 174 first bit of the Flags field indicates the direction. If it is set, 175 it is clockwise direction. Otherwise, it is anti-clockwise. 177 2.2. Procedures 179 This section describes the differences in the procedures for ring 180 nodes to set up RSVP-TE P2MP tunnels across the ring, compared to the 181 conventional non-RMR-aware case. For now it is assumed that all 182 nodes (ingress, transit, and leaves) on the tunnel are on the ring. 184 More details will be provided in future revisions. 186 2.2.1. PATH Message/State 188 The tunnel ingress includes the RMR object with the Ring ID and the 189 direction flag bit set accordingly. The explicit tunnel leaves are 190 encoded in the , and no ERO/SERO is 191 included. If the tunnel allows implicit leaves, the descriptor list 192 encodes the ingress itself as the last element. The message is sent 193 to the next node on the ring in the direction specified in the RMR 194 object, w/o using ERO/SERO or hop-by-hop routing. 196 When a node receives a PATH message with the RMR object, it checks if 197 itself is listed in the , or if the encodes the tunnel ingress as the last 199 element and this node itself is an implicit leaf. If yes, it creates 200 corresponding RESV state and sends a RESV message to the PHOP. 202 The receiving node removes itself from the in the PATH message, and saves the list locally. The PATH 204 message is sent to the next node on the ring in the specified 205 direction with the saved , if one of the 206 following conditions is met: 208 o The encodes the tunnel ingress 209 itself as the last element. 211 o The is not empty and either the PATH 212 state is newly created or the is 213 different from the previously saved one. 215 If is empty and different from the 216 previously saved one, a PATH Teardown is sent instead. 218 2.2.2. RESV Message/State 220 A ring node may know that it is a leaf when the PATH message is first 221 processed as described in the previous section. In case of implicit 222 leaves, it may become a leaf after the PATH messages has been 223 processed. A non-leaf node may also receive a RESV message from its 224 NHOP. In all these cases, the node creates RESV state and sends a 225 RESV message to the PHOP, w/o encoding RRO/SRRO. 227 If a ring node was a leaf but stops being a leaf, either because it 228 is no longer listed in the or it is no 229 longer an implicit leaf, it removes/updates corresponding local 230 state. A RESV Teardown is sent to the PHOP if there is no RESV 231 received from its downstream either. 233 3. Security Considerations 235 This document does not introduce new security risks. 237 4. Acknowledgements 239 5. Normative References 241 [I-D.ietf-mpls-rmr] 242 Kompella, K. and L. Contreras, "Resilient MPLS Rings", 243 draft-ietf-mpls-rmr-09 (work in progress), January 2019. 245 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 246 Requirement Levels", BCP 14, RFC 2119, 247 DOI 10.17487/RFC2119, March 1997, 248 . 250 [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. 251 Yasukawa, Ed., "Extensions to Resource Reservation 252 Protocol - Traffic Engineering (RSVP-TE) for Point-to- 253 Multipoint TE Label Switched Paths (LSPs)", RFC 4875, 254 DOI 10.17487/RFC4875, May 2007, 255 . 257 Authors' Addresses 259 Zhaohui Zhang 260 Juniper Networks 262 EMail: zzhang@juniper.net 264 Abhishek Deshmukh 265 Juniper Networks 267 EMail: adeshmukh@juniper.net 269 Ravi Singh 270 Juniper Networks 272 EMail: ravis@juniper.net