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