rfc-5384

The Protocol Independent Multicast (PIM) Join Attribute Format

A. Boers, I. Wijnands, E. Rosen
date2008-11 streamIETF areartg wgpim statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc5384 doi10.17487/RFC5384 errataview
A "Protocol Independent Multicast - Sparse Mode" Join message sent by a given node identifies one or more multicast distribution trees that that node wishes to join. Each tree is identified by the combination of a multicast group address and a source address (where the source address is possibly a "wild card"). Under certain conditions it can be useful, when joining a tree, to specify additional information related to the construction of the tree. However, there has been no way to do so until now. This document describes a modification of the Join message that allows a node to associate attributes with a particular tree. The attributes are encoded in Type-Length-Value format. [STANDARDS-TRACK]

updated by

Extracted elements (23)

design-rationale §3.2

A single Hello option signals general willingness to receive type 1 Encoded-Source Addresses rather than per-attribute-type options, because there is no immediate way to act on a neighbor's inability to process specific attribute types and per-type options would not be useful.

multicast

design-rationale §3.1

Join Attributes are only useful within a single administrative domain (or small set of cooperating domains) where it can be determined a priori that all deployed PIM routers understand the type 1 Encoded-Source Address and any specific attributes in use, because routers that do not understand type 1 cannot process the Join at all.

multicast

design-rationale §3.3.3

Retaining attributes from non-selected adjacencies (when conflict resolution selects one source's attributes) allows rapid convergence upon pruning or expiry of the selected adjacency, without waiting for the next periodic Join update.

multicast

design-rationale §3.1

There is no header field specifying the number of Join Attributes; instead, the last attribute is marked with the E-bit. This avoids a fixed-size count field and allows the receiver to parse attributes sequentially until the end marker is encountered.

multicast

interoperability-note §3.1

Any PIM router that does not understand the type 1 Encoded-Source Address encoding cannot process a PIM Join message containing it. If Join Attributes affect tree construction, the tree may not form correctly unless all PIM routers receiving the message understand both type 1 encoding and the specific attributes used.

multicast

normative-requirement §3.3.1 MUST

A PIM router that receives a type 1 Encoded-Source Address MUST examine all the attributes in the order in which they appear.

multicast

normative-requirement §3.1 MUST

A type 1 Encoded-Source Address MUST contain at least one Join Attribute. To indicate no attributes for a particular tree, the type 0 Encoded-Source Address MUST be used.

multicast

normative-requirement §3.3.3 MUST

If a per-type conflict resolution procedure is defined in the attribute type specification, that procedure MUST be used instead of the default numerically-smallest-IP-address procedure.

multicast

normative-requirement §3.3.4 MUST

If a PIM router needs to change the set of attributes for a given tree without changing the upstream neighbor, it MUST send a new Join for that tree specifying the new attribute set; if the new set is null, the type 0 Encoded-Source format MUST be used.

multicast

normative-requirement §3.3.2 MUST

If all Join Attributes are discarded (no transitive attributes remain), a Join with a type 0 Encoded-Source Address field MUST be forwarded upstream.

multicast

normative-requirement §3.3.2 MUST

If the F-bit (transitive bit) is set in a Join Attribute, a router that does not understand the attribute type MUST forward it; if the F-bit is clear, the router MUST discard it.

multicast

normative-requirement §3.3.1 MUST

If the processing of a received attribute affects the construction of the multicast distribution tree or the set of forwarded attributes, state MUST be maintained associating the received attribute with the adjacency or adjacencies from which it was received.

multicast

normative-requirement §3.2 MUST NOT

The 'Join Attribute' Hello option (OptionType 26) MUST be included in PIM Hellos of any router willing to receive type 1 Encoded-Source Addresses. A router MUST NOT send a type 1 Encoded-Source Address on any interface where a PIM neighbor has not included this option.

multicast

normative-requirement §3.3.3 MUST

When conflicting attributes of the same type are received from different downstream routers, the attribute from the PIM adjacency with the numerically smallest IP address is used. For IPv6, the link-local address is used; when two neighbors share the same IP address, the interface index MUST be used as a tie breaker.

multicast

protocol-element §1

PIM Join Attributes are TLVs encoded into the Encoded-Source Address field (encoding type 1) of a PIM Join message, allowing a node to associate additional information with a particular multicast distribution tree identified by the combination of Encoded-Source Address and Encoded-Group Address.

multicast, rtp

protocol-element §3.3.4

When a new Join is received for a given tree, the set of attributes in the new Join entirely replaces the prior attribute set — no prior attribute information is retained. There is no incremental update mechanism; absent attributes are considered withdrawn.

multicast

protocol-element §3.3.4

When a Prune is received from a downstream neighbor that had previously sent attributes, those attributes are considered withdrawn. The upstream router may need to send a new Join with the updated attribute set derived from remaining downstream neighbors.

multicast

registry §4

IANA assigned PIM Hello option value 26 to the 'Join Attribute' option, with RFC 5384 as the reference.

registry, multicast

registry §4

IANA created the 'PIM Encoded-Source Address Encoding Type' registry for the Encoding Type field of the Encoded-Source Address format. Encoding type 0 ('native encoding for the address family', reference RFC 4601) and encoding type 1 ('native encoding with zero or more PIM Join Attributes present', reference RFC 5384) are defined. Assignments follow 'IETF Review'.

registry, multicast

registry §4

IANA created the 'PIM Join Attribute Types' registry for values of the Attr_Type field in the type 1 Encoded-Source Address. Assignments follow the 'IETF Review' policy as defined in RFC 5226.

registry, multicast

security-consideration §5

Security of Join Attributes is only guaranteed by the security of the enclosing PIM packet; the security considerations for PIM Join packets in RFC 4601 apply. Additional security considerations may apply to specific attribute types and must be documented in their respective specifications.

security, multicast

wire-format §3.4.2

The PIM Join Attribute Hello Option uses OptionType 26 and OptionLength 0, carrying no value payload — its mere presence signals willingness to receive type 1 Encoded-Source Addresses.

multicast

wire-format §3.4.1

The type 1 Encoded-Source Address extends the standard PIM source encoding by appending one or more Join Attribute TLVs, each with a 1-byte field containing F-bit (transitive), E-bit (end of attributes), and 6-bit Attr_Type, followed by a 1-octet Length field and a variable-length Value field.

multicast