idnits 2.17.1 draft-ietf-bier-mld-05.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 22, 2021) is 1157 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 (-08) exists of draft-ietf-pim-igmp-mld-extension-04 == Outdated reference: A later version (-16) exists of draft-ietf-bier-path-mtu-discovery-09 Summary: 0 errors (**), 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: August 26, 2021 Cisco Systems 6 C. Wang 8 Z. Zhang 9 ZTE Corporation 10 M. Stenberg 11 February 22, 2021 13 BIER Ingress Multicast Flow Overlay using Multicast Listener Discovery 14 Protocols 15 draft-ietf-bier-mld-05 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 August 26, 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 . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . 14 82 A.2. BIER in data centers . . . . . . . . . . . . . . . . . . 14 83 A.3. A BIER MLD solution for Virtual Network information . . . 15 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 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.ietf-pim-igmp-mld-extension], that 112 is used to provide 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 a deterministic IP source address. It is RECOMMENDED that 265 the address is a BFR-Prefix of the sender, but it MAY be another 266 value. This address is only used for querier election. 268 o With a TTL value large enough such that the packet can be received 269 by all BMLD Nodes, depending on the underlying BIER layer (whether 270 it decrements the IP TTL or not) and the size of the network. The 271 default value is 64. 273 o The extension type defined in Section 6 MUST be included once, 274 specifying the Sub-domain-id, BFR-id and BFR-Prefix of the sender. 275 This information may be useful for logging and debugging. 277 5.2.2. Sending Reports 279 BMLD Reports are IP packets sent over BIER by BMLD Listeners: 281 o Toward all BMLD Queriers (i.e., providing to the BIER layer the 282 BFR-ids of all BMLD Queriers). 284 o Without the IPv6 router alert option [RFC2711] in the hop-by-hop 285 extension header [RFC8200] (or the IPv4 router alert option 286 [RFC2113] for IPv4). 288 o With the IP destination address set to the 'all BMLD Queriers' 289 group address. 291 o With a deterministic IP source address. It is RECOMMENDED that 292 the address is a BFR-Prefix of the sender. 294 o With a TTL value large enough such that the packet can be received 295 by all BMLD Queriers, depending on the underlying BIER layer 296 (whether it decrements the IP TTL or not) and the size of the 297 network. The default value is 64. 299 o The extension type defined in Section 6 MUST be included once, 300 specifying the Sub-domain-id, BFR-id and BFR-Prefix of the sender. 301 This information is used to create the necessary forwarding state 302 for requested flows, and may be useful for logging and debugging. 304 Since the reports may contain a large number of records, they may 305 become larger than the maximum BIER payload that can be delivered to 306 all the BMLD Queriers. Hence an implementation will need to either 307 use a small default maximum size, allow configuration of a maximum 308 size, or rely on MTU discovery. MTU discovery may be done for a sub- 309 domain using BIER MTU Discovery [I-D.ietf-bier-mtud] or for the set 310 of BMLD Queriers using Path MTU Discovery 311 [I-D.ietf-bier-path-mtu-discovery]. 313 5.2.3. Receiving Queries 315 BMLD Queriers and Listeners MUST check the destination address of all 316 the IP packets that are received or forwarded over BIER whenever 317 their own BIER bit is set in the packet. If the destination address 318 is equal to the 'all BMLD Nodes' group address the packet is 319 processed as specified in this section. 321 If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) 322 message of type 'Multicast Listener Query' (resp. of type 'Membership 323 Query'), and include the extension defined in Section 6), it is 324 processed by the MLDv2 (resp. IGMPv3) instance run by the BMLD 325 Querier. It MUST be dropped otherwise. 327 During the MLDv2 processing, the packet MUST NOT be checked against 328 the MLDv2 consistency conditions (i.e., the presence of the router 329 alert option, the TTL equaling 1 and, for IPv6 only, the source 330 address being link-local). 332 5.2.4. Receiving Reports 334 BMLD Queriers MUST check the destination address of all the IP 335 packets that are received or forwarded over BIER whenever their own 336 BIER bit is set. If the destination address is equal to the 'all 337 BMLD Queriers' the packet is processed as specified in this section. 339 If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) 340 message of type 'Multicast Listener Report Message v2' (resp. 341 'Version 3 Membership Report'), and include the extension defined in 342 Section 6), it is processed by the MLDv2 (resp. IGMPv3) instance run 343 by the BMLD Querier. It MUST be dropped otherwise. 345 During the MLDv2 processing, the packet MUST NOT be checked against 346 the MLDv2 consistency conditions (i.e., the presence of the router 347 alert option, the TTL equaling 1 and, for IPv6 only, the source 348 address being link-local). 350 5.3. Packet Forwarding 352 BMLD Queriers configure the BIER Layer using the information obtained 353 using BMLD, and the extension Section 6), to track membership state, 354 including the Sub-domain-id, BFR-id and BFR-Prefix of the members. 356 More specifically, the membership state associated with each BMLD 357 Listener is provided to the BIER layer such that whenever a multicast 358 packet enters the BIER domain, if that packet matches the membership 359 information from a BMLD Listener, its Sub-domain-id and BFR-id is 360 added to the set of Sub-domains and BFR-ids the packet should be 361 forwarded to by the BIER-Layer. 363 6. BIER MLD/IGMP Extension Type 365 A new MLD/IGMP extension type adds BIER specific information to IGMP/ 366 MLD messages, using the extension scheme defined in 367 [I-D.ietf-pim-igmp-mld-extension]). The BIER specific information is 368 the same as the PTA tunnel identifier in [RFC8556] and is shown in 369 Figure 1. Note that, as defined in the MLD (resp. IGMP), existing 370 implementations are supposed to ignore this additional data. 372 0 1 2 3 373 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 374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 375 | Ext Type TBD | Sub-domain ID | BFR-ID | 376 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 377 | BFR-Prefix | 378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 379 ~ ~ 380 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 381 | BFR-Prefix | 382 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 384 Figure 1: MLD/IGMP Extension Type for BIER 386 o Ext Type: Assigned by IANA, identifying this BIER extension. 388 o Sub-domain-id: A single octet containing a BIER sub-domain-id (see 389 [[RFC8279]]). This indicates the BIER sub-domain of the router 390 originating the message. 392 o BFR-id: A two-octet field containing the BFR-id, in the specified 393 sub-domain, of the router originating the message. 395 o BFR-prefix: The BFR-prefix (see [[RFC8279]]) of the router that is 396 originating the message. The BFR-prefix will either be a /32 IPv4 397 address or a /128 IPv6 address. 399 This extension type MUST be present once in all IGMP and MLD messages 400 when originated with a BIER header to identify the BIER originator. 401 It is expected that any BIER router originating IGMP/MLD messages in 402 BIER supports this specification. Any IGMP/MLD messages that do not 403 contain the extension Section 6) MUST be dropped by the decapsulating 404 router with no processing other than potentially logging or 405 debugging. It is expected that any BIER router processing IGMP/MLD 406 messages with BIER encapsulation supports this specification. If 407 they do not, they will likely ignore the report since they cannot 408 identify the BIER receiver, but they may be able to derive some of 409 the receiver information from the BIER header. 411 7. Security Considerations 413 BMLD makes use of IGMPv3/MLDv2 messages transported over BIER in 414 order to configure the BIER Layer of BFIRs. BMLD messages MUST be 415 secured, either by relying on physical or link-layer security, by 416 securing the IP packets (e.g., using IPSec [RFC4301]), or by relying 417 on security features provided by the BIER Layer. 419 By spoofing the IP source address, an attacker could become the IGMP/ 420 MLD querier. Once one becomes the querier, several attack vectors 421 are possible. This is similar to regular IGMP/MLD without BIER 422 encapsulation. 424 An attacker could send reports with the BIER IGMP/MLD extension 425 Section 6) specifying a BFR-ID and BIER prefix identifying another 426 router. This would allow the attacker to: 428 o Redirect undesired traffic toward the spoofed router by 429 subscribing to undesired multicast traffic. 431 o Prevent desired multicast traffic from reaching the spoofed router 432 by unsubscribing to some desired multicast traffic. 434 8. IANA Considerations 436 This document requests that IANA assigns a new type called BIER 437 information in the registry defined in 438 [I-D.ietf-pim-igmp-mld-extension]. 440 9. Acknowledgements 442 Comments concerning this document are very welcome. 444 10. References 446 10.1. Normative References 448 [I-D.ietf-pim-igmp-mld-extension] 449 Sivakumar, M., Venaas, S., Zhang, Z., and H. Asaeda, 450 "IGMPv3/MLDv2 Message Extension", draft-ietf-pim-igmp-mld- 451 extension-04 (work in progress), January 2021. 453 [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, 454 DOI 10.17487/RFC2113, February 1997, 455 . 457 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 458 Requirement Levels", BCP 14, RFC 2119, 459 DOI 10.17487/RFC2119, March 1997, 460 . 462 [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. 463 Thyagarajan, "Internet Group Management Protocol, Version 464 3", RFC 3376, DOI 10.17487/RFC3376, October 2002, 465 . 467 [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener 468 Discovery Version 2 (MLDv2) for IPv6", RFC 3810, 469 DOI 10.17487/RFC3810, June 2004, 470 . 472 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 473 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 474 May 2017, . 476 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 477 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 478 Explicit Replication (BIER)", RFC 8279, 479 DOI 10.17487/RFC8279, November 2017, 480 . 482 10.2. Informative References 484 [I-D.ietf-bier-mtud] 485 Venaas, S., Wijnands, I., Ginsberg, L., and M. Sivakumar, 486 "BIER MTU Discovery", draft-ietf-bier-mtud-00 (work in 487 progress), February 2019. 489 [I-D.ietf-bier-path-mtu-discovery] 490 Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum 491 Transmission Unit Discovery (PMTUD) for Bit Index Explicit 492 Replication (BIER) Layer", draft-ietf-bier-path-mtu- 493 discovery-09 (work in progress), November 2020. 495 [RFC2711] Partridge, C. and A. Jackson, "IPv6 Router Alert Option", 496 RFC 2711, DOI 10.17487/RFC2711, October 1999, 497 . 499 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 500 Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306, 501 August 2002, . 503 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 504 Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, 505 December 2005, . 507 [RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, 508 "Bidirectional Protocol Independent Multicast (BIDIR- 509 PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007, 510 . 512 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, 513 L., Sridhar, T., Bursell, M., and C. Wright, "Virtual 514 eXtensible Local Area Network (VXLAN): A Framework for 515 Overlaying Virtualized Layer 2 Networks over Layer 3 516 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, 517 . 519 [RFC7365] Lasserre, M., Balus, F., Morin, T., Bitar, N., and Y. 520 Rekhter, "Framework for Data Center (DC) Network 521 Virtualization", RFC 7365, DOI 10.17487/RFC7365, October 522 2014, . 524 [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., 525 Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent 526 Multicast - Sparse Mode (PIM-SM): Protocol Specification 527 (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 528 2016, . 530 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 531 (IPv6) Specification", STD 86, RFC 8200, 532 DOI 10.17487/RFC8200, July 2017, 533 . 535 [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., 536 and A. Dolganow, "Multicast VPN Using Bit Index Explicit 537 Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April 538 2019, . 540 Appendix A. BIER Use Case in Data Centers 542 In current data center virtualization, virtual eXtensible Local Area 543 Network (VXLAN) [RFC7348] is a kind of network virtualization overlay 544 technology which is overlaid between NVEs and is intended for multi- 545 tenancy data center networks, whose reference architecture is 546 illustrated as per Figure 2. 548 +--------+ +--------+ 549 | Tenant +--+ +----| Tenant | 550 | System | | (') | System | 551 +--------+ | ................ ( ) +--------+ 552 | +-+--+ . . +--+-+ (_) 553 | | NVE|--. .--| NVE| | 554 +--| | . . | |---+ 555 +-+--+ . . +--+-+ 556 / . . 557 / . L3 Overlay . +--+-++--------+ 558 +--------+ / . Network . | NVE|| Tenant | 559 | Tenant +--+ . .--| || System | 560 | System | . . +--+-++--------+ 561 +--------+ ................ 563 Figure 2: NVO3 Architecture 565 And there are two kinds of most common methods about how to forward 566 BUM packets in this virtualization overlay network. One is using PIM 567 as underlay multicast routing protocol to build explicit multicast 568 distribution tree, such as PIM-SM [RFC7761] or PIM-BIDIR [RFC5015] 569 multicast routing protocol. Then, when BUM packets arrive at NVE, it 570 requires NVE to have a mapping between the VXLAN Network Identifier 571 and the IP multicast group. According to the mapping, NVE can 572 encapsulate BUM packets in a multicast packet which group address is 573 the mapping IP multicast group address and steer them through 574 explicit multicast distribution tree to the destination NVEs. This 575 method has two serious drawbacks. It need the underlay network 576 supports complicated multicast routing protocol and maintains 577 multicast related per-flow state in every transit nodes. What is 578 more, how to configure the ratio of the mapping between VNI and IP 579 multicast group is also an issue. If the ratio is 1:1, there should 580 be 16M multicast groups in the underlay network at maximum to map to 581 the 16M VNIs, which is really a significant challenge for the data 582 center devices. If the ratio is n:1, it would result in inefficiency 583 bandwidth utilization which is not optimal in data center networks. 585 The other method is using ingress replication to require each NVE to 586 create a mapping between the VXLAN Network Identifier and the remote 587 addresses of NVEs which belong to the same virtual network. When NVE 588 receives BUM traffic from the attached tenant, NVE can encapsulate 589 these BUM packets in unicast packets and replicate them and tunnel 590 them to different remote NVEs respectively. Although this method can 591 eliminate the burden of running multicast protocol in the underlay 592 network, it has a significant disadvantage: large waste of bandwidth, 593 especially in big-sized data center where there are many receivers. 595 BIER [RFC8279] is an architecture that provides optimal multicast 596 forwarding through a "BIER domain" without requiring intermediate 597 routers to maintain any multicast related per-flow state. BIER also 598 does not require any explicit tree-building protocol for its 599 operation. A multicast data packet enters a BIER domain at a "Bit- 600 Forwarding Ingress Router" (BFIR), and leaves the BIER domain at one 601 or more "Bit-Forwarding Egress Routers" (BFERs). The BFIR router 602 adds a BIER header to the packet. The BIER header contains a bit- 603 string in which each bit represents exactly one BFER to forward the 604 packet to. The set of BFERs to which the multicast packet needs to 605 be forwarded is expressed by setting the bits that correspond to 606 those routers in the BIER header. Specifically, for BIER-TE, the 607 BIER header may also contain a bit-string in which each bit indicates 608 the link the flow passes through. 610 The following sub-sections try to propose how to take full advantage 611 of overlay multicast protocol to carry virtual network information, 612 and create a mapping between the virtual network information and the 613 bit-string to implement BUM services in data centers. 615 A.1. Convention and Terminology 617 The terms about NVO3 are defined in [RFC7365]. The most common 618 terminology used in this appendix is listed below. 620 NVE: Network Virtualization Edge, which is the entity that 621 implements the overlay functionality. An NVE resides at the 622 boundary between a Tenant System and the overlay network. 624 VXLAN: Virtual eXtensible Local Area Network 626 VNI: VXLAN Network Identifier 628 Virtal Network Context Identifier: Field in an overlay encapsulation 629 header that identifies the specific VN the packet belongs to. 631 A.2. BIER in data centers 633 This section tries to describe how to use BIER as an optimal scheme 634 to forward the broadcast, unknown and multicast (BUM) packets when 635 they arrive at the ingress NVE in data centers. 637 The principle of using BIER to forward BUM traffic is that: firstly, 638 it requires each ingress NVE to have a mapping between the Virtual 639 Network Context Identifier and the bit-string in which each bit 640 represents exactly one egress NVE to forward the packet to. And 641 then, when receiving the BUM traffic, the BFIR/Ingree NVE maps the 642 receiving BUM traffic to the mapping bit-string, encapsulates the 643 BIER header, and forwards the encapsulated BUM traffic into the BIER 644 domain to the other BFERs/Egress NVEs indicated by the bit-string. 646 Furthermore, as for how each ingress NVE knows the other egress NVEs 647 that belong to the same virtual network and creates the mapping is 648 the main issue discussed below. Basically, BIER Multicast Listener 649 Discovery is an overlay solution to support ingress routers to keep 650 per-egress-router state to construct the BIER bit-string associated 651 with IP multicast packets entering the BIER domain. The following 652 section tries to extend BIER MLD to carry virtual network 653 information(such as Virtual Network Context identifier), and 654 advertise them between NVEs. When each NVE receive these 655 information, they create the mapping between the virtual network 656 information and the bit-string representing the other NVEs belonged 657 to the same virtual network. 659 A.3. A BIER MLD solution for Virtual Network information 661 The BIER MLD solution allows having multiple MLD instances by having 662 unique pairs of BMLD Nodes and BMLD Querier addresses for each 663 instance. Assume for now that we have a unique instance per VNI and 664 that all BMLD routers are using the same mapping between VNIs and 665 BMLD address pairs. Also for each VNI there is a multicast group 666 used for encapsulation of BUM traffic over BIER. This group may 667 potentially be shared by some or all of the VNIs. 669 Each NVE acquires the Virtual Network information, and advertises 670 this Virtual Network information to other NVEs through the MLD 671 messages. For a given VNI it sends BMLD reports to the BMLD nodes 672 address used for that VNI, for the group used for delivering BUM 673 traffic for that VNI. This allows all NVE routers to know which 674 other NVE routers have interest in BUM traffic for a particular VNI. 675 If one attached virtual network is migrated, the NVE will withdraw 676 the Virtual Network information by sending an unsolicited BMLD 677 report. Note that NVEs also respond to periodic queries to BMLD 678 Nodes addresses corresponding to VNIs for which they have interest. 680 When ingress NVE receives the Virtual Network information 681 advertisement message, it builds a mapping between the receiving 682 Virtual Network Context Identifier in this message and the bit-string 683 in which each bit represents one egress NVE who sends the same 684 Virtual Network information. Subsequently, once this ingress NVE 685 receives some other MLD advertisements which include the same Virtual 686 Network information from some other NVEs , it updates the bit-string 687 in the mapping and adds the corresponding sending NVE to the updated 688 bit-string. Once the ingress NVE removes one virtual network, it 689 will delete the mapping corresponding to this virtual network as well 690 as send withdraw message to other NVEs. 692 After finishing the above interaction of MLD messages, each ingress 693 NVE knows where the other egress NVEs are in the same virtual 694 network. When receiving BUM traffic from the attached virtual 695 network, each ingress NVE knows exactly how to encapsulate this 696 traffic and where to forward them to. 698 This can be used in both IPv4 network and IPv6 network. In IPv4, 699 IGMP protocol does the similar extension for carrying Virtual Network 700 information TLV in Version 2 membership report message. 702 Note that it is possible to have multiple VNIs map to the same pair 703 of BMLD addresses. Provided VNIs that map to the same BMLD address 704 uses different multicast groups for encapsulation, this is not a 705 problem, because each instance is tracking interest for each 706 multicast group separately. If multiple VNIs map to the same pair 707 and the multicast group used is not unique, some NVEs may receive BUM 708 traffic for which they are not interested. An NVE would drop packets 709 for an unknown VNI, but it means wasting some bandwidth and 710 processing. This is similar to the non-BIER case where there is not 711 a unique multicast group for encapsulation. The improvement offered 712 by using BMLD is by using multiple instance, hence reducing the 713 problems caused by using the same transport group for multiple VNIs. 715 Authors' Addresses 717 Pierre Pfister 718 Cisco Systems 719 Paris 720 France 722 Email: pierre.pfister@darou.fr 724 IJsbrand Wijnands 725 Cisco Systems 726 De Kleetlaan 6a 727 Diegem 1831 728 Belgium 730 Email: ice@cisco.com 731 Stig Venaas 732 Cisco Systems 733 Tasman Drive 734 San Jose, CA 95134 735 USA 737 Email: stig@cisco.com 739 Cui(Linda) Wang 741 Email: lindawangjoy@gmail.com 743 Zheng(Sandy) Zhang 744 ZTE Corporation 745 No.50 Software Avenue, Yuhuatai District 746 Nanjing, CA 747 China 749 Email: zhang.zheng@zte.com.cn 751 Markus Stenberg 752 Helsinki 00930 753 Finland 755 Email: markus.stenberg@iki.fi