rfc-9465

PIM Null-Register Packing

V. Kamath, R. Chokkanathapuram Sundaram, R. Banthia, A. Gopal
date2023-09 streamIETF areartg wgpim statusPROPOSED STANDARD pages9 canonicalhttps://www.rfc-editor.org/rfc/rfc9465 doi10.17487/RFC9465
In PIM Sparse Mode (PIM-SM) networks, PIM Null-Register messages are sent by the Designated Router (DR) to the Rendezvous Point (RP) to signal the presence of multicast sources in the network. There are periodic PIM Null-Registers sent from the DR to the RP to keep the state alive at the RP as long as the source is active. The PIM Null-Register message carries information about a single multicast source and group. This document defines a standard to send information about multiple multicast sources and groups in a single PIM message. This document refers to the new messages as the "PIM Packed Null-Register message" and "PIM Packed Register-Stop message".

Extracted elements (23)

design-rationale §1

As the number of multicast sources increases, the number of PIM Null-Register messages sent from the DR to the RP also increases, resulting in more PIM packet processing. Packing multiple source-group records into a single message reduces this overhead.

multicast, routing

design-rationale §6.2

The DR decides whether to use the packed format based on the P-bit received from the RP in a Register-Stop message, rather than pre-configuration or static negotiation. This ensures the feature is only used when both endpoints are confirmed to support it.

multicast, routing

design-rationale §3

The number of records per packed message is not encoded explicitly; it is inferred from the IP-layer length. This avoids adding a count field to the message header but requires parsers to iterate until the IP-indicated end of the packet.

multicast, routing

interoperability-note §6.2

A DR that does not support the packed format can continue generating PIM Null-Register messages as defined in RFC 7761 Section 4.4. The P-bit signaling mechanism in Register-Stop messages ensures backward compatibility.

multicast, routing

interoperability-note §6.1

The PIM Packed Null-Register packet format should be enabled only if it is supported by all routers in the Anycast-RP set (RFC 4610). This applies equally to PIM Anycast RP deployments using MSDP (RFC 3446).

multicast, routing

normative-requirement §5 SHOULD

After receiving a PIM Packed Null-Register message, the RP SHOULD start sending PIM Packed Register-Stop messages to the DR instead of individual Register-Stop messages.

multicast, routing

normative-requirement §5 MUST

An RP supporting this specification MUST set the P-bit (flag bit 0) in all Register-Stop messages when this feature is enabled or configured.

multicast, routing

normative-requirement §7 SHOULD

Before sending PIM Packed Null-Register or Packed Register-Stop messages, the DR and RP respectively MAY perform Path MTU Discovery and SHOULD limit the number of records per message to fit within the Path MTU to avoid fragmentation.

multicast, routing

normative-requirement §5 RECOMMENDED

It is RECOMMENDED that the DR and RP stick to the PIM Packed Null-Register and PIM Packed Register-Stop formats as long as both have the feature enabled, rather than mixing packed and unpacked messages.

multicast, routing

normative-requirement §6.2 MUST

The Packing Capability information MUST be indicated by the RP via the PIM Register-Stop message sent to the DR, ensuring a DR switches to the new packet format only when it learns the RP is capable.

multicast, routing

normative-requirement §5 SHOULD

When a DR receives a Register-Stop message with the P-bit set, it SHOULD send PIM Packed Null-Register messages to the RP instead of multiple individual Register messages with the N-bit set.

multicast, routing

normative-requirement §6.3 MUST

When a DR switches to Data Registers from Null-Registers (due to RP downgrade), it MUST start a Packed_Register_Probe_Time timer to detect whether the RP still supports packed messages.

multicast, routing

normative-requirement §6.3 MUST NOT

When the network manager disables the Packing Capability at the RP, the router MUST NOT advertise the Packing Capability. However, an implementation MAY still choose to parse received packed registers during transitional periods.

multicast, routing

protocol-element §6.3

The Packed_Register_Probe_Time timer is started by the DR when it switches from Null-Registers back to Data Registers. If no PIM Packed Register-Stop or Register-Stop with P-bit set is received within this interval, the DR concludes the RP no longer supports packing. The default value is 60 seconds.

multicast, routing

protocol-element §2

The Packing Capability bit (P-bit, flag bit 0) is defined in the PIM Register-Stop message common header. When set by the RP, it signals the RP's ability to receive PIM Packed Null-Register messages and send PIM Packed Register-Stop messages.

multicast, routing

protocol-element §3

The PIM Packed Null-Register message (Type 13.0) carries N records, each consisting of a Group Address (Encoded-Group format) and Source Address (Encoded-Unicast format) pair, packed sequentially after the common header.

multicast, routing

protocol-element §4

The PIM Packed Register-Stop message (Type 13.1) carries N records of Group Address and Source Address pairs. Receiving this message has the equivalent effect of receiving an individual Register-Stop for each record.

multicast, routing

registry §9

IANA assigned Packing Capability bit 0 in the PIM Register-Stop common header in the 'PIM Message Types' registry; assigned PIM message type 13.0 for PIM Packed Null-Register (flag bits 0-3 Unassigned); and assigned PIM message type 13.1 for PIM Packed Register-Stop (flag bits 0-3 Unassigned).

registry, multicast

security-consideration §8

By forging a PIM Register-Stop message with the P-bit set, an attacker can induce a DR to switch to PIM Packed Null-Register messages, creating unnecessary processing churn in the network without delivering legitimate state.

security, multicast

security-consideration §8

The effect of forging a PIM Packed Null-Register or Register-Stop message is amplified relative to a single-record message, since the forgery affects all packed records simultaneously instead of just one source-group pair.

security, multicast

wire-format §3

The PIM Packed Null-Register message uses Type 13 with Subtype 0 in the common header. Individual Group Address and Source Address records follow back-to-back; the total number of records N is inferred from the IP-layer length, not an explicit count field.

multicast, routing

wire-format §4

The PIM Packed Register-Stop message uses Type 13 with Subtype 1 in the common header. Records consist of Group Address (Encoded-Group) and Source Address (Encoded-Unicast) pairs parsed sequentially until the IP-layer-indicated end of the message.

multicast, routing

wire-format §2

The PIM Register-Stop message with Packing Capability uses the standard 32-bit common header where flag bit 0 (P-bit) signals packing support, followed by a Group Address in Encoded-Group format and Source Address in Encoded-Unicast format.

multicast, routing