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.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/