idnits 2.17.1 draft-boutros-bess-elan-services-over-sr-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 : ---------------------------------------------------------------------------- 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 date (February 21, 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) == Unused Reference: 'RFC8402' is defined on line 472, but no explicit reference was found in the text == Unused Reference: 'RFC8660' is defined on line 477, but no explicit reference was found in the text == Unused Reference: 'RFC8754' is defined on line 483, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-spring-segment-routing-policy' is defined on line 490, but no explicit reference was found in the text == Unused Reference: 'I-D.voyer-pim-sr-p2mp-policy' is defined on line 496, but no explicit reference was found in the text == Unused Reference: 'RFC4761' is defined on line 502, but no explicit reference was found in the text == Unused Reference: 'RFC4762' is defined on line 507, but no explicit reference was found in the text == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-09 Summary: 0 errors (**), 0 flaws (~~), 9 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: August 25, 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 February 21, 2021 16 A Simplified Scalable ELAN Service Model with Segment Routing Underlay 17 draft-boutros-bess-elan-services-over-sr-02 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 August 25, 2021. 44 Copyright Notice 46 Copyright (c) 2021 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. Distributed Anycast Gateway . . . . . . . . . . . . . . . 10 77 5.6. Multi-pathing . . . . . . . . . . . . . . . . . . . . . . 10 78 5.7. E-Tree Support . . . . . . . . . . . . . . . . . . . . . 10 79 6. Benefits of ELAN over SR . . . . . . . . . . . . . . . . . . 10 80 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 81 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 82 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 83 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 84 10.1. Normative References . . . . . . . . . . . . . . . . . . 11 85 10.2. Informative References . . . . . . . . . . . . . . . . . 11 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 88 1. Introduction 90 Virtual Private LAN Service(VPLS) is based on Pseudo-Wire (PW) 91 construct which identifies both the service type and the service 92 termination node in both control and data planes. RFCs 4761 and 4762 93 specify mechanisms to signal PW for VPLS services using BGP and LDP 94 respectively. An ingress Provider Edge (PE) node needs to maintain a 95 PW per VPLS instance for each egress PE node. So, if we assume 10K 96 ELAN instances over a network of 100 PE nodes, each PE node needs to 97 setup and maintain approximately 1M PWs which can easily become a 98 scalability bottleneck in large scale deployment. 100 As described in RFC7432, Ethernet Virtual Private Network (EVPN) 101 technology builds ELAN services similar to BGP-based IP-VPN services 102 with additional features such as MAC address learning in control 103 lane, All-Active multihoming, etc. It eliminates the need for PWs, 104 and hence the scale problem associated with PWs. However, an egress 105 PE node cannot unambiguously identify ingress PE node in data-plane. 106 As such, EVPN requires control plane mechanisms for MAC advertisement 107 and learning which increases control plane complexity and overhead. 109 The goal of the proposed approach is to greatly simplify control 110 plane functions and minimize the amount of control plane messages PE 111 nodes have to process. In this version of the document, we assume 112 Segment Routing (SR) underlay network. A future version of this 113 document will generalize the underlay network to both classical MPLS 114 and SR technologies. 116 The proposed approach does not require PW, and hence the control 117 plane complexity and message overhead associated with signaling and 118 maintaining PWs are eliminated. 120 An ELAN instance is uniquely identified by Segment ID (SID) 121 regardless of the number of service termination points. Such a SID 122 will be referred to as "Service SID" in the rest of the document. 123 The number of states maintained at a PE node is equal to the number 124 of ELAN instances in the corresponding broadcast domain. Referring 125 to the above example, each PE node now needs to maintain states for 126 10K ELAN service instances as opposed to 1 M PWs in the case of 127 classical VPLS model in data and control planes. A node can 128 advertise service SID(s) of the ELAN instance(s) that it hosts via 129 BGP for auto-discovery purpose. A Service SID can be: 131 o MPLS label for SR-MPLS. 133 o uSID (micro SID) for SRv6 representing network function associated 134 with an ELAN service instance. 136 MAC address is learned in data-plane. Source node of a MAC address 137 is identified by its node SID (assigned for regular SR operation) 138 during MAC learning phase. In the data packets, the node SID of the 139 source is inserted directly below the service SID so that a 140 destination node can uniquely identify the source of the packets in 141 an SR domain. 143 ELAN service instances are advertised such that a service message 144 packs as many ELAN instances hosted by the advertising PE node as 145 possible at the time of advertisement. A possible approach is to use 146 a bit-map in which each bit position represents an ELAN instance, as 147 well as the starting value of Service SID. Using these parameters, 148 an ingress PE receiving advertisements node can learn ELAN 149 instance(s) hosted by an egress PE node. 151 All-Active multihoming redundancy is supported at the underlay level 152 by making use of SR anycast SID. No overlay mechanism is required 153 for this purpose. 155 Each node is also associated with another SID unique within the 156 broadcast domain that is used to identify incoming Broadcast Unknown- 157 unicast, and Multicast (BUM) traffic. We call such SID BUM SID. If 158 node A wants to send BUM traffic to node B, it needs to use BUM SID 159 assigned to node B as a destination SID. BUM SIDs can also be 160 advertised via BGP for auto-discovery purpose. In order to send BUM 161 traffic within a broadcast domain, P2MP SR policies can be used. 162 Such policies may or may not be shared by ELAN instances. 164 The proposed solution can also be applicable to the EVPN control 165 plane without compromising its benefits such as All-Active 166 multihoming on access, multipathing in the core, auto-provisioning 167 and auto-discovery, etc. With this approach, the need for 168 advertising EVPN route types 1 through 4 as well Split-Horizon (HP) 169 label is eliminated. 171 In the following sections, we will describe the functionalities of 172 the proposed approach in detail. 174 2. Terminology 176 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 177 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 178 document are to be interpreted as described in [RFC2119]. 180 3. Abbreviations 182 BUM: Broadcast, unicast and multicast. 184 CE: Customer Edge node e.g., host or router or switch. 186 ELAN: Ethernet LAN. 188 EVPN: Ethernet VPN. 190 MAC: Media Access Control. 192 MAC-VRF: A Virtual Routing and Forwarding table for Media Access 193 Control (MAC) addresses on a PE. 195 MH: Multi-Home. 197 OAM: Operations, Administration and Maintenance. 199 PE: Provide Edge Node. 201 SID: Segment Identifier. 203 SR: Segment Routing. 205 VPLS: Virtual Private LAN Service. 207 4. Control Plane Behavior 209 4.1. Service discovery 211 A node can discover ELAN service instances as well as the associated 212 service SIDs hosted on other nodes via configuration or auto- 213 discovery. With the latter, the service SIDs can be advertised using 214 BGP. As mentioned earlier such update message will pack information 215 about as many ELAN instances hosted by the advertising PE node to 216 reduce the amount of update messages exchanged by PE nodes. 218 Similar to the service SID, an ingress PE node can discover BUM SID 219 associated with an egress PE node via configuration or auto- 220 discovery. 222 The necessary BGP extensions will be specified in a future version of 223 this document. 225 4.2. All-Active Service Redundancy 227 An anycast SID per Ethernet Segment (ES) can be associated with the 228 PE nodes attached to a Multi-Home (MH) CE. The anycast SIDs will be 229 advertised in BGP by the PE nodes. Based on ES anycast SIDs, ingress 230 PEs receiving updates can discover the redundancy membership and 231 perform DF election. Aliasing/Multipathing can be achieved using the 232 same mechanisms excercised by SR underlay for forwarding traffic to 233 destinations belonging to anycast group. 235 4.3. Mass service withdrawal 237 Node failure can be detected due via IGP convergence. For faster 238 detection of node failure, mechanism like BFD can be deployed. The 239 proposed approach does not require additional MAC withdrawal 240 mechanism. 242 On PE-CE link failure, the corresponding PE node withdraws the route 243 to the corresponding ES in BGP in order to stop receiving traffic to 244 that ES. With MH case with anycast SID, upon detecting a failure on 245 PE-CE link, a PE node may forward incoming traffic to the impacted 246 ES(s) to other PE node(s) that is/are part of the anycast group until 247 it withdraws routes to the impacted ES(s) for faster convergence. 248 For example, in Figure 1, assuming PE5 and PE6 are part of an anycast 249 group, upon link failure between PE5 and CE5, PE5 can forward the 250 received packets from the core to PE6 until it withdraws the anycast 251 SID associated with the ES(s). 253 4.4. E-Tree Support 255 To be covered in the next revision of this document. 257 5. Data Plane Behavior 259 ____ CE3 260 / ____CE1 261 -------- PE3 --------- / 262 / PE1 263 / | \ 264 PE5 | \ 265 /| | \ 266 / | Service Provider Network | \ 267 CE5 | | CE2 268 \ | | / 269 \ | PE2_/ 270 PE6 / 271 / -------- PE4 -------- 272 CE6___ / CE4_____/ 274 Figure 1: Reference network diagram used for examples below 276 5.1. Unicast Traffic 278 The proposed method requires unicast data packet be formed as shown 279 in Figure 2. 281 +-------------------------------+ 282 | SID(s) to reach destination | 283 +-------------------------------+ 284 | Service SID | 285 +-------------------------------+ 286 | Source node SID | 287 +-------------------------------+ 288 | Layer-2 Payload | 289 +-------------------------------+ 291 Figure 2: Data packet format for unicast traffic 293 o SID(s) to reach destination: depends on the intent of the underlay 294 transport: 296 * IGP shortest path: node SID of the destination. The 297 destination can belong to an anycast group. 299 * IGP path with intent: Flex-Algo SID if the destination can be 300 reached using the Flex-Algo SID for a specific intent (e.g., 301 low latency). The destination can belong to an anycast group. 303 * SR policy (to support fine intent): a SID-list for the SR 304 policy that can be used to reach the destination. 306 o Service SID: The SID that uniquely identifies an ELAN instance in 307 a broadcast domain. 309 o Source node SID: The SID that uniquely identifies the source node. 310 This can be a node SID which may be part of an anycast group. 311 Note that such a SID is allocated as part of SR underlay 312 operation, and the proposed approach does not impose any 313 additional requirement. 315 5.2. BUM Traffic 317 In order to identify incoming BUM traffic a unique SID (which will be 318 referred to as "BUM SID" in the rest of the document) per PE node is 319 allocated. A BUM packet is formatted as shown in Figure 3: 321 +-------------------------------+ 322 | BUM SID | 323 +-------------------------------+ 324 | Service SID | 325 +-------------------------------+ 326 | Source node SID | 327 +-------------------------------+ 328 | Layer-2 Payload | 329 +-------------------------------+ 331 Figure 3: Data packet format for BUM traffic 333 In order to send BUM traffic, a P2MP SR policy may be established 334 from a given node to rest of the nodes associated with an ELAN 335 instance. If a dedicated P2MP SR policy is used per ELAN instance, a 336 single SID may be used as both replication SID for the P2MP SR policy 337 as well as to identify ELAN instance. With this approach, the number 338 of SIDs imposed on data packet will be only two. It is possible to 339 use a given P2MP SR policy for multiple ELAN instances in which case 340 service SID needs to be inserted in the packet for egress PE to 341 identify the ELAN instance for the BUM traffic. 343 5.3. Data Plane MAC learning 345 With the proposed approach, MAC address can be learned in data- plane 346 using the packets formatted as shown in Figure 4. 348 Source MAC address on the received Layer 2 packet is learned against 349 the source node SID placed directly under the service SID in the 350 data-plane. 352 5.3.1. Single Home CE 354 In Figure 1, node 3 learns a MAC address from CE3 and floods it to 355 all nodes configured with the same service SID. Nodes 1, 2, 4, 5 and 356 6 learn the MAC address as reachable via the source node SID of Node 357 3. 359 +-----------------------------+ 360 | Tree SID/Broadcast Node SID | 361 +-----------------------------+ 362 | Service SID | 363 +-----------------------------+ 364 | Node SID of node 3 | 365 +-----------------------------+ 366 | Layer-2 Packet | 367 +-----------------------------+ 369 Figure 4: Packet format used for flooding 371 5.3.2. Multi-Home CE 373 Referring to Figure 1, let's assume that node 5 learns a MAC address 374 from MH CE5, and floods it to all nodes in data-plane as per SID 375 stack shown in Figure 5, including node 6. The receiving nodes learn 376 the MAC address as reachable via the anycast SID belonging to node 5 377 and node 6. Node 6 applies SH and hence does not send the packet 378 back to CE5, but treats the MAC address as reachable via CE5, as well 379 floods the address to CE6. 381 The following diagram shows SID label stack for a Broadcast and 382 Multicast MAC frame sent by Multi-Home PE. Note the presence of 383 source SID after the service SID. This combination/order is 384 necessary for the receiver to learn source MAC address (from L2 385 packet) associated with ingress PE (i.e. source node SID). 387 +-----------------------------+ 388 | Tree SID/Broadcast Node SID | 389 +-----------------------------+ 390 | Service SID | 391 +-----------------------------+ 392 | Source Node SID | 393 +-----------------------------+ 394 | Layer-2 Packet | 395 +-----------------------------+ 397 Figure 5: Data packet format for traffic sent by a MH PE 399 5.4. ARP suppression 401 Gleaning ARP packet requests and replies will be used to learn IP/MAC 402 binding for ARP suppression. ARP replies are unicast, however 403 flooding ARP replies can allow all nodes to learn the MAC/IP bindings 404 for the destinations too. 406 5.5. Distributed Anycast Gateway 408 Distributed Anycast Gateway (GW) (aka inter-subnet IRB function) can 409 be realized as follows: 411 o All PEs connected to the tenant subnets share the same GW IP/MAC 412 per subnet. 414 o A PE MUST never learn its own GW IP/MAC via the tunnels connecting 415 itself to other PE(s). 417 o ARP requests/replies from the tenant subnet are flooded via the 418 ingress PE(s) attached to the subnet to all egress PE(s) attached 419 to the subnet so that egress PE(s) can learn the source MAC/IP 420 address via the ingress PE(s). 422 o ARP replies from tenants will be delivered to the local PE hosts 423 the GW virtual MAC address. The local PE MUST flood the ARP 424 replies over the tunnel to other PEs. Other PEs, including the PE 425 which originated the ARP request, will learn the IP/MAC 426 association of the tenant from the received ARP reply. 428 5.6. Multi-pathing 430 Packets destined to a MH CE is distributed to the PE nodes attached 431 to the CE for load-balancing purpose. This is achieved implicitly 432 due to the use of anycast SIDs for both ES as well as PE attached to 433 the ES. In our example, traffic destined to CE5 is distributed via 434 PE5 and PE6. 436 5.7. E-Tree Support 438 To be covered in the next revision of this document. 440 6. Benefits of ELAN over SR 442 The proposed approach eliminates the need for establishing and 443 maintaining PWs as with legacy VPLS technology. This yields 444 significant reduction in control plane overhead. Also, due to MAC 445 learning in data-plane (conversational MAC learning), the proposed 446 approach provides the benefits as such fast convergence, fast MAC 447 movement, etc. Finally, using anycast SID, the proposed approach 448 provides All-Active multihoming as well as multipathing and ARP 449 suppression. 451 7. Security Considerations 453 The mechanisms in this document use Segment Routing control plane as 454 defined in Security considerations described in Segment Routing 455 control plane are equally applicable. 457 8. IANA Considerations 459 TBD. 461 9. Acknowledgements 463 10. References 465 10.1. Normative References 467 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 468 Requirement Levels", BCP 14, RFC 2119, 469 DOI 10.17487/RFC2119, March 1997, 470 . 472 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 473 Decraene, B., Litkowski, S., and R. Shakir, "Segment 474 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 475 July 2018, . 477 [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 478 Decraene, B., Litkowski, S., and R. Shakir, "Segment 479 Routing with the MPLS Data Plane", RFC 8660, 480 DOI 10.17487/RFC8660, December 2019, 481 . 483 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 484 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 485 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 486 . 488 10.2. Informative References 490 [I-D.ietf-spring-segment-routing-policy] 491 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 492 P. Mattes, "Segment Routing Policy Architecture", draft- 493 ietf-spring-segment-routing-policy-09 (work in progress), 494 November 2020. 496 [I-D.voyer-pim-sr-p2mp-policy] 497 Voyer, D., Filsfils, C., Parekh, R., Bidgoli, H., and Z. 498 Zhang, "Segment Routing Point-to-Multipoint Policy", 499 draft-voyer-pim-sr-p2mp-policy-02 (work in progress), July 500 2020. 502 [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private 503 LAN Service (VPLS) Using BGP for Auto-Discovery and 504 Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, 505 . 507 [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private 508 LAN Service (VPLS) Using Label Distribution Protocol (LDP) 509 Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, 510 . 512 Authors' Addresses 514 Sami Boutros (editor) 515 Ciena Corporation 516 USA 518 Email: sboutros@ciena.com 520 Siva Sivabalan (editor) 521 Ciena Corporation 522 Canada 524 Email: ssivabal@ciena.com 526 Himanshu Shah 527 Ciena Corporation 528 USA 530 Email: hshah@ciena.com 532 James Uttaro 533 ATT 534 USA 536 Email: ju1738@att.com 537 Daniel Voyer 538 Bell Canada 539 Canada 541 Email: daniel.voyer@bell.ca 543 Bin Wen 544 Comcast 545 USA 547 Email: bin_wen@cable.comcast.com 549 Luay Jalil 550 Verizon 551 USA 553 Email: luay.jalil@verizon.com