rfc-4607

Source-Specific Multicast for IP

H. Holbrook, B. Cain
date2006-08 streamIETF areartg wgssm statusPROPOSED STANDARD pages19 canonicalhttps://www.rfc-editor.org/rfc/rfc4607 doi10.17487/RFC4607 errataview
IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.255.255) range are designated as source-specific multicast (SSM) destination addresses and are reserved for use by source-specific applications and protocols. For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-specific multicast use. This document defines an extension to the Internet network service that applies to datagrams sent to SSM addresses and defines the host and router requirements to support this extension. [STANDARDS-TRACK]

Extracted elements (26)

design-rationale §9

IANA SSM address ranges (232.0.0.1-255 and FF3x::4000:0001-7FFF:FFFF) are reserved for services requiring a well-known SSM destination address. Outside this range, IANA SHALL NOT allocate SSM addresses to particular entities, preserving the ability for hosts to autonomously self-allocate from a large flat space.

multicast, registry

design-rationale §4.3

Random rather than sequential SSM address allocation is required because the IP-to-MAC mapping on Ethernet does not include the source address. Sequential allocation would cause many channels to share the same link-layer multicast address, delivering traffic for one channel to unintended subscribers.

multicast

design-rationale §1

SSM eliminates the need for shared trees and Rendezvous Points (as used in PIM-SM for ASM), because the sender identity is always known. The router mechanisms for SSM are largely a subset of those used for ASM, reducing protocol complexity.

multicast, routing

interoperability-note §8

A host compliant with this document sends ONLY source-specific host reports for addresses in the SSM range. ASM-only hosts cannot reliably receive SSM channel traffic, and routers will not set up SSM forwarding state in response to ASM (*,G) join requests.

multicast

interoperability-note §1

For IPv6 SSM, allocation should occur within FF3x::/96 but systems should treat all of FF3x::/32 as SSM addresses to maintain compatibility with possible future uses of the network prefix field where a non-zero prefix might be allowed.

multicast, ip

normative-requirement §4.2 MUST

A host that supports the SSM service model MUST implement the host portion of IGMPv3 (RFC 3376) for IPv4 and MLDv2 (RFC 3810) for IPv6, and MUST conform to the IGMPv3/MLDv2 behavior described in RFC 4604.

multicast

normative-requirement §5.2 MUST

A router MUST treat ALL IANA-allocated SSM addresses with source-specific semantics to achieve the full benefit of SSM and comply with this specification.

multicast, routing

normative-requirement §5.2 MUST NOT

A router that receives a non-source-specific (*,G) request for data in the SSM address range MUST NOT use the request to establish forwarding state and MUST NOT propagate the request to neighboring routers. A router MAY log an error.

multicast, routing

normative-requirement §5.1 MUST

A router that receives an IP datagram with a source-specific destination address MUST silently drop it unless a neighboring host or router has communicated a desire to receive packets from that specific source and destination.

multicast, routing

normative-requirement §5.2 MUST

A router that supports the SSM service model MUST implement the PIM-SSM subset of PIM-SM and MUST implement the router portion of IGMPv3 for IPv4 and MLDv2 for IPv6.

multicast, routing

normative-requirement §4.2 MUST

An incoming datagram destined to an SSM address MUST be delivered by the IP module to all sockets that have subscribed with matching source address, destination address, and arriving interface, and MUST NOT be delivered to other sockets.

multicast

normative-requirement §4.1 SHOULD

Host operating systems SHOULD provide a way for a host to determine both the source and destination address to which a datagram was sent, to allow disambiguation when a socket is subscribed to multiple channels.

multicast

normative-requirement §8 MUST

Routers MUST ignore non-source-specific host reports (e.g., IGMPv1, IGMPv2, or MLDv1) for SSM destination addresses. Failure to do so would violate the SSM service model promised to the sender.

multicast

normative-requirement §6 MUST

The IP module MUST filter packets received from the link layer before delivering them to the socket layer, because on shared-medium networks (e.g., Ethernet) all packets to destination G are delivered to any host subscribed to any channel (S,G) regardless of S.

multicast

normative-requirement §4.3 MUST NOT

When allocating SSM addresses dynamically, a host or host operating system MUST NOT allocate sequentially starting at the first allowed address; random allocation is RECOMMENDED to avoid link-layer address collisions on shared-medium networks.

multicast

normative-requirement §4.1 SHOULD

When the host knows the SSM address range, the host's operating system SHOULD return an error to an application that makes a non-source-specific request to receive multicast sent to an SSM destination address.

multicast

normative-requirement §5.2 MUST

With PIM-SSM, the implementation MUST (at least) support the ability to use the unicast topology database to select a loop-free forwarding path for the explicit join from receiver toward source.

multicast, routing

protocol-element §1

IPv4 SSM destination addresses occupy the 232/8 range (232.0.0.0 to 232.255.255.255). IPv6 SSM addresses use the prefix FF3x::/32, with practical allocation within FF3x::/96 due to the requirement that P=1, T=1, and plen=0.

multicast, ip

protocol-element §2

Source-Specific Multicast (SSM) is identified by the (S,G) pair: a unicast source address S combined with an SSM destination address G. A datagram is delivered only to sockets that have specifically requested reception of datagrams from source S to address G.

multicast

protocol-element §4.1

The IP module interface is extended with Subscribe(socket, source-address, group-address, interface) and Unsubscribe(socket, source-address, group-address, interface) operations. These replace the ASM join/leave model for SSM channels.

multicast

registry §9

IANA allocates IPv4 SSM addresses in the range 232.0.0.1 through 232.0.0.255, and IPv6 SSM addresses in FF3x::4000:0001 through FF3x::7FFF:FFFF, allocated according to IETF Consensus. 232.0.0.0 and FF3x::4000:0000 are reserved as null values and must not be allocated.

multicast, registry

security-consideration §7.3

A host can mount a denial-of-service attack by requesting a large number of SSM subscriptions, creating router state, generating control traffic, and potentially attracting unwanted data traffic. Routers MAY limit subscription rates or total subscriptions per interface.

multicast, security

security-consideration §7.5

Administrative scoping should not be relied upon as a security measure for SSM. No administratively scoped address range is defined for IPv4 SSM, and for IPv6, scope boundaries are not consistently enforced by all deployed routers.

multicast, security

security-consideration §7.1

IPsec AH and ESP can be used to secure SSM traffic using a multicast-capable IPsec implementation. For legacy RFC 2401 IPsec, two senders using the same SSM destination address and SPI will collide in the SAD, potentially preventing simultaneous reception of IPsec-protected traffic from both sources.

multicast, security, ipsec

security-consideration §7.4

SSM does not prevent source address spoofing; an attacker can forge a source address to inject packets onto a channel. Applications requiring strong authentication MUST NOT assume all packets on a channel were sent by the requested source without higher-layer authentication such as IPsec AH.

multicast, security

security-consideration §7.4 SHOULD

SSM routers SHOULD by default disallow source routing (both Loose and Strict, RFC 791) to an SSM destination address, as source routing combined with source address spoofing can allow an attacker to inject packets onto an SSM channel.

multicast, security