| < draft-ietf-bier-mld-02.txt | draft-ietf-bier-mld-03.txt > | |||
|---|---|---|---|---|
| Network Working Group P. Pfister | Network Working Group P. Pfister | |||
| Internet-Draft IJ. Wijnands | Internet-Draft IJ. Wijnands | |||
| Intended status: Standards Track S. Venaas | Intended status: Standards Track S. Venaas | |||
| Expires: January 9, 2020 Cisco Systems | Expires: May 7, 2020 Cisco Systems | |||
| C. Wang | C. Wang | |||
| Z. Zhang | Z. Zhang | |||
| ZTE Corporation | ZTE Corporation | |||
| M. Stenberg | M. Stenberg | |||
| July 8, 2019 | November 4, 2019 | |||
| BIER Ingress Multicast Flow Overlay using Multicast Listener Discovery | BIER Ingress Multicast Flow Overlay using Multicast Listener Discovery | |||
| Protocols | Protocols | |||
| draft-ietf-bier-mld-02 | draft-ietf-bier-mld-03 | |||
| Abstract | Abstract | |||
| This document specifies the ingress part of a multicast flow overlay | This document specifies the ingress part of a multicast flow overlay | |||
| for BIER networks. Using existing multicast listener discovery | for BIER networks. Using existing multicast listener discovery | |||
| protocols, it enables multicast membership information sharing from | protocols, it enables multicast membership information sharing from | |||
| egress routers, acting as listeners, toward ingress routers, acting | egress routers, acting as listeners, toward ingress routers, acting | |||
| as queriers. Ingress routers keep per-egress-router state, used to | as queriers. Ingress routers keep per-egress-router state, used to | |||
| construct the BIER bit mask associated with IP multicast packets | construct the BIER bit mask associated with IP multicast packets | |||
| entering the BIER domain. | entering the BIER domain. | |||
| skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 9, 2020. | This Internet-Draft will expire on May 7, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Applicability Statement . . . . . . . . . . . . . . . . . . . 4 | 4. Applicability Statement . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. Querier and Listener Specifications . . . . . . . . . . . . . 4 | 5. Querier and Listener Specifications . . . . . . . . . . . . . 4 | |||
| 5.1. Configuration Parameters . . . . . . . . . . . . . . . . 5 | 5.1. Configuration Parameters . . . . . . . . . . . . . . . . 5 | |||
| 5.2. MLDv2 instances. . . . . . . . . . . . . . . . . . . . . 5 | 5.2. MLDv2 instances. . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.2.1. Sending Queries . . . . . . . . . . . . . . . . . . . 6 | 5.2.1. Sending Queries . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.2.2. Sending Reports . . . . . . . . . . . . . . . . . . . 6 | 5.2.2. Sending Reports . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.2.3. Receiving Queries . . . . . . . . . . . . . . . . . . 7 | 5.2.3. Receiving Queries . . . . . . . . . . . . . . . . . . 7 | |||
| 5.2.4. Receiving Reports . . . . . . . . . . . . . . . . . . 7 | 5.2.4. Receiving Reports . . . . . . . . . . . . . . . . . . 8 | |||
| 5.3. Packet Forwarding . . . . . . . . . . . . . . . . . . . . 8 | 5.3. Packet Forwarding . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 9 | 9.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
| Appendix A. BIER Use Case in Data Centers . . . . . . . . . . . 10 | Appendix A. BIER Use Case in Data Centers . . . . . . . . . . . 11 | |||
| A.1. Convention and Terminology . . . . . . . . . . . . . . . 12 | A.1. Convention and Terminology . . . . . . . . . . . . . . . 12 | |||
| A.2. BIER in data centers . . . . . . . . . . . . . . . . . . 12 | A.2. BIER in data centers . . . . . . . . . . . . . . . . . . 13 | |||
| A.3. A BIER MLD solution for Virtual Network information . . . 13 | A.3. A BIER MLD solution for Virtual Network information . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 1. Introduction | 1. Introduction | |||
| The Bit Index Explicit Replication (BIER - [RFC8279]) forwarding | The Bit Index Explicit Replication (BIER - [RFC8279]) forwarding | |||
| technique enables IP multicast transport across a BIER domain. When | technique enables IP multicast transport across a BIER domain. When | |||
| receiving or originating a packet, ingress routers have to construct | receiving or originating a packet, ingress routers have to construct | |||
| a bit mask indicating which BIER egress routers located within the | a bit mask indicating which BIER egress routers located within the | |||
| same BIER domain will receive the packet. A stateless approach would | same BIER domain will receive the packet. A stateless approach would | |||
| skipping to change at page 3, line 17 ¶ | skipping to change at page 3, line 17 ¶ | |||
| This document specifies how to use the Multicast Listener Discovery | This document specifies how to use the Multicast Listener Discovery | |||
| protocol version 2 [RFC3810] (resp. the Internet Group Management | protocol version 2 [RFC3810] (resp. the Internet Group Management | |||
| protocol version 3 [RFC3376]) as the ingress part of a BIER multicast | protocol version 3 [RFC3376]) as the ingress part of a BIER multicast | |||
| flow overlay (BIER layering is described in [RFC8279]) for IPv6 | flow overlay (BIER layering is described in [RFC8279]) for IPv6 | |||
| (resp. IPv4). It enables multicast membership information sharing | (resp. IPv4). It enables multicast membership information sharing | |||
| from egress routers, acting as listeners, toward ingress routers, | from egress routers, acting as listeners, toward ingress routers, | |||
| acting as queriers. Ingress routers keep per-egress-router state, | acting as queriers. Ingress routers keep per-egress-router state, | |||
| used to construct the BIER bit mask associated with IP multicast | used to construct the BIER bit mask associated with IP multicast | |||
| packets entering the BIER domain. | packets entering the BIER domain. | |||
| This document makes use of an extension to MLDv2 and IGMPv3 specified | ||||
| in [I-D.venaas-pim-igmp-mld-extension] that allows for providing BIER | ||||
| specific information about the message originator. | ||||
| This specification is applicable to both IP version 4 and version 6. | This specification is applicable to both IP version 4 and version 6. | |||
| It therefore specifies two separate mechanisms operating | It therefore specifies two separate mechanisms operating | |||
| independently. For the sake of simplicity, the rest of this document | independently. For the sake of simplicity, the rest of this document | |||
| uses IPv6 terminology. It can be applied to IPv4 by replacing | uses IPv6 terminology. It can be applied to IPv4 by replacing | |||
| 'MLDv2' with 'IGMPv3', and following specific requirements when | 'MLDv2' with 'IGMPv3', and following specific requirements when | |||
| explicitly stated. | explicitly stated. | |||
| 2. Terminology | 2. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| skipping to change at page 6, line 33 ¶ | skipping to change at page 6, line 41 ¶ | |||
| o With the IP destination address set to the 'all BMLD Nodes' group | o With the IP destination address set to the 'all BMLD Nodes' group | |||
| address. | address. | |||
| o With the IP source address set to the BFR-Prefix of the sender. | o With the IP source address set to the BFR-Prefix of the sender. | |||
| o With a TTL value large enough such that the packet can be received | o With a TTL value large enough such that the packet can be received | |||
| by all BMLD Nodes, depending on the underlying BIER layer (whether | by all BMLD Nodes, depending on the underlying BIER layer (whether | |||
| it decrements the IP TTL or not) and the size of the network. The | it decrements the IP TTL or not) and the size of the network. The | |||
| default value is 64. | default value is 64. | |||
| o The extension defined in [I-D.venaas-pim-igmp-mld-extension] MUST | ||||
| be included, specifying the Sub-domain-id, BFR-id and BFR-Prefix | ||||
| of the sender. This information may be useful for logging and | ||||
| debugging. | ||||
| 5.2.2. Sending Reports | 5.2.2. Sending Reports | |||
| BMLD Reports are IP packets sent over BIER by BMLD Listeners: | BMLD Reports are IP packets sent over BIER by BMLD Listeners: | |||
| o Toward all BMLD Queriers (i.e., providing to the BIER layer the | o Toward all BMLD Queriers (i.e., providing to the BIER layer the | |||
| BFR-ids of all BMLD Queriers). | BFR-ids of all BMLD Queriers). | |||
| o Without the IPv6 router alert option [RFC2711] in the hop-by-hop | o Without the IPv6 router alert option [RFC2711] in the hop-by-hop | |||
| extension header [RFC8200] (or the IPv4 router alert option | extension header [RFC8200] (or the IPv4 router alert option | |||
| [RFC2113] for IPv4). | [RFC2113] for IPv4). | |||
| skipping to change at page 7, line 5 ¶ | skipping to change at page 7, line 19 ¶ | |||
| o With the IP destination address set to the 'all BMLD Queriers' | o With the IP destination address set to the 'all BMLD Queriers' | |||
| group address. | group address. | |||
| o With the IP source address set to the BFR-Prefix of the sender. | o With the IP source address set to the BFR-Prefix of the sender. | |||
| o With a TTL value large enough such that the packet can be received | o With a TTL value large enough such that the packet can be received | |||
| by all BMLD Queriers, depending on the underlying BIER layer | by all BMLD Queriers, depending on the underlying BIER layer | |||
| (whether it decrements the IP TTL or not) and the size of the | (whether it decrements the IP TTL or not) and the size of the | |||
| network. The default value is 64. | network. The default value is 64. | |||
| o The extension defined in [I-D.venaas-pim-igmp-mld-extension] MUST | ||||
| be included, specifying the Sub-domain-id, BFR-id and BFR-Prefix | ||||
| of the sender. This information is used to create the necessary | ||||
| forwarding state for requested flows, and may be useful for | ||||
| logging and debugging. | ||||
| Since the reports may contain a large number of records, they may | Since the reports may contain a large number of records, they may | |||
| become larger than the maximum BIER payload that can be delivered to | become larger than the maximum BIER payload that can be delivered to | |||
| all the BMLD Queriers. Hence an implementation will need to either | all the BMLD Queriers. Hence an implementation will need to either | |||
| use a small default maximum size, allow configuration of a maximum | use a small default maximum size, allow configuration of a maximum | |||
| size, or rely on MTU discovery. MTU discovery may be done for a sub- | size, or rely on MTU discovery. MTU discovery may be done for a sub- | |||
| domain using BIER MTU Discovery [I-D.venaas-bier-mtud]) or for the | domain using BIER MTU Discovery [I-D.venaas-bier-mtud] or for the set | |||
| set of BMLD Queriers using Path MTU Discovery | of BMLD Queriers using Path MTU Discovery | |||
| [I-D.ietf-bier-path-mtu-discovery]). | [I-D.ietf-bier-path-mtu-discovery]. | |||
| 5.2.3. Receiving Queries | 5.2.3. Receiving Queries | |||
| BMLD Queriers and Listeners MUST check the destination address of all | BMLD Queriers and Listeners MUST check the destination address of all | |||
| the IP packets that are received or forwarded over BIER whenever | the IP packets that are received or forwarded over BIER whenever | |||
| their own BIER bit is set in the packet. If the destination address | their own BIER bit is set in the packet. If the destination address | |||
| is equal to the 'all BMLD Nodes' group address the packet is | is equal to the 'all BMLD Nodes' group address the packet is | |||
| processed as specified in this section. | processed as specified in this section. | |||
| If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) | If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) | |||
| message of type 'Multicast Listener Query' (resp. of type 'Membership | message of type 'Multicast Listener Query' (resp. of type 'Membership | |||
| Query'), it is processed by the MLDv2 (resp. IGMPv3) instance run by | Query'), and include the extension defined in | |||
| the BMLD Querier. It MUST be dropped otherwise. | [I-D.venaas-pim-igmp-mld-extension]), it is processed by the MLDv2 | |||
| (resp. IGMPv3) instance run by the BMLD Querier. It MUST be dropped | ||||
| otherwise. | ||||
| During the MLDv2 processing, the packet MUST NOT be checked against | During the MLDv2 processing, the packet MUST NOT be checked against | |||
| the MLDv2 consistency conditions (i.e., the presence of the router | the MLDv2 consistency conditions (i.e., the presence of the router | |||
| alert option, the TTL equaling 1 and, for IPv6 only, the source | alert option, the TTL equaling 1 and, for IPv6 only, the source | |||
| address being link-local). | address being link-local). | |||
| 5.2.4. Receiving Reports | 5.2.4. Receiving Reports | |||
| BMLD Queriers MUST check the destination address of all the IP | BMLD Queriers MUST check the destination address of all the IP | |||
| packets that are received or forwarded over BIER whenever their own | packets that are received or forwarded over BIER whenever their own | |||
| BIER bit is set. If the destination address is equal to the 'all | BIER bit is set. If the destination address is equal to the 'all | |||
| BMLD Queriers' the packet is processed as specified in this section. | BMLD Queriers' the packet is processed as specified in this section. | |||
| If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) | If the IPv6 (resp. IPv4) packet contains an ICMPv6 (resp. IGMP) | |||
| message of type 'Multicast Listener Report Message v2' (resp. | message of type 'Multicast Listener Report Message v2' (resp. | |||
| 'Version 3 Membership Report'), it is processed by the MLDv2 (resp. | 'Version 3 Membership Report'), and include the extension defined in | |||
| IGMPv3) instance run by the BMLD Querier. It MUST be dropped | [I-D.venaas-pim-igmp-mld-extension]), it is processed by the MLDv2 | |||
| (resp. IGMPv3) instance run by the BMLD Querier. It MUST be dropped | ||||
| otherwise. | otherwise. | |||
| During the MLDv2 processing, the packet MUST NOT be checked against | During the MLDv2 processing, the packet MUST NOT be checked against | |||
| the MLDv2 consistency conditions (i.e., the presence of the router | the MLDv2 consistency conditions (i.e., the presence of the router | |||
| alert option, the TTL equaling 1 and, for IPv6 only, the source | alert option, the TTL equaling 1 and, for IPv6 only, the source | |||
| address being link-local). | address being link-local). | |||
| 5.3. Packet Forwarding | 5.3. Packet Forwarding | |||
| BMLD Queriers configure the BIER Layer using the information obtained | BMLD Queriers configure the BIER Layer using the information obtained | |||
| using BMLD, which associates BMLD Listeners (identified by their BFR- | using BMLD, and the extension [I-D.venaas-pim-igmp-mld-extension]), | |||
| Prefixes) with their respective MLDv2 membership state. | to track membership state, including the Sub-domain-id, BFR-id and | |||
| BFR-Prefix of the members. | ||||
| More specifically, the MLDv2 state associated with each BMLD Listener | More specifically, the membership state associated with each BMLD | |||
| is provided to the BIER layer such that whenever a multicast packet | Listener is provided to the BIER layer such that whenever a multicast | |||
| enters the BIER domain, if that packet matches the membership | packet enters the BIER domain, if that packet matches the membership | |||
| information from a BMLD Listener, its BFR-id is added to the set of | information from a BMLD Listener, its Sub-domain-id and BFR-id is | |||
| BFR-ids the packet should be forwarded to by the BIER-Layer. | added to the set of Sub-domains and BFR-ids the packet should be | |||
| forwarded to by the BIER-Layer. | ||||
| 6. Security Considerations | 6. Security Considerations | |||
| BMLD makes use of IP MLDv2 messages transported over BIER in order to | BMLD makes use of IP MLDv2 messages transported over BIER in order to | |||
| configure the BIER Layer of BFIRs. BMLD messages MUST be secured, | configure the BIER Layer of BFIRs. BMLD messages MUST be secured, | |||
| either by relying on physical or link-layer security, by securing the | either by relying on physical or link-layer security, by securing the | |||
| IP packets (e.g., using IPSec [RFC4301]), or by relying on security | IP packets (e.g., using IPSec [RFC4301]), or by relying on security | |||
| features provided by the BIER Layer. | features provided by the BIER Layer. | |||
| Whenever an attacker would be able to spoof the identity of a router, | Whenever an attacker would be able to spoof the identity of a router, | |||
| skipping to change at page 9, line 10 ¶ | skipping to change at page 9, line 31 ¶ | |||
| Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum | Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum | |||
| Transmission Unit Discovery (PMTUD) for Bit Index Explicit | Transmission Unit Discovery (PMTUD) for Bit Index Explicit | |||
| Replication (BIER) Layer", draft-ietf-bier-path-mtu- | Replication (BIER) Layer", draft-ietf-bier-path-mtu- | |||
| discovery-06 (work in progress), June 2019. | discovery-06 (work in progress), June 2019. | |||
| [I-D.venaas-bier-mtud] | [I-D.venaas-bier-mtud] | |||
| Venaas, S., Wijnands, I., Ginsberg, L., and M. Sivakumar, | Venaas, S., Wijnands, I., Ginsberg, L., and M. Sivakumar, | |||
| "BIER MTU Discovery", draft-venaas-bier-mtud-02 (work in | "BIER MTU Discovery", draft-venaas-bier-mtud-02 (work in | |||
| progress), October 2018. | progress), October 2018. | |||
| [I-D.venaas-pim-igmp-mld-extension] | ||||
| Sivakumar, M., Venaas, S., and Z. Zhang, "IGMPv3/MLDv2 | ||||
| Message Extension", draft-venaas-pim-igmp-mld-extension-00 | ||||
| (work in progress), November 2019. | ||||
| [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, | [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, | |||
| DOI 10.17487/RFC2113, February 1997, | DOI 10.17487/RFC2113, February 1997, | |||
| <https://www.rfc-editor.org/info/rfc2113>. | <https://www.rfc-editor.org/info/rfc2113>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. | [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. | |||
| End of changes. 18 change blocks. | ||||
| 28 lines changed or deleted | 53 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||