idnits 2.17.1 draft-ietf-bier-mld-04.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 (March 6, 2020) is 1512 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 (-16) exists of draft-ietf-bier-path-mtu-discovery-07 ** Downref: Normative reference to an Experimental draft: draft-venaas-bier-mtud (ref. 'I-D.venaas-bier-mtud') == Outdated reference: A later version (-01) exists of draft-venaas-pim-igmp-mld-extension-00 Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Pfister 3 Internet-Draft IJ. Wijnands 4 Intended status: Standards Track S. Venaas 5 Expires: September 7, 2020 Cisco Systems 6 C. Wang 8 Z. Zhang 9 ZTE Corporation 10 M. Stenberg 11 March 6, 2020 13 BIER Ingress Multicast Flow Overlay using Multicast Listener Discovery 14 Protocols 15 draft-ietf-bier-mld-04 17 Abstract 19 This document specifies the ingress part of a multicast flow overlay 20 for BIER networks. Using existing multicast listener discovery 21 protocols, it enables multicast membership information sharing from 22 egress routers, acting as listeners, toward ingress routers, acting 23 as queriers. Ingress routers keep per-egress-router state, used to 24 construct the BIER bit mask associated with IP multicast packets 25 entering the BIER domain. 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 September 7, 2020. 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 4. Applicability Statement . . . . . . . . . . . . . . . . . . . 4 65 5. Querier and Listener Specifications . . . . . . . . . . . . . 4 66 5.1. Configuration Parameters . . . . . . . . . . . . . . . . 5 67 5.2. MLDv2 instances. . . . . . . . . . . . . . . . . . . . . 6 68 5.2.1. Sending Queries . . . . . . . . . . . . . . . . . . . 6 69 5.2.2. Sending Reports . . . . . . . . . . . . . . . . . . . 6 70 5.2.3. Receiving Queries . . . . . . . . . . . . . . . . . . 7 71 5.2.4. Receiving Reports . . . . . . . . . . . . . . . . . . 8 72 5.3. Packet Forwarding . . . . . . . . . . . . . . . . . . . . 8 73 6. BIER MLD/IGMP Extension Type . . . . . . . . . . . . . . . . 8 74 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 75 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 76 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 77 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 78 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 79 10.2. Informative References . . . . . . . . . . . . . . . . . 11 80 Appendix A. BIER Use Case in Data Centers . . . . . . . . . . . 12 81 A.1. Convention and Terminology . . . . . . . . . . . . . . . 13 82 A.2. BIER in data centers . . . . . . . . . . . . . . . . . . 14 83 A.3. A BIER MLD solution for Virtual Network information . . . 14 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 86 1. Introduction 88 The Bit Index Explicit Replication (BIER - [RFC8279]) forwarding 89 technique enables IP multicast transport across a BIER domain. When 90 receiving or originating a packet, ingress routers have to construct 91 a bit mask indicating which BIER egress routers located within the 92 same BIER domain will receive the packet. A stateless approach would 93 consist of forwarding all incoming packets toward all egress routers, 94 which would in turn make a forwarding decision based on local 95 information. But any more efficient approach would require ingress 96 routers to keep some state about egress routers multicast membership 97 information, hence requiring state sharing from egress routers toward 98 ingress routers. 100 This document specifies how to use the Multicast Listener Discovery 101 protocol version 2 [RFC3810] (resp. the Internet Group Management 102 protocol version 3 [RFC3376]) as the ingress part of a BIER multicast 103 flow overlay (BIER layering is described in [RFC8279]) for IPv6 104 (resp. IPv4). It enables multicast membership information sharing 105 from egress routers, acting as listeners, toward ingress routers, 106 acting as queriers. Ingress routers keep per-egress-router state, 107 used to construct the BIER bit mask associated with IP multicast 108 packets entering the BIER domain. 110 This document defines an MLDv2 and IGMPv3 extension type, using the 111 extension scheme defined in [I-D.venaas-pim-igmp-mld-extension], that 112 allows for providing BIER specific information about the message 113 originator. 115 This specification is applicable to both IP version 4 and version 6. 116 It therefore specifies two separate mechanisms operating 117 independently. For the sake of simplicity, the rest of this document 118 uses IPv6 terminology. It can be applied to IPv4 by replacing 119 'MLDv2' with 'IGMPv3', and following specific requirements when 120 explicitly stated. 122 2. Terminology 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 126 "OPTIONAL" in this document are to be interpreted as described in BCP 127 14 [RFC2119] [RFC8174] when, and only when, they appear in all 128 capitals, as shown here. 130 The terms "Bit-Forwarding Router" (BFR), "Bit-Forwarding Egress 131 Router" (BFER), "Bit-Forwarding Ingress Router" (BFIR), "BFR-id" and 132 "BFR-Prefix" are to be interpreted as described in [RFC8279]. 134 Additionally, the following definitions are used: 136 BIER Multicast Listener Discovery (BMLD): The modified version of 137 MLD specified in this document. 139 BMLD Querier: A BFR implementing the Querier part of this 140 specification. A BMLD Node MAY be both a Querier and a Listener. 142 BMLD Listener: A BFR implementing the Listener part of this 143 specification. A BMLD Node MAY be both a Querier and a Listener. 145 3. Overview 147 This document proposes to use the mechanisms described in MLDv2 in 148 order to enable multicast membership information sharing from BFERs 149 toward BFIRs within a given BIER domain. BMLD queries (resp. 150 reports) are sent over BIER toward all BMLD Nodes (resp. BMLD 151 Queriers) using modified MLDv2 messages which IP destination is set 152 to a configured 'all BMLD Nodes' (resp. 'all BMLD Queriers') IP 153 multicast address. 155 By running MLDv2 instances with per-listener explicit tracking, BMLD 156 Queriers are able to map BMLD Listeners with MLDv2 membership states. 157 This state is then used to construct the set of BFERs associated with 158 each incoming IP multicast data packet. 160 4. Applicability Statement 162 BMLD runs on top of a BIER Layer and provides the ingress part of a 163 BIER multicast flow overlay, i.e, it specifies how BFIRs construct 164 the set of BFERs for each ingress IP multicast data packet. The BFER 165 part of the Multicast Flow Overlay is out of scope of this document. 167 The BIER Layer MUST be able to transport BMLD messages toward all 168 BMLD Queriers and Listeners. Such packets are IP multicast packets 169 with a BFR-Prefix as source address, a multicast destination address, 170 and containing a MLDv2 message. 172 BMLD only requires state to be kept by Queriers, and is therefore 173 more scalable than PIMv2 [RFC7761] in terms of overall state, but is 174 also likely to be less scalable than PIMv2 in terms of the amount of 175 control traffic and the size of the state that is kept by individual 176 routers. 178 This specification is applicable to both IP version 4 and version 6. 179 It therefore specifies two separate mechanisms operating 180 independently. For the sake of simplicity, this document uses IPv6 181 terminology. It can be applied to IPv4 by replacing 'MLDv2' with 182 'IGMPv3', and following specific requirements when explicitly stated. 184 5. Querier and Listener Specifications 186 Routers desiring to receive IP multicast traffic (e.g., for their own 187 use, or for forwarding) MUST behave as BMLD Listeners. Routers 188 receiving IP multicast traffic from outside the BIER domain, or 189 originating multicast traffic, MUST behave as BMLD Queriers. 191 BMLD Queriers (resp. BMLD Listeners) MUST act as MLDv2 Queriers 192 (resp. MLDv2 Listeners) as specified in [RFC3810] unless stated 193 otherwise in this section. 195 5.1. Configuration Parameters 197 Both Queriers and Listeners MUST operate as BFIRs and BFERs within 198 the BIER domain in order to send and receive BMLD messages. They 199 MUST therefore be configured accordingly, as specified in [RFC8279]. 201 All Listeners MUST be configured with an 'all BMLD Queriers' 202 multicast address and the BFR-ids of all the BMLD Queriers. This is 203 used by Listeners to send BMLD reports over BIER toward all Queriers. 204 All Queriers MUST be configured to accept BMLD reports sent to this 205 address. 207 All Queriers MUST be configured with an 'all BMLD Nodes' multicast 208 address and the BFR-ids of all the Queriers and Listeners. This 209 information is used by Queriers to send BMLD queries over BIER toward 210 all BMLD Nodes. All BMLD Nodes MUST be configured to accept BMLD 211 queries sent to this address. 213 It may be cumbersone to configure the exact set of BFR-ids for 214 Queriers and Listeners. One MAY configure the set of BFR-ids to 215 contain any potentially used BFR-id, perhaps having all bit positions 216 set. There is no harm in configuring unused BFR-ids. Configuring 217 the BFR-ids of additional routers would in most cases cause no harm, 218 as a router would drop the BMLD message unless it is configured as a 219 Querier or a Listener. 221 Note that BMLD (unlike MLDv2) makes use of per-instance configured 222 multicast group addresses rather than well-known addresses so that 223 multiple instances of BMLD (using different group addresses) can be 224 run simultaneously within the same BIER domain. Configured group 225 addresses MAY be obtained from allocated IP prefixes using [RFC3306]. 226 One MAY choose to use the well-known MLDv2 addresses in one instance, 227 but different instances MUST use different addresses. 229 IP packets coming from outside of the BIER domain and having a 230 destination address set to the configured 'all BMLD Queriers' or the 231 'all BMLD Nodes' group address MUST be dropped. It is RECOMMENDED 232 that these configured addresses have a limited scope, enforcing this 233 behavior by scope-based filtering on BIER domain's egress interfaces. 235 5.2. MLDv2 instances. 237 BMLD Queriers MUST run a MLDv2 Querier instance with per-host 238 tracking, which means they keep track of the MLDv2 state associated 239 with each BMLD Listener. For that purpose, Listeners are identified 240 by their respective BFR-Prefix, used as IP source address in all BMLD 241 reports. 243 BMLD Listeners MUST run a MLDv2 Listener instance expressing their 244 interest in the multicast traffic they are supposed to receive for 245 local use or forwarding. 247 BMLD Listeners and Queriers MUST NOT run the MLDv1 (IGMPv2 and IGMPv1 248 for IPv4) backward compatibility procedures. 250 5.2.1. Sending Queries 252 BMLD Queries are IP packets sent over BIER by BMLD Queriers: 254 o Toward all BMLD Nodes (i.e., providing to the BIER Layer the BFR- 255 ids of all BMLD Nodes). 257 o Without the IPv6 router alert option [RFC2711] in the hop-by-hop 258 extension header [RFC8200] (or the IPv4 router alert option 259 [RFC2113] for IPv4). 261 o With the IP destination address set to the 'all BMLD Nodes' group 262 address. 264 o With the IP source address set to the BFR-Prefix of the sender. 266 o With a TTL value large enough such that the packet can be received 267 by all BMLD Nodes, depending on the underlying BIER layer (whether 268 it decrements the IP TTL or not) and the size of the network. The 269 default value is 64. 271 o The extension defined in Section 6 MUST be included, specifying 272 the Sub-domain-id, BFR-id and BFR-Prefix of the sender. This 273 information may be useful for logging and debugging. 275 5.2.2. Sending Reports 277 BMLD Reports are IP packets sent over BIER by BMLD Listeners: 279 o Toward all BMLD Queriers (i.e., providing to the BIER layer the 280 BFR-ids of all BMLD Queriers). 282 o Without the IPv6 router alert option [RFC2711] in the hop-by-hop 283 extension header [RFC8200] (or the IPv4 router alert option 284 [RFC2113] for IPv4). 286 o With the IP destination address set to the 'all BMLD Queriers' 287 group address. 289 o With the IP source address set to the BFR-Prefix of the sender. 291 o With a TTL value large enough such that the packet can be received 292 by all BMLD Queriers, depending on the underlying BIER layer 293 (whether it decrements the IP TTL or not) and the size of the 294 network. The default value is 64. 296 o The extension defined in Section 6 MUST be included, specifying 297 the Sub-domain-id, BFR-id and BFR-Prefix of the sender. This 298 information is used to create the necessary forwarding state for 299 requested flows, and may be useful for logging and debugging. 301 Since the reports may contain a large number of records, they may 302 become larger than the maximum BIER payload that can be delivered to 303 all the BMLD Queriers. Hence an implementation will need to either 304 use a small default maximum size, allow configuration of a maximum 305 size, or rely on MTU discovery. MTU discovery may be done for a sub- 306 domain using BIER MTU Discovery [I-D.venaas-bier-mtud] or for the set 307 of BMLD Queriers using Path MTU Discovery 308 [I-D.ietf-bier-path-mtu-discovery]. 310 5.2.3. Receiving Queries 312 BMLD Queriers and Listeners MUST check the destination address of all 313 the IP packets that are received or forwarded over BIER whenever 314 their own BIER bit is set in the packet. If the destination address 315 is equal to the 'all BMLD Nodes' group address the packet is 316 processed as specified in this section. 318 If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) 319 message of type 'Multicast Listener Query' (resp. of type 'Membership 320 Query'), and include the extension defined in Section 6), it is 321 processed by the MLDv2 (resp. IGMPv3) instance run by the BMLD 322 Querier. It MUST be dropped otherwise. 324 During the MLDv2 processing, the packet MUST NOT be checked against 325 the MLDv2 consistency conditions (i.e., the presence of the router 326 alert option, the TTL equaling 1 and, for IPv6 only, the source 327 address being link-local). 329 5.2.4. Receiving Reports 331 BMLD Queriers MUST check the destination address of all the IP 332 packets that are received or forwarded over BIER whenever their own 333 BIER bit is set. If the destination address is equal to the 'all 334 BMLD Queriers' the packet is processed as specified in this section. 336 If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) 337 message of type 'Multicast Listener Report Message v2' (resp. 338 'Version 3 Membership Report'), and include the extension defined in 339 Section 6), it is processed by the MLDv2 (resp. IGMPv3) instance run 340 by the BMLD Querier. It MUST be dropped otherwise. 342 During the MLDv2 processing, the packet MUST NOT be checked against 343 the MLDv2 consistency conditions (i.e., the presence of the router 344 alert option, the TTL equaling 1 and, for IPv6 only, the source 345 address being link-local). 347 5.3. Packet Forwarding 349 BMLD Queriers configure the BIER Layer using the information obtained 350 using BMLD, and the extension Section 6), to track membership state, 351 including the Sub-domain-id, BFR-id and BFR-Prefix of the members. 353 More specifically, the membership state associated with each BMLD 354 Listener is provided to the BIER layer such that whenever a multicast 355 packet enters the BIER domain, if that packet matches the membership 356 information from a BMLD Listener, its Sub-domain-id and BFR-id is 357 added to the set of Sub-domains and BFR-ids the packet should be 358 forwarded to by the BIER-Layer. 360 6. BIER MLD/IGMP Extension Type 362 A new MLD/IGMP extension type adds BIER specific information to IGMP/ 363 MLD messages, using the extension scheme defined in 364 [I-D.venaas-pim-igmp-mld-extension]). The BIER specific information 365 is the same as the PTA tunnel identifier in [RFC8556] and is shown in 366 Figure 1. Note that, as defined in the MLD (resp. IGMP), existing 367 implementations are supposed to ignore this additional data. 369 0 1 2 3 370 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 371 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 372 | Ext Type TBD | Sub-domain ID | BFR-ID | 373 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 374 | BFR-Prefix | 375 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 376 ~ ~ 377 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 378 | BFR-Prefix | 379 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 381 Figure 1: MLD/IGMP Extension Type for BIER 383 o Ext Type: Assigned by IANA, identifying this BIER extension. 385 o Sub-domain-id: A single octet containing a BIER sub-domain-id (see 386 [[RFC8279]]). This indicates the BIER sub-domain of the router 387 originating the message. 389 o BFR-id: A two-octet field containing the BFR-id, in the specified 390 sub-domain, of the router originating the message. 392 o BFR-prefix: The BFR-prefix (see [[RFC8279]]) of the router that is 393 originating the message. The BFR-prefix will either be a /32 IPv4 394 address or a /128 IPv6 address. 396 7. Security Considerations 398 BMLD makes use of IP MLDv2 messages transported over BIER in order to 399 configure the BIER Layer of BFIRs. BMLD messages MUST be secured, 400 either by relying on physical or link-layer security, by securing the 401 IP packets (e.g., using IPSec [RFC4301]), or by relying on security 402 features provided by the BIER Layer. 404 Whenever an attacker would be able to spoof the identity of a router, 405 it could: 407 o Redirect undesired traffic toward the spoofed router by 408 subscribing to undesired multicast traffic. 410 o Prevent desired multicast traffic from reaching the spoofed router 411 by unsubscribing to some desired multicast traffic. 413 8. IANA Considerations 415 This document requests that IANA assigns a new type called BIER 416 information in the registry defined in 417 [I-D.venaas-pim-igmp-mld-extension]. 419 9. Acknowledgements 421 Comments concerning this document are very welcome. 423 10. References 425 10.1. Normative References 427 [I-D.ietf-bier-path-mtu-discovery] 428 Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum 429 Transmission Unit Discovery (PMTUD) for Bit Index Explicit 430 Replication (BIER) Layer", draft-ietf-bier-path-mtu- 431 discovery-07 (work in progress), November 2019. 433 [I-D.venaas-bier-mtud] 434 Venaas, S., Wijnands, I., Ginsberg, L., and M. Sivakumar, 435 "BIER MTU Discovery", draft-venaas-bier-mtud-02 (work in 436 progress), October 2018. 438 [I-D.venaas-pim-igmp-mld-extension] 439 Sivakumar, M., Venaas, S., and Z. Zhang, "IGMPv3/MLDv2 440 Message Extension", draft-venaas-pim-igmp-mld-extension-00 441 (work in progress), November 2019. 443 [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, 444 DOI 10.17487/RFC2113, February 1997, 445 . 447 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 448 Requirement Levels", BCP 14, RFC 2119, 449 DOI 10.17487/RFC2119, March 1997, 450 . 452 [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. 453 Thyagarajan, "Internet Group Management Protocol, Version 454 3", RFC 3376, DOI 10.17487/RFC3376, October 2002, 455 . 457 [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener 458 Discovery Version 2 (MLDv2) for IPv6", RFC 3810, 459 DOI 10.17487/RFC3810, June 2004, 460 . 462 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 463 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 464 May 2017, . 466 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 467 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 468 Explicit Replication (BIER)", RFC 8279, 469 DOI 10.17487/RFC8279, November 2017, 470 . 472 10.2. Informative References 474 [RFC2711] Partridge, C. and A. Jackson, "IPv6 Router Alert Option", 475 RFC 2711, DOI 10.17487/RFC2711, October 1999, 476 . 478 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 479 Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306, 480 August 2002, . 482 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 483 Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, 484 December 2005, . 486 [RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, 487 "Bidirectional Protocol Independent Multicast (BIDIR- 488 PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007, 489 . 491 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, 492 L., Sridhar, T., Bursell, M., and C. Wright, "Virtual 493 eXtensible Local Area Network (VXLAN): A Framework for 494 Overlaying Virtualized Layer 2 Networks over Layer 3 495 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, 496 . 498 [RFC7365] Lasserre, M., Balus, F., Morin, T., Bitar, N., and Y. 499 Rekhter, "Framework for Data Center (DC) Network 500 Virtualization", RFC 7365, DOI 10.17487/RFC7365, October 501 2014, . 503 [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., 504 Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent 505 Multicast - Sparse Mode (PIM-SM): Protocol Specification 506 (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 507 2016, . 509 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 510 (IPv6) Specification", STD 86, RFC 8200, 511 DOI 10.17487/RFC8200, July 2017, 512 . 514 [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., 515 and A. Dolganow, "Multicast VPN Using Bit Index Explicit 516 Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April 517 2019, . 519 Appendix A. BIER Use Case in Data Centers 521 In current data center virtualization, virtual eXtensible Local Area 522 Network (VXLAN) [RFC7348] is a kind of network virtualization overlay 523 technology which is overlaid between NVEs and is intended for multi- 524 tenancy data center networks, whose reference architecture is 525 illustrated as per Figure 2. 527 +--------+ +--------+ 528 | Tenant +--+ +----| Tenant | 529 | System | | (') | System | 530 +--------+ | ................ ( ) +--------+ 531 | +-+--+ . . +--+-+ (_) 532 | | NVE|--. .--| NVE| | 533 +--| | . . | |---+ 534 +-+--+ . . +--+-+ 535 / . . 536 / . L3 Overlay . +--+-++--------+ 537 +--------+ / . Network . | NVE|| Tenant | 538 | Tenant +--+ . .--| || System | 539 | System | . . +--+-++--------+ 540 +--------+ ................ 542 Figure 2: NVO3 Architecture 544 And there are two kinds of most common methods about how to forward 545 BUM packets in this virtualization overlay network. One is using PIM 546 as underlay multicast routing protocol to build explicit multicast 547 distribution tree, such as PIM-SM [RFC7761] or PIM-BIDIR [RFC5015] 548 multicast routing protocol. Then, when BUM packets arrive at NVE, it 549 requires NVE to have a mapping between the VXLAN Network Identifier 550 and the IP multicast group. According to the mapping, NVE can 551 encapsulate BUM packets in a multicast packet which group address is 552 the mapping IP multicast group address and steer them through 553 explicit multicast distribution tree to the destination NVEs. This 554 method has two serious drawbacks. It need the underlay network 555 supports complicated multicast routing protocol and maintains 556 multicast related per-flow state in every transit nodes. What is 557 more, how to configure the ratio of the mapping between VNI and IP 558 multicast group is also an issue. If the ratio is 1:1, there should 559 be 16M multicast groups in the underlay network at maximum to map to 560 the 16M VNIs, which is really a significant challenge for the data 561 center devices. If the ratio is n:1, it would result in inefficiency 562 bandwidth utilization which is not optimal in data center networks. 564 The other method is using ingress replication to require each NVE to 565 create a mapping between the VXLAN Network Identifier and the remote 566 addresses of NVEs which belong to the same virtual network. When NVE 567 receives BUM traffic from the attached tenant, NVE can encapsulate 568 these BUM packets in unicast packets and replicate them and tunnel 569 them to different remote NVEs respectively. Although this method can 570 eliminate the burden of running multicast protocol in the underlay 571 network, it has a significant disadvantage: large waste of bandwidth, 572 especially in big-sized data center where there are many receivers. 574 BIER [RFC8279] is an architecture that provides optimal multicast 575 forwarding through a "BIER domain" without requiring intermediate 576 routers to maintain any multicast related per-flow state. BIER also 577 does not require any explicit tree-building protocol for its 578 operation. A multicast data packet enters a BIER domain at a "Bit- 579 Forwarding Ingress Router" (BFIR), and leaves the BIER domain at one 580 or more "Bit-Forwarding Egress Routers" (BFERs). The BFIR router 581 adds a BIER header to the packet. The BIER header contains a bit- 582 string in which each bit represents exactly one BFER to forward the 583 packet to. The set of BFERs to which the multicast packet needs to 584 be forwarded is expressed by setting the bits that correspond to 585 those routers in the BIER header. Specifically, for BIER-TE, the 586 BIER header may also contain a bit-string in which each bit indicates 587 the link the flow passes through. 589 The following sub-sections try to propose how to take full advantage 590 of overlay multicast protocol to carry virtual network information, 591 and create a mapping between the virtual network information and the 592 bit-string to implement BUM services in data centers. 594 A.1. Convention and Terminology 596 The terms about NVO3 are defined in [RFC7365]. The most common 597 terminology used in this appendix is listed below. 599 NVE: Network Virtualization Edge, which is the entity that 600 implements the overlay functionality. An NVE resides at the 601 boundary between a Tenant System and the overlay network. 603 VXLAN: Virtual eXtensible Local Area Network 604 VNI: VXLAN Network Identifier 606 Virtal Network Context Identifier: Field in an overlay encapsulation 607 header that identifies the specific VN the packet belongs to. 609 A.2. BIER in data centers 611 This section tries to describe how to use BIER as an optimal scheme 612 to forward the broadcast, unknown and multicast (BUM) packets when 613 they arrive at the ingress NVE in data centers. 615 The principle of using BIER to forward BUM traffic is that: firstly, 616 it requires each ingress NVE to have a mapping between the Virtual 617 Network Context Identifier and the bit-string in which each bit 618 represents exactly one egress NVE to forward the packet to. And 619 then, when receiving the BUM traffic, the BFIR/Ingree NVE maps the 620 receiving BUM traffic to the mapping bit-string, encapsulates the 621 BIER header, and forwards the encapsulated BUM traffic into the BIER 622 domain to the other BFERs/Egress NVEs indicated by the bit-string. 624 Furthermore, as for how each ingress NVE knows the other egress NVEs 625 that belong to the same virtual network and creates the mapping is 626 the main issue discussed below. Basically, BIER Multicast Listener 627 Discovery is an overlay solution to support ingress routers to keep 628 per-egress-router state to construct the BIER bit-string associated 629 with IP multicast packets entering the BIER domain. The following 630 section tries to extend BIER MLD to carry virtual network 631 information(such as Virtual Network Context identifier), and 632 advertise them between NVEs. When each NVE receive these 633 information, they create the mapping between the virtual network 634 information and the bit-string representing the other NVEs belonged 635 to the same virtual network. 637 A.3. A BIER MLD solution for Virtual Network information 639 The BIER MLD solution allows having multiple MLD instances by having 640 unique pairs of BMLD Nodes and BMLD Querier addresses for each 641 instance. Assume for now that we have a unique instance per VNI and 642 that all BMLD routers are using the same mapping between VNIs and 643 BMLD address pairs. Also for each VNI there is a multicast group 644 used for encapsulation of BUM traffic over BIER. This group may 645 potentially be shared by some or all of the VNIs. 647 Each NVE acquires the Virtual Network information, and advertises 648 this Virtual Network information to other NVEs through the MLD 649 messages. For a given VNI it sends BMLD reports to the BMLD nodes 650 address used for that VNI, for the group used for delivering BUM 651 traffic for that VNI. This allows all NVE routers to know which 652 other NVE routers have interest in BUM traffic for a particular VNI. 653 If one attached virtual network is migrated, the NVE will withdraw 654 the Virtual Network information by sending an unsolicited BMLD 655 report. Note that NVEs also respond to periodic queries to BMLD 656 Nodes addresses corresponding to VNIs for which they have interest. 658 When ingress NVE receives the Virtual Network information 659 advertisement message, it builds a mapping between the receiving 660 Virtual Network Context Identifier in this message and the bit-string 661 in which each bit represents one egress NVE who sends the same 662 Virtual Network information. Subsequently, once this ingress NVE 663 receives some other MLD advertisements which include the same Virtual 664 Network information from some other NVEs , it updates the bit-string 665 in the mapping and adds the corresponding sending NVE to the updated 666 bit-string. Once the ingress NVE removes one virtual network, it 667 will delete the mapping corresponding to this virtual network as well 668 as send withdraw message to other NVEs. 670 After finishing the above interaction of MLD messages, each ingress 671 NVE knows where the other egress NVEs are in the same virtual 672 network. When receiving BUM traffic from the attached virtual 673 network, each ingress NVE knows exactly how to encapsulate this 674 traffic and where to forward them to. 676 This can be used in both IPv4 network and IPv6 network. In IPv4, 677 IGMP protocol does the similar extension for carrying Virtual Network 678 information TLV in Version 2 membership report message. 680 Note that it is possible to have multiple VNIs map to the same pair 681 of BMLD addresses. Provided VNIs that map to the same BMLD address 682 uses different multicast groups for encapsulation, this is not a 683 problem, because each instance is tracking interest for each 684 multicast group separately. If multiple VNIs map to the same pair 685 and the multicast group used is not unique, some NVEs may receive BUM 686 traffic for which they are not interested. An NVE would drop packets 687 for an unknown VNI, but it means wasting some bandwidth and 688 processing. This is similar to the non-BIER case where there is not 689 a unique multicast group for encapsulation. The improvement offered 690 by using BMLD is by using multiple instance, hence reducing the 691 problems caused by using the same transport group for multiple VNIs. 693 Authors' Addresses 694 Pierre Pfister 695 Cisco Systems 696 Paris 697 France 699 Email: pierre.pfister@darou.fr 701 IJsbrand Wijnands 702 Cisco Systems 703 De Kleetlaan 6a 704 Diegem 1831 705 Belgium 707 Email: ice@cisco.com 709 Stig Venaas 710 Cisco Systems 711 Tasman Drive 712 San Jose, CA 95134 713 USA 715 Email: stig@cisco.com 717 Cui(Linda) Wang 719 Email: lindawangjoy@gmail.com 721 Zheng(Sandy) Zhang 722 ZTE Corporation 723 No.50 Software Avenue, Yuhuatai District 724 Nanjing, CA 725 China 727 Email: zhang.zheng@zte.com.cn 729 Markus Stenberg 730 Helsinki 00930 731 Finland 733 Email: markus.stenberg@iki.fi