rfc-4604

Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast

H. Holbrook, B. Cain, B. Haberman
date2006-08 streamIETF areaint wgmagma statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc4604 doi10.17487/RFC4604
The Internet Group Management Protocol Version 3 (IGMPv3) and the Multicast Listener Discovery Protocol Version 2 (MLDv2) are protocols that allow a host to inform its neighboring routers of its desire to receive IPv4 and IPv6 multicast transmissions, respectively. Source-specific multicast (SSM) is a form of multicast in which a receiver is required to specify both the network-layer address of the source and the multicast destination address in order to receive the multicast transmission. This document defines the notion of an "SSM-aware" router and host, and clarifies and (in some cases) modifies the behavior of IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-specific multicast. This document updates the IGMPv3 and MLDv2 specifications. [STANDARDS-TRACK]

updates

Extracted elements (22)

design-rationale §2.2.6

Although current IGMPv3/MLDv2 routers have no reason to send a Group-Specific Query for an SSM address, SSM-aware hosts should still respond correctly to such queries because the semantics are well-defined and future implementations may have reason to send them ('be liberal in what you accept').

multicast

design-rationale §2.2.1

An SSM-aware host is prohibited from allowing older-version report suppression for SSM addresses because suppression would allow an attacker to send a spoofed older-version report and deny SSM service to all other hosts on the link.

multicast, security

design-rationale §2.2.2

EXCLUDE mode (MODE_IS_EXCLUDE, CHANGE_TO_EXCLUDE_MODE) is prohibited for SSM addresses because EXCLUDE semantics require knowledge of all sources, which conflicts with the SSM model where receivers must explicitly specify sources. An SSM-aware router ignores such records to prevent non-source-specific semantics from being applied to SSM addresses.

multicast

interoperability-note §2.2.3

A router compliant with this document will never generate an IGMPv1, IGMPv2, or MLDv1 query for an address in the SSM range. If such a query is observed, it indicates either a non-SSM-aware router or an inconsistent SSM range configuration between devices on the link.

multicast

interoperability-note §2.2.7

An SSM-aware host MUST respond to SFGMP Group-and-Source-Specific Queries for SSM addresses per normal IGMPv3/MLDv2 rules; a host must be able to process queries listing multiple sources per group. The use of an SSM address does not modify this behavior.

multicast

interoperability-note §2.2.3

If a host receives an IGMPv1 Query or an IGMPv2/MLDv1 General Query, it reverts to older-version compatibility mode, stops reporting source-specific subscriptions, and reports interest in SSM addresses without source qualification — causing SSM semantics to break. This occurs only if the router is not SSM-aware or if host and router disagree on the SSM address range.

multicast

interoperability-note §2

SSM can be used by any host supporting source filtering APIs and the appropriate SFGMP. The SFGMP modifications defined in this document make SSM work better on SSM-aware hosts but are not strict prerequisites for using SSM.

multicast

normative-requirement §2 MUST

A host or router GMP module SHOULD have a configuration option to set the SSM address range(s). If this option exists, it MUST default to the IANA-allocated SSM range (232/8 for IPv4, FF3x::/96 for IPv6). The mechanism MUST at least allow for manual configuration.

multicast

normative-requirement §2.2.5 SHOULD

A host SHOULD log an error if it receives an IGMPv2 or MLDv1 Group Specific Query for an address in a configured source-specific range (MODIFICATION), as this indicates the querying router may not be SSM-compliant or uses a different SSM range.

multicast

normative-requirement §3.5 SHOULD NOT

A router SHOULD ignore all IGMPv1/v2 and MLDv1 reports for addresses in the source-specific range and specifically SHOULD NOT use them to establish IP forwarding state (MODIFICATION to IGMPv3/MLDv2).

multicast

normative-requirement §3.7 SHOULD

A router SHOULD ignore all IGMPv2 Leave and MLDv1 Done messages in the source-specific address range and MAY log an error (MODIFICATION). Such messages may originate from non-SSM-aware hosts.

multicast

normative-requirement §3.1 MUST

A router SHOULD ignore group records of type MODE_IS_EXCLUDE or CHANGE_TO_EXCLUDE_MODE if they refer to an SSM destination address (MODIFICATION), and MUST process any other group records within the same report.

multicast

normative-requirement §2.2.1 MUST NOT

An SSM-aware host MUST NOT allow its IGMPv3 or MLDv2 report to be suppressed by an older-version report when operating on an SSM address (MODIFICATION). Suppression in this scenario would allow an attacker to deny SSM service to other hosts on the link.

multicast, security

normative-requirement §2.2.6 MUST

An SSM-aware host receiving an SFGMP Group-Specific Query for an SSM address MUST respond with a report if the group matches any subscribed source-specific channel, as specified in IGMPv3/MLDv2.

multicast

normative-requirement §2.2.2 SHOULD NOT

An SSM-aware host SHOULD NOT send MODE_IS_EXCLUDE Current-State Records or CHANGE_TO_EXCLUDE_MODE Filter-Mode-Change Records for an SSM address (MODIFICATION). EXCLUDE mode semantics do not apply to SSM addresses.

multicast

normative-requirement §2.1 SHOULD

If the host IP module of an SSM-aware host receives a non-source-specific request to receive multicast traffic sent to an SSM destination address, it SHOULD return an error to the application (MODIFICATION to IGMPv3/MLDv2).

multicast

protocol-element §2

An 'SSM-aware' host is one that knows the SSM address range and is capable of applying SSM semantics to it. SSM requires a receiver to specify both source address and multicast destination address to receive traffic.

multicast

protocol-element §3

An 'SSM-aware' router is one that knows the SSM address range and is capable of applying SSM semantics as described in this document. An SSM-aware router MAY support configuring SSM semantics for addresses outside the IANA-allocated range, but MUST default to the IANA-allocated range.

multicast

protocol-element §3.4

SFGMP Group-and-Source-Specific Queries are used within the SSM address range when a router receives a BLOCK_OLD_SOURCES Record for one or more source-specific groups, to determine if remaining hosts have interest in a given (S,G) pair.

multicast

protocol-element §2.2.2

Valid Group Record types for SSM destination addresses in host reports are: MODE_IS_INCLUDE (Current-State), ALLOW_NEW_SOURCES (State-Change), and BLOCK_OLD_SOURCES (State-Change). CHANGE_TO_INCLUDE_MODE may also appear in specific configuration-change scenarios.

multicast

security-consideration §4

A router must not accept non-source-specific reception requests (e.g., IGMPv1/v2 or MLDv1 reports) for SSM destination addresses. If a router were to revert to compatibility mode upon receiving such a report, an attacker could exploit this to deny SSM service to all IGMPv3-capable hosts on the same link.

multicast, security

security-consideration §4

The protocol modifications in this document are not known to create security concerns beyond those already present in IGMPv3 or MLDv2 with ASM-style multicast. RFC 4607 (SSM) contains an analysis of SSM-specific security issues.

multicast, security