idnits 2.17.1 draft-mirsky-mpls-p2mp-bfd-11.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 : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 18, 2020) is 1286 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) == Outdated reference: A later version (-15) exists of draft-ietf-bess-mvpn-fast-failover-11 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS Working Group G. Mirsky 3 Internet-Draft ZTE Corp. 4 Intended status: Standards Track G. Mishra 5 Expires: April 21, 2021 Verizon Inc. 6 October 18, 2020 8 BFD for Multipoint Networks over Point-to-Multi-Point MPLS LSP 9 draft-mirsky-mpls-p2mp-bfd-11 11 Abstract 13 This document describes procedures for using Bidirectional Forwarding 14 Detection (BFD) for multipoint networks to detect data plane failures 15 in Multiprotocol Label Switching (MPLS) point-to-multipoint (p2mp) 16 Label Switched Paths (LSPs) using active tails with unsolicited 17 notifications mode. It also describes the applicability of LSP Ping, 18 as in-band, and the control plane, as out-band, solutions to 19 bootstrap a BFD session in this environment. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on April 21, 2021. 38 Copyright Notice 40 Copyright (c) 2020 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Conventions used in this document . . . . . . . . . . . . . . 2 57 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 58 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 59 3. Multipoint BFD Encapsulation . . . . . . . . . . . . . . . . 3 60 3.1. IP Encapsulation of Multipoint BFD . . . . . . . . . . . 3 61 3.2. Non-IP Encapsulation of Multipoint BFD . . . . . . . . . 4 62 4. Bootstrapping Multipoint BFD . . . . . . . . . . . . . . . . 4 63 4.1. LSP Ping . . . . . . . . . . . . . . . . . . . . . . . . 4 64 4.2. Operation of Multipoint BFD with Active Tail over P2MP 65 MPLS LSP . . . . . . . . . . . . . . . . . . . . . . . . 5 66 4.3. Control Plane . . . . . . . . . . . . . . . . . . . . . . 7 67 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 68 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 69 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 70 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 71 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 72 8.2. Informative References . . . . . . . . . . . . . . . . . 9 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 75 1. Introduction 77 [RFC8562] defines a method of using Bidirectional Detection (BFD) 78 [RFC5880] to monitor and detect unicast failures between the sender 79 (head) and one or more receivers (tails) in multipoint or multicast 80 networks. [RFC8562] added two BFD session types - MultipointHead and 81 MultipointTail. Throughout this document, MultipointHead and 82 MultipointTail refer to the value bfd.SessionType is set on a BFD 83 system. This document describes procedures for using such a mode of 84 BFD protocol to detect data plane failures in Multiprotocol Label 85 Switching (MPLS) point-to-multipoint (p2mp) Label Switched Paths 86 (LSPs). The document also describes the applicability of out-band 87 solutions to bootstrap a BFD session in this environment. 89 2. Conventions used in this document 91 2.1. Terminology 93 MPLS: Multiprotocol Label Switching 95 LSP: Label Switched Path 96 BFD: Bidirectional Forwarding Detection 98 p2mp: Point-to-Multipoint 100 FEC: Forwarding Equivalence Class 102 G-ACh: Generic Associated Channel 104 ACH: Associated Channel Header 106 GAL: G-ACh Label 108 2.2. Requirements Language 110 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 111 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 112 "OPTIONAL" in this document are to be interpreted as described in BCP 113 14 [RFC2119] [RFC8174] when, and only when, they appear in all 114 capitals, as shown here. 116 3. Multipoint BFD Encapsulation 118 [RFC8562] uses BFD in the Demand mode from the very start of a point- 119 to-multipoint (p2mp) BFD session. Because the head doesn't receive 120 any BFD Control packet from a tail, the head of the p2mp BFD session 121 transmits all BFD Control packets with the value of Your 122 Discriminator field set to zero. As a result, a tail cannot 123 demultiplex BFD sessions using Your Discriminator, as defined in 124 [RFC5880]. [RFC8562] requires that to demultiplex BFD sessions, the 125 tail uses the source IP address, My Discriminator, and the identity 126 of the multipoint tree from which the BFD Control packet was 127 received. The p2mp MPLS LSP label MAY provide the identification of 128 the multipoint tree in case of an inclusive p-tree or upstream 129 assigned label in case of aggregate p-tree. If the BFD Control 130 packet is encapsulated in IP/UDP, then the source IP address MUST be 131 used to demultiplex the received BFD Control packet as described in 132 Section 3.1. The non-IP encapsulation case is described in 133 Section 3.2. 135 3.1. IP Encapsulation of Multipoint BFD 137 [RFC8562] defines IP/UDP encapsulation for multipoint BFD over p2mp 138 MPLS LSP: 140 UDP destination port MUST be set to 3784; 141 destination IP address MUST be set to the loopback address 142 127.0.0.1/32 for IPv4, or the loopback address ::1/128 for IPv6 143 [RFC4291]. 145 This specification further clarifies that: 147 if multiple alternative paths for the given p2mp LSP Forwarding 148 Equivalence Class (FEC) exist, the MultipointHead SHOULD use 149 Entropy Label [RFC6790] used for LSP Ping [RFC8029] to exercise 150 that particular alternative path; 152 or the MultipointHead MAY use the UDP port number as discovered by 153 LSP Ping traceroute [RFC8029] as the source UDP port number to 154 possibly exercise that particular alternate path. 156 3.2. Non-IP Encapsulation of Multipoint BFD 158 In some environments, the overhead of extra IP/UDP encapsulations may 159 be considered as overburden, thus making the use of more compact 160 G-ACh encapsulation attractive. Also, the validation of the IP/UDP 161 encapsulation of BFD Control packet of p2mp BFD session may fail 162 because of a problem not related to neither MPLS label stack nor to 163 BFD. Avoiding unnecessary encapsulation of p2mp BFD over MPLS LSP 164 improves the accuracy of the correlation of the detected failure and 165 defect in MPLS LSP. Non-IP encapsulation for multipoint BFD over 166 p2mp MPLS LSP MUST use Generic Associated Channel (G-ACh) Label (GAL) 167 (see [RFC5586]) at the bottom of the label stack followed by 168 Associated Channel Header (ACH). If BFD Control, PW-ACH 169 encapsulation (without IP/UDP Headers) channel to be used in ACH, an 170 implementation would not be able to verify the identity of the 171 MultipointHead and, as a result, will not properly demultiplex BFD 172 packets. Hence, a new channel type value is needed. The Channel 173 Type field in ACH MUST be set to TBA1 value Section 6. To provide 174 the identity of the MultipointHead for the particular multipoint BFD 175 session, a Source Address TLV [RFC7212] MUST immediately follow a BFD 176 Control message. 178 4. Bootstrapping Multipoint BFD 180 4.1. LSP Ping 182 LSP Ping is the part of the on-demand OAM toolset to detect and 183 localize defects in the data plane and verify the control plane 184 against the data plane by ensuring that the LSP is mapped to the same 185 FEC, at the egress, as the ingress. 187 LSP Ping, as defined in [RFC6425], MAY be used to bootstrap 188 MultipointTail. If the LSP Ping used, it MUST include the Target FEC 189 TLV and the BFD Discriminator TLV defined in [RFC5884]. The Target 190 FEC TLV MUST use sub-TLVs defined in Section 3.1 [RFC6425]. It is 191 RECOMMENDED setting the value of Reply Mode field to "Do not reply" 192 [RFC8029] for the LSP Ping to bootstrap MultipointTail of the p2mp 193 BFD session. Indeed, because BFD over a multipoint network is using 194 BFD Demand mode, the LSP echo reply from a tail has no useful 195 information to convey to the head, unlike in the case of the BFD over 196 a p2p MPLS LSP [RFC5884]. A MultipointTail that receives the LSP 197 Ping that includes the BFD Discriminator TLV: 199 o MUST validate the LSP Ping; 201 o MUST associate the received BFD Discriminator value with the p2mp 202 LSP; 204 o MUST create a p2mp BFD session and set bfd.SessionType = 205 MultipointTail as described in [RFC8562]; 207 o MUST use the source IP address of LSP Ping, the value of BFD 208 Discriminator from the BFD Discriminator TLV, and the identity of 209 the p2mp LSP to properly demultiplex BFD sessions. 211 Besides bootstrapping a BFD session over a p2mp LSP, LSP Ping SHOULD 212 be used to verify the control plane against the data plane 213 periodically by checking that the p2mp LSP is mapped to the same FEC 214 at the MultipointHead and all active MultipointTails. The rate of 215 generation of these LSP Ping Echo request messages SHOULD be 216 significantly less than the rate of generation of the BFD Control 217 packets because LSP Ping requires more processing to validate the 218 consistency between the data plane and the control plane. An 219 implementation MAY provide configuration options to control the rate 220 of generation of the periodic LSP Ping Echo request messages. 222 4.2. Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP 224 [RFC8562] defined how the BFD Demand mode can be used in multipoint 225 networks. When applied in MPLS, procedures specified in [RFC8562] 226 allow an egress LSR to detect a failure of the part of the MPLS p2mp 227 LSP from the ingress LSR. The ingress LSR is not aware of the state 228 of the p2mp LSP. [RFC8563], using mechanisms defined in [RFC8562], 229 defined an "active tail" behavior. An active tail might notify the 230 head of the detected failure and responds to a poll sequence 231 initiated by the head. The first method, referred to as Head 232 Notification without Polling, is mentioned in Section 5.2.1 233 [RFC8563], is the simplest of all described in [RFC8563]. The use of 234 this method in BFD over MPLS p2mp LSP is discussed in this document. 235 Analysis of other methods of a head learning of the state of an MPLS 236 p2mp LSP is outside the scope of this document. 238 As specified in [RFC8563] for the active tail mode, BFD variables 239 MUST be as follows: 241 On an ingress LSR: 243 o bfd.SessionType is MultipointHead; 245 o bfd.RequiredMinRxInterval is set to nonzero allowing egress LSRs 246 to send BFD Control packets. 248 On an egress LSR: 250 o bfd.SessionType is MultipointTail; 252 o bfd.SilentTail is set to zero. 254 In Section 5.2.1 [RFC8563] is noted that "the tail sends unsolicited 255 BFD packets in response to the detection of a multipoint path 256 failure" but without the specifics on the information in the packet 257 and frequency of transmissions. This document defines the procedure 258 of the active tail with unsolicited notifications for p2mp MPLS LSP 259 as specified below. 261 Upon detecting the failure of the p2mp MPLS LSP, an egress LSR sends 262 BFD Control packet with the following settings: 264 o the Poll (P) bit is set; 266 o the Status (Sta) field set to Down value; 268 o the Diagnostic (Diag) field set to Control Detection Time Expired 269 value; 271 o the value of the Your Discriminator field is set to the value the 272 egress LSR has been using to demultiplex that BFD multipoint 273 session; 275 o BFD Control packet is encapsulated in IP/UDP with the destination 276 IP address of the ingress LSR and the UDP destination port number 277 set to 4784 per [RFC5883] 279 o these BFD Control packets are transmitted at the rate of one per 280 second until either it receives the valid for this BFD session 281 control packet with the Final (F) bit set from the ingress LSR or 282 the defect condition clears. 284 To improve the likelihood of notifying the ingress LSR of the failure 285 of the p2mp MPLS LSP, the egress LSR SHOULD transmit three BFD 286 Control packets defined above in short succession. 288 An ingress LSR that has received the BFD Control packet, as described 289 above, sends the unicast IP/UDP encapsulated BFD Control packet with 290 the Final (F) bit set to the egress LSR. 292 4.3. Control Plane 294 BGP-BFD Attribute [I-D.ietf-bess-mvpn-fast-failover] MAY be used to 295 bootstrap multipoint BFD session on a tail. 297 5. Security Considerations 299 This document does not introduce new security aspects but inherits 300 all security considerations from [RFC5880], [RFC5884], [RFC7726], 301 [RFC8562], [RFC8029], and [RFC6425]. 303 Also, BFD for p2mp MPLS LSP MUST follow the requirements listed in 304 section 4.1 [RFC4687] to avoid congestion in the control plane or the 305 data plane caused by the rate of generating BFD Control packets. An 306 operator SHOULD consider the amount of extra traffic generated by 307 p2mp BFD when selecting the interval at which the MultipointHead will 308 transmit BFD Control packets. Also, the operator MAY consider the 309 size of the packet the MultipointHead transmits periodically as using 310 IP/UDP encapsulation adds up to 28 octets, which is more than 50% of 311 BFD Control packet length, comparing to G-ACh encapsulation. 313 6. IANA Considerations 315 IANA is requested to allocate value (TBA1) from its MPLS Generalized 316 Associated Channel (G-ACh) Types registry. 318 +-------+------------------------+---------------+ 319 | Value | Description | Reference | 320 +-------+------------------------+---------------+ 321 | TBA1 | Multipoint BFD Session | This document | 322 +-------+------------------------+---------------+ 324 Table 1: Multipoint BFD Session G-ACh Type 326 7. Acknowledgements 328 The author sincerely appreciates the comments received from Andrew 329 Malis and thought stimulating questions from Carlos Pignataro. 331 8. References 333 8.1. Normative References 335 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 336 Requirement Levels", BCP 14, RFC 2119, 337 DOI 10.17487/RFC2119, March 1997, 338 . 340 [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., 341 "MPLS Generic Associated Channel", RFC 5586, 342 DOI 10.17487/RFC5586, June 2009, 343 . 345 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 346 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 347 . 349 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 350 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 351 June 2010, . 353 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 354 "Bidirectional Forwarding Detection (BFD) for MPLS Label 355 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 356 June 2010, . 358 [RFC6425] Saxena, S., Ed., Swallow, G., Ali, Z., Farrel, A., 359 Yasukawa, S., and T. Nadeau, "Detecting Data-Plane 360 Failures in Point-to-Multipoint MPLS - Extensions to LSP 361 Ping", RFC 6425, DOI 10.17487/RFC6425, November 2011, 362 . 364 [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and 365 L. Yong, "The Use of Entropy Labels in MPLS Forwarding", 366 RFC 6790, DOI 10.17487/RFC6790, November 2012, 367 . 369 [RFC7212] Frost, D., Bryant, S., and M. Bocci, "MPLS Generic 370 Associated Channel (G-ACh) Advertisement Protocol", 371 RFC 7212, DOI 10.17487/RFC7212, June 2014, 372 . 374 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 375 Aldrin, "Clarifying Procedures for Establishing BFD 376 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 377 DOI 10.17487/RFC7726, January 2016, 378 . 380 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 381 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 382 Switched (MPLS) Data-Plane Failures", RFC 8029, 383 DOI 10.17487/RFC8029, March 2017, 384 . 386 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 387 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 388 May 2017, . 390 [RFC8562] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky, 391 Ed., "Bidirectional Forwarding Detection (BFD) for 392 Multipoint Networks", RFC 8562, DOI 10.17487/RFC8562, 393 April 2019, . 395 [RFC8563] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky, 396 Ed., "Bidirectional Forwarding Detection (BFD) Multipoint 397 Active Tails", RFC 8563, DOI 10.17487/RFC8563, April 2019, 398 . 400 8.2. Informative References 402 [I-D.ietf-bess-mvpn-fast-failover] 403 Morin, T., Kebler, R., and G. Mirsky, "Multicast VPN Fast 404 Upstream Failover", draft-ietf-bess-mvpn-fast-failover-11 405 (work in progress), October 2020. 407 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 408 Architecture", RFC 4291, DOI 10.17487/RFC4291, February 409 2006, . 411 [RFC4687] Yasukawa, S., Farrel, A., King, D., and T. Nadeau, 412 "Operations and Management (OAM) Requirements for Point- 413 to-Multipoint MPLS Networks", RFC 4687, 414 DOI 10.17487/RFC4687, September 2006, 415 . 417 Authors' Addresses 419 Greg Mirsky 420 ZTE Corp. 422 Email: gregimirsky@gmail.com 423 Gyan Mishra 424 Verizon Inc. 426 Email: gyan.s.mishra@verizon.com