idnits 2.17.1 draft-boutros-bess-elan-services-over-sr-01.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 : ---------------------------------------------------------------------------- No issues found here. 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. -- The document date (November 2, 2020) is 1264 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: 'RFC8402' is defined on line 449, but no explicit reference was found in the text == Unused Reference: 'RFC8660' is defined on line 454, but no explicit reference was found in the text == Unused Reference: 'RFC8754' is defined on line 460, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-routing-policy' is defined on line 467, but no explicit reference was found in the text == Unused Reference: 'I-D.voyer-pim-sr-p2mp-policy' is defined on line 473, but no explicit reference was found in the text == Unused Reference: 'RFC4761' is defined on line 479, but no explicit reference was found in the text == Unused Reference: 'RFC4762' is defined on line 484, but no explicit reference was found in the text == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-08 Summary: 0 errors (**), 0 flaws (~~), 10 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS Workgroup S. Boutros, Ed. 3 Internet-Draft S. Sivabalan, Ed. 4 Intended status: Standards Track H. Shah 5 Expires: May 6, 2021 Ciena Corporation 6 J. Uttaro 7 ATT 8 D. Voyer 9 Bell Canada 10 B. Wen 11 Comcast 12 L. Jalil 13 Verizon 14 November 2, 2020 16 A Simplified Scalable ELAN Service Model with Segment Routing Underlay 17 draft-boutros-bess-elan-services-over-sr-01 19 Abstract 21 This document proposes a new approach for deploying Ethernet LAN 22 (ELAN) services with an objective of achieving high scalability, 23 faster network convergence, and reduced operational complexity. 24 Furthermore, it naturally brings the benefits of All-Active 25 multihoming as well as MAC learning in data-plane. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on May 6, 2021. 44 Copyright Notice 46 Copyright (c) 2020 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 63 3. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . 4 64 4. Control Plane Behavior . . . . . . . . . . . . . . . . . . . 5 65 4.1. Service discovery . . . . . . . . . . . . . . . . . . . . 5 66 4.2. All-Active Service Redundancy . . . . . . . . . . . . . . 5 67 4.3. Mass service withdrawal . . . . . . . . . . . . . . . . . 5 68 4.4. E-Tree Support . . . . . . . . . . . . . . . . . . . . . 6 69 5. Data Plane Behavior . . . . . . . . . . . . . . . . . . . . . 6 70 5.1. Unicast Traffic . . . . . . . . . . . . . . . . . . . . . 6 71 5.2. BUM Traffic . . . . . . . . . . . . . . . . . . . . . . . 7 72 5.3. Data Plane MAC learning . . . . . . . . . . . . . . . . . 8 73 5.3.1. Single Home CE . . . . . . . . . . . . . . . . . . . 8 74 5.3.2. Multi-Home CE . . . . . . . . . . . . . . . . . . . . 9 75 5.4. ARP suppression . . . . . . . . . . . . . . . . . . . . . 9 76 5.5. Multi-pathing . . . . . . . . . . . . . . . . . . . . . . 10 77 5.6. E-Tree Support . . . . . . . . . . . . . . . . . . . . . 10 78 6. Benefits of ELAN over SR . . . . . . . . . . . . . . . . . . 10 79 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 80 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 81 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 82 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 83 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 84 10.2. Informative References . . . . . . . . . . . . . . . . . 11 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 87 1. Introduction 89 Virtual Private LAN Service(VPLS) is based on Pseudo-Wire (PW) 90 construct which identifies both the service type and the service 91 termination node in both control and data planes. RFCs 4761 and 4762 92 specify mechanisms to signal PW for VPLS services using BGP and LDP 93 respectively. An ingress Provider Edge (PE) node needs to maintain a 94 PW per VPLS instance for each egress PE node. So, if we assume 10K 95 ELAN instances over a network of 100 PE nodes, each PE node needs to 96 setup and maintain approximately 1M PWs which can easily become a 97 scalability bottleneck in large scale deployment. 99 As described in RFC7432, Ethernet Virtual Private Network (EVPN) 100 technology builds ELAN services similar to BGP-based IP-VPN services 101 with additional features such as MAC address learning in control 102 lane, All-Active multihoming, etc. It eliminates the need for PWs, 103 and hence the scale problem associated with PWs. However, an egress 104 PE node cannot unambiguously identify ingress PE node in data-plane. 105 As such, EVPN requires control plane mechanisms for MAC advertisement 106 and learning which increases control plane complexity and overhead. 108 The goal of the proposed approach is to greatly simplify control 109 plane functions and minimize the amount of control plane messages PE 110 nodes have to process. In this version of the document, we assume 111 Segment Routing (SR) underlay network. A future version of this 112 document will generalize the underlay network to both classical MPLS 113 and SR technologies. 115 The proposed approach does not require PW, and hence the control 116 plane complexity and message overhead associated with signaling and 117 maintaining PWs are eliminated. 119 An ELAN instance is uniquely identified by Segment ID (SID) 120 regardless of the number of service termination points. Such a SID 121 will be referred to as "Service SID" in the rest of the document. 122 The number of states maintained at a PE node is equal to the number 123 of ELAN instances in the corresponding broadcast domain. Referring 124 to the above example, each PE node now needs to maintain states for 125 10K ELAN service instances as opposed to 1 M PWs in the case of 126 classical VPLS model in data and control planes. A node can 127 advertise service SID(s) of the ELAN instance(s) that it hosts via 128 BGP for auto-discovery purpose. A Service SID can be: 130 o MPLS label for SR-MPLS. 132 o uSID (micro SID) for SRv6 representing network function associated 133 with an ELAN service instance. 135 MAC address is learned in data-plane. Source node of a MAC address 136 is identified by its node SID (assigned for regular SR operation) 137 during MAC learning phase. In the data packets, the node SID of the 138 source is inserted directly below the service SID so that a 139 destination node can uniquely identify the source of the packets in 140 an SR domain. 142 ELAN service instances are advertised such that a service message 143 packs as many ELAN instances hosted by the advertising PE node as 144 possible at the time of advertisement. A possible approach is to use 145 a bit-map in which each bit position represents an ELAN instance, as 146 well as the starting value of Service SID. Using these parameters, 147 an ingress PE receiving advertisements node can learn ELAN 148 instance(s) hosted by an egress PE node. 150 All-Active multihoming redundancy is supported at the underlay level 151 by making use of SR anycast SID. No overlay mechanism is required 152 for this purpose. 154 Each node is also associated with another SID unique within the 155 broadcast domain that is used to identify incoming Broadcast Unknown- 156 unicast, and Multicast (BUM) traffic. We call such SID BUM SID. If 157 node A wants to send BUM traffic to node B, it needs to use BUM SID 158 assigned to node B as a destination SID. BUM SIDs can also be 159 advertised via BGP for auto-discovery purpose. In order to send BUM 160 traffic within a broadcast domain, P2MP SR policies can be used. 161 Such policies may or may not be shared by ELAN instances. 163 The proposed solution can also be applicable to the EVPN control 164 plane without compromising its benefits such as All-Active 165 multihoming on access, multipathing in the core, auto-provisioning 166 and auto-discovery, etc. With this approach, the need for 167 advertising EVPN route types 1 through 4 as well Split-Horizon (HP) 168 label is eliminated. 170 In the following sections, we will describe the functionalities of 171 the proposed approach in detail. 173 2. Terminology 175 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 176 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 177 document are to be interpreted as described in [RFC2119]. 179 3. Abbreviations 181 BUM: Broadcast, unicast and multicast. 183 CE: Customer Edge node e.g., host or router or switch. 185 ELAN: Ethernet LAN. 187 EVPN: Ethernet VPN. 189 MAC: Media Access Control. 191 MAC-VRF: A Virtual Routing and Forwarding table for Media Access 192 Control (MAC) addresses on a PE. 194 MH: Multi-Home. 196 OAM: Operations, Administration and Maintenance. 198 PE: Provide Edge Node. 200 SID: Segment Identifier. 202 SR: Segment Routing. 204 VPLS: Virtual Private LAN Service. 206 4. Control Plane Behavior 208 4.1. Service discovery 210 A node can discover ELAN service instances as well as the associated 211 service SIDs hosted on other nodes via configuration or auto- 212 discovery. With the latter, the service SIDs can be advertised using 213 BGP. As mentioned earlier such update message will pack information 214 about as many ELAN instances hosted by the advertising PE node to 215 reduce the amount of update messages exchanged by PE nodes. 217 Similar to the service SID, an ingress PE node can discover BUM SID 218 associated with an egress PE node via configuration or auto- 219 discovery. 221 The necessary BGP extensions will be specified in a future version of 222 this document. 224 4.2. All-Active Service Redundancy 226 An anycast SID per Ethernet Segment (ES) can be associated with the 227 PE nodes attached to a Multi-Home (MH) CE. The anycast SIDs will be 228 advertised in BGP by the PE nodes. Based on ES anycast SIDs, ingress 229 PEs receiving updates can discover the redundancy membership and 230 perform DF election. Aliasing/Multipathing can be achieved using the 231 same mechanisms excercised by SR underlay for forwarding traffic to 232 destinations belonging to anycast group. 234 4.3. Mass service withdrawal 236 Node failure can be detected due via IGP convergence. For faster 237 detection of node failure, mechanism like BFD can be deployed. The 238 proposed approach does not require additional MAC withdrawal 239 mechanism. 241 On PE-CE link failure, the corresponding PE node withdraws the route 242 to the corresponding ES in BGP in order to stop receiving traffic to 243 that ES. With MH case with anycast SID, upon detecting a failure on 244 PE-CE link, a PE node may forward incoming traffic to the impacted 245 ES(s) to other PE node(s) that is/are part of the anycast group until 246 it withdraws routes to the impacted ES(s) for faster convergence. 247 For example, in Figure 1, assuming PE5 and PE6 are part of an anycast 248 group, upon link failure between PE5 and CE5, PE5 can forward the 249 received packets from the core to PE6 until it withdraws the anycast 250 SID associated with the ES(s). 252 4.4. E-Tree Support 254 To be covered in the next revision of this document. 256 5. Data Plane Behavior 258 ____ CE3 259 / ____CE1 260 -------- PE3 --------- / 261 / PE1 262 / | \ 263 PE5 | \ 264 /| | \ 265 / | Service Provider Network | \ 266 CE5 | | CE2 267 \ | | / 268 \ | PE2_/ 269 PE6 / 270 / -------- PE4 -------- 271 CE6___ / CE4_____/ 273 Figure 1: Reference network diagram used for examples below 275 5.1. Unicast Traffic 277 The proposed method requires unicast data packet be formed as shown 278 in Figure 2. 280 +-------------------------------+ 281 | SID(s) to reach destination | 282 +-------------------------------+ 283 | Service SID | 284 +-------------------------------+ 285 | Source node SID | 286 +-------------------------------+ 287 | Layer-2 Payload | 288 +-------------------------------+ 290 Figure 2: Data packet format for unicast traffic 292 o SID(s) to reach destination: depends on the intent of the underlay 293 transport: 295 * IGP shortest path: node SID of the destination. The 296 destination can belong to an anycast group. 298 * IGP path with intent: Flex-Algo SID if the destination can be 299 reached using the Flex-Algo SID for a specific intent (e.g., 300 low latency). The destination can belong to an anycast group. 302 * SR policy (to support fine intent): a SID-list for the SR 303 policy that can be used to reach the destination. 305 o Service SID: The SID that uniquely identifies an ELAN instance in 306 a broadcast domain. 308 o Source node SID: The SID that uniquely identifies the source node. 309 This can be a node SID which may be part of an anycast group. 310 Note that such a SID is allocated as part of SR underlay 311 operation, and the proposed approach does not impose any 312 additional requirement. 314 5.2. BUM Traffic 316 In order to identify incoming BUM traffic a unique SID (which will be 317 referred to as "BUM SID" in the rest of the document) per PE node is 318 allocated. A BUM packet is formatted as shown in Figure 3: 320 +-------------------------------+ 321 | BUM SID | 322 +-------------------------------+ 323 | Service SID | 324 +-------------------------------+ 325 | Source node SID | 326 +-------------------------------+ 327 | Layer-2 Payload | 328 +-------------------------------+ 330 Figure 3: Data packet format for BUM traffic 332 In order to send BUM traffic, a P2MP SR policy may be established 333 from a given node to rest of the nodes associated with an ELAN 334 instance. If a dedicated P2MP SR policy is used per ELAN instance, a 335 single SID may be used as both replication SID for the P2MP SR policy 336 as well as to identify ELAN instance. With this approach, the number 337 of SIDs imposed on data packet will be only two. It is possible to 338 use a given P2MP SR policy for multiple ELAN instances in which case 339 service SID needs to be inserted in the packet for egress PE to 340 identify the ELAN instance for the BUM traffic. 342 5.3. Data Plane MAC learning 344 With the proposed approach, MAC address can be learned in data- plane 345 using the packets formatted as shown in Figure 4. 347 Source MAC address on the received Layer 2 packet is learned against 348 the source node SID placed directly under the service SID in the 349 data-plane. 351 5.3.1. Single Home CE 353 In Figure 1, node 3 learns a MAC address from CE3 and floods it to 354 all nodes configured with the same service SID. Nodes 1, 2, 4, 5 and 355 6 learn the MAC address as reachable via the source node SID of Node 356 3. 358 +-----------------------------+ 359 | Tree SID/Broadcast Node SID | 360 +-----------------------------+ 361 | Service SID | 362 +-----------------------------+ 363 | Node SID of node 3 | 364 +-----------------------------+ 365 | Layer-2 Packet | 366 +-----------------------------+ 368 Figure 4: Packet format used for flooding 370 5.3.2. Multi-Home CE 372 Referring to Figure 1, let's assume that node 5 learns a MAC address 373 from MH CE5, and floods it to all nodes in data-plane as per SID 374 stack shown in Figure 5, including node 6. The receiving nodes learn 375 the MAC address as reachable via the anycast SID belonging to node 5 376 and node 6. Node 6 applies SH and hence does not send the packet 377 back to CE5, but treats the MAC address as reachable via CE5, as well 378 floods the address to CE6. 380 The following diagram shows SID label stack for a Broadcast and 381 Multicast MAC frame sent by Multi-Home PE. Note the presence of 382 source SID after the service SID. This combination/order is 383 necessary for the receiver to learn source MAC address (from L2 384 packet) associated with ingress PE (i.e. source node SID). 386 +-----------------------------+ 387 | Tree SID/Broadcast Node SID | 388 +-----------------------------+ 389 | Service SID | 390 +-----------------------------+ 391 | Source Node SID | 392 +-----------------------------+ 393 | Layer-2 Packet | 394 +-----------------------------+ 396 Figure 5: Data packet format for traffic sent by a MH PE 398 5.4. ARP suppression 400 Gleaning ARP packet requests and replies will be used to learn IP/MAC 401 binding for ARP suppression. ARP replies are unicast, however 402 flooding ARP replies can allow all nodes to learn the MAC/IP bindings 403 for the destinations too. 405 5.5. Multi-pathing 407 Packets destined to a MH CE is distributed to the PE nodes attached 408 to the CE for load-balancing purpose. This is achieved implicitly 409 due to the use of anycast SIDs for both ES as well as PE attached to 410 the ES. In our example, traffic destined to CE5 is distributed via 411 PE5 and PE6. 413 5.6. E-Tree Support 415 To be covered in the next revision of this document. 417 6. Benefits of ELAN over SR 419 The proposed approach eliminates the need for establishing and 420 maintaining PWs as with legacy VPLS technology. This yields 421 significant reduction in control plane overhead. Also, due to MAC 422 learning in data-plane (conversational MAC learning), the proposed 423 approach provides the benefits as such fast convergence, fast MAC 424 movement, etc. Finally, using anycast SID, the proposed approach 425 provides All-Active multihoming as well as multipathing and ARP 426 suppression. 428 7. Security Considerations 430 The mechanisms in this document use Segment Routing control plane as 431 defined in Security considerations described in Segment Routing 432 control plane are equally applicable. 434 8. IANA Considerations 436 TBD. 438 9. Acknowledgements 440 10. References 442 10.1. Normative References 444 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 445 Requirement Levels", BCP 14, RFC 2119, 446 DOI 10.17487/RFC2119, March 1997, 447 . 449 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 450 Decraene, B., Litkowski, S., and R. Shakir, "Segment 451 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 452 July 2018, . 454 [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 455 Decraene, B., Litkowski, S., and R. Shakir, "Segment 456 Routing with the MPLS Data Plane", RFC 8660, 457 DOI 10.17487/RFC8660, December 2019, 458 . 460 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 461 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 462 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 463 . 465 10.2. Informative References 467 [I-D.ietf-spring-segment-routing-policy] 468 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 469 P. Mattes, "Segment Routing Policy Architecture", draft- 470 ietf-spring-segment-routing-policy-08 (work in progress), 471 July 2020. 473 [I-D.voyer-pim-sr-p2mp-policy] 474 Voyer, D., Filsfils, C., Parekh, R., Bidgoli, H., and Z. 475 Zhang, "Segment Routing Point-to-Multipoint Policy", 476 draft-voyer-pim-sr-p2mp-policy-02 (work in progress), July 477 2020. 479 [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private 480 LAN Service (VPLS) Using BGP for Auto-Discovery and 481 Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, 482 . 484 [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private 485 LAN Service (VPLS) Using Label Distribution Protocol (LDP) 486 Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, 487 . 489 Authors' Addresses 491 Sami Boutros (editor) 492 Ciena Corporation 493 USA 495 Email: sboutros@ciena.com 496 Siva Sivabalan (editor) 497 Ciena Corporation 498 Canada 500 Email: ssivabal@ciena.com 502 Himanshu Shah 503 Ciena Corporation 504 USA 506 Email: hshah@ciena.com 508 James Uttaro 509 ATT 510 USA 512 Email: ju1738@att.com 514 Daniel Voyer 515 Bell Canada 516 Canada 518 Email: daniel.voyer@bell.ca 520 Bin Wen 521 Comcast 522 USA 524 Email: bin_wen@cable.comcast.com 526 Luay Jalil 527 Verizon 528 USA 530 Email: luay.jalil@verizon.com