rfc-6754

Protocol Independent Multicast Equal-Cost Multipath (ECMP) Redirect

Y. Cai, L. Wei, H. Ou, V. Arya, S. Jethwani
date2012-10 streamIETF areartg wgpim statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc6754 doi10.17487/RFC6754
A Protocol Independent Multicast (PIM) router uses the Reverse Path Forwarding (RPF) procedure to select an upstream interface and router in order to build forwarding state. When there are equal cost multipaths (ECMPs), existing implementations often use hash algorithms to select a path. Such algorithms do not allow the spread of traffic among the ECMPs according to administrative metrics. This usually leads to inefficient or ineffective use of network resources. This document introduces the ECMP Redirect, a mechanism to improve the RPF procedure over ECMPs. It allows ECMP selection to be based on administratively selected metrics, such as data transmission delays, path preferences, and routing metrics. [STANDARDS-TRACK]

updated by

Extracted elements (26)

design-rationale §3

ECMP Redirect messages are sent only when there is a need to rebalance traffic (i.e., a Join or multicast traffic is detected on a non-desired interface), reducing the amount of control traffic compared to periodic or broadcast mechanisms.

multicast, routing

design-rationale §1

Existing PIM ECMP implementations use hash algorithms to select RPF paths, which do not allow traffic distribution according to administrative metrics such as bandwidth, delay, or routing preferences. This leads to inefficient use of network resources and motivates the ECMP Redirect mechanism.

multicast, routing

design-rationale §3

The ECMP Redirect is modeled after the existing PIM Assert message but differs in scope: Assert selects an upstream router within the same multi-access network, while Redirect selects both a network (interface) and an upstream router across different ECMP links.

multicast, routing

interoperability-note §5.4

A PIM router that does not support this specification will ignore PIM ECMP Redirect Hello Options and ECMP Redirect messages in received PIM packets, providing backward compatibility without disruption.

multicast, routing

interoperability-note §4

ECMP Redirect applies only to PIM Sparse Mode shared and source trees per RFC 4601. Its use in PIM Dense Mode (RFC 3973) or Bidirectional PIM (RFC 5015) is explicitly out of scope.

multicast, routing

normative-requirement §5.4 SHOULD NOT

A router supporting this specification SHOULD NOT send ECMP Redirects on interfaces in an ECMP bundle if any neighbor in that bundle does not advertise the ECMP Redirect Hello Option; however, it SHOULD still process received ECMP Redirects on those interfaces.

multicast, routing

normative-requirement §5.1 MAY

An upstream router MAY choose not to send ECMP Redirects if it becomes aware that some downstream routers are unreachable via some links in the ECMP bundle.

multicast, routing

normative-requirement §5.4 MUST

An upstream router MUST send the PIM ECMP Redirect Hello Option in its PIM Hello messages if it supports this specification.

multicast, routing

normative-requirement §5.3 SHOULD

During transient state caused by a single link cut, the downstream router SHOULD select a new RPF neighbor, preferring one on the same LAN as the previous RPF neighbor. If none is reachable there, a different LAN is used, preferring the router that previously served as RPF neighbor (identified by Router ID in the Interface ID Hello option).

multicast, routing

normative-requirement §5.2 SHOULD

If a downstream router receives ECMP Redirects from multiple upstream routers, it SHOULD use the Preference, Metric, and address fields as tiebreakers (same procedure as PIM Assert) to choose the most preferred RPF interface and neighbor.

multicast, routing

normative-requirement §5.2 SHOULD NOT

If an upstream router receives an ECMP Redirect, it SHOULD NOT change its forwarding behavior even if the Redirect makes it a less preferred RPF neighbor on the receiving interface.

multicast, routing

normative-requirement §5.1 MUST

If the Interface ID is not ignored, the receiving router MUST use the Interface ID instead of Neighbor Address to identify the new RPF neighbor, and MUST discard the message if the Interface ID does not match the cached Interface ID.

multicast, routing

normative-requirement §5.1 MUST

If the Router ID portion of the Interface ID field is zero, the Interface ID field MUST be ignored.

multicast, routing

normative-requirement §5.1 MUST

The Neighbor Address in an ECMP Redirect message MUST be associated with an interface in the same ECMP bundle as the message's outgoing interface.

multicast, routing

normative-requirement §3 SHOULD

When downstream routers receive an ECMP Redirect, they SHOULD trigger PIM Joins toward the new RPF neighbor specified in the packet.

multicast, routing

normative-requirement §5.1 MUST

When the Interface ID field is ignored, an ECMP Redirect message MUST be discarded if the Neighbor Address field does not match the cached neighbor address.

multicast, routing

protocol-element §2

An ECMP Bundle is a set of PIM-enabled interfaces on a router where all interfaces share the same routing metric and all next hops are one hop away. Each interface belongs to exactly one bundle; bundles are created via configuration.

multicast, routing

protocol-element §5.5.1

The PIM ECMP Redirect Hello Option (Type=32, Length=0) is advertised in PIM Hello messages to signal support for ECMP Redirect. A router sends ECMP Redirects on an interface only when all neighbors on that interface have advertised this option.

multicast, routing

protocol-element §5.5.2

The PIM ECMP Redirect message (Type=11) is sent by an upstream router to instruct downstream routers to redirect PIM Joins to a new RPF neighbor via a different ECMP interface. It carries Group Address, Source Address, Neighbor Address, Interface ID, Preference, and Metric fields.

multicast, routing

registry §6

PIM-Hello Option Type 32 has been assigned to the PIM ECMP Redirect Hello Option.

multicast, registry

registry §6

PIM Message Type 11 has been assigned to the ECMP Redirect message in the PIM Message Types registry created by RFC 6166.

multicast, registry

security-consideration §7

Security of ECMP Redirect depends entirely on the security of the underlying PIM packet; the security considerations for PIM Assert packets in RFC 4601 apply. Spoofed ECMP Redirect packets may cause downstream routers to send PIM Joins to an undesired upstream router and trigger cascading ECMP Redirect messages.

multicast, security

wire-format §5.5.2

The Metric field (64 bits) is the second tiebreaker when Preference values are equal; smaller values win. When both Preference and Metric are equal, the Neighbor Address or Interface ID (whichever identifies the RPF neighbor) is the third tiebreaker, with the larger value winning.

multicast, routing

wire-format §5.5.1

The PIM ECMP Redirect Hello Option is encoded as a 4-byte field with Type=32 (16 bits) and Length=0 (16 bits), carrying no additional data.

multicast, routing

wire-format §5.5.2

The PIM ECMP Redirect message carries: PIM Ver/Type/Reserved/Checksum (standard header), Group Address (64 or 160 bits, Encoded-Group format), Source Address (48 or 144 bits, Encoded-Unicast format), Neighbor Address (32 or 128 bits), Interface ID (64 bits), Preference (8 bits), and Metric (64 bits).

multicast, routing

wire-format §5.5.2

The Preference field (8 bits) is the primary tiebreaker; numerically smaller values are preferred. Reserved value 15 indicates the Metric field contains an NTP timestamp (RFC 5905 format) taken when the router started forwarding on that interface.

multicast, routing, ntp