rfc-7783

Coordinated Multicast Trees (CMT) for Transparent Interconnection of Lots of Links (TRILL)

T. Senevirathne, J. Pathangi, J. Hudson
date2016-02 streamIETF areartg wgtrill statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc7783 doi10.17487/RFC7783
TRILL (Transparent Interconnection of Lots of Links) facilitates loop-free connectivity to non-TRILL networks via a choice of an Appointed Forwarder for a set of VLANs. Appointed Forwarders provide VLAN-based load sharing with an active-standby model. High-performance applications require an active-active load-sharing model. The active-active load-sharing model can be accomplished by representing any given non-TRILL network with a single virtual RBridge (also referred to as a virtual Routing Bridge or virtual TRILL switch). Virtual representation of the non-TRILL network with a single RBridge poses serious challenges in multi-destination RPF (Reverse Path Forwarding) check calculations. This document specifies required enhancements to build Coordinated Multicast Trees (CMT) within the TRILL campus to solve related RPF issues. CMT, which only requires a software upgrade, provides flexibility to RBridges in selecting a desired path of association to a given TRILL multi-destination distribution tree. This document updates RFC 6325.

updates

Extracted elements (24)

design-rationale §4.2

All RBridges outside the edge group assume that multi-destination packets with Ingress Nickname set to RBv might use any distribution tree advertised by any member of the edge group. This conservative assumption avoids black-holing while permitting flexible tree use across the active-active group.

routing, multicast

design-rationale §5.7

CMT requires only a software upgrade (no hardware/silicon changes), making it deployable as a control-plane enhancement. Backward compatibility via tunneling would require silicon changes, whereas CMT itself does not.

routing

design-rationale §1

The active-active load-sharing model is implemented by representing the edge group with a single virtual RBridge nickname. Without this, existing RPF check algorithms (which strictly depend on link cost and parent RBridge priority) may leave a given edge RBridge with no valid distribution tree on which to forward traffic on behalf of the virtual RBridge.

routing, multicast

design-rationale §4.1

When an RBridge advertises an Affinity sub-TLV designating one of its own nicknames as a child in a specific distribution tree, the effect is that nickname is ignored in all other distribution trees, enforcing RPF so that only that RBridge can use the nickname as ingress/egress on the designated tree. This has no effect on unicast SPF calculations.

routing, multicast

interoperability-note §4.1

If any RBridges in the campus do not support the Affinity sub-TLV, distribution trees fall back to the RFC 6325 / RFC 7780 SPF-based algorithm. CMT requires all campus RBridges to support the Affinity sub-TLV for full operation; the fallback is intended as a temporary measure during upgrade.

routing, multicast

interoperability-note §1.1

The Affinity sub-TLV is applicable specifically where a virtual RBridge represents multiple RBridges connected to an edge CE device via an LAALP (e.g., MC-LAG) where the RBridges cannot see each other's Hellos. The document does not cover other required active-active operational elements such as MC-LAG methods.

routing

normative-requirement §5.3 MUST

An AFFINITY RECORD asking for an RBridge to be its own child in a tree rooted at that RBridge, or asking for a non-adjacent non-self nickname as a child, MUST be ignored as it conflicts with TRILL distribution tree root determination or campus topology.

routing, multicast

normative-requirement §1 MUST

Each virtual RBridge MUST have a nickname unique within its TRILL campus to enable active-active load-sharing representation of the edge network.

routing

normative-requirement §5.4 MUST

For ingress multi-destination forwarding, an edge RBridge RBk encapsulates frames with a TRILL Header setting the Ingress Nickname field to RBv (the virtual RBridge nickname) and forwards on a distribution tree where RBv is associated with RBk.

routing, multicast

normative-requirement §5.4.1 MUST

If no tree exists on which RBv can claim affinity via RBk (e.g., n < k), then RBk MUST fall back to either disabling its CE-facing ports or tunneling multi-destination frames to an RBridge that has an assigned tree.

routing, multicast

normative-requirement §5.7 MUST

Implementations MUST support backward compatibility modes to interoperate with pre-Affinity sub-TLV RBridges, which MAY include tunneling and/or active-standby modes of operation.

routing

normative-requirement §4.1 MUST

In the absence of an Affinity sub-TLV, or if any RBridges in the campus do not support the Affinity sub-TLV, distribution trees MUST be calculated as specified in Section 4.5.1 of RFC 6325 (as updated by RFC 7780).

routing, multicast

normative-requirement §5.6.1 RECOMMENDED

It is RECOMMENDED that timer T_j (used by existing member RBridges when a rejoining RBridge appears) be less than T_i (used by the rejoining RBridge itself), with a reasonable default of T_j = 1/2 of T_i, to reduce packet duplication which is more serious than dropped packets.

routing

normative-requirement §5.5 MUST

Multi-destination frames arriving at RBk on a tree where RBk has announced affinity of RBv MUST be forwarded to CE members of RBv in the frame's VLAN; frames arriving on a tree where RBk has NOT announced affinity of RBv MUST NOT be forwarded to CE members of RBv.

routing, multicast

normative-requirement §5.3 MUST

Remote RBridges MUST honor the Affinity sub-TLV from the RBridge with the highest priority to be a tree root (using System ID as tiebreaker) and MUST ignore conflicting Affinity sub-TLV entries from lower-priority RBridges.

routing, multicast

normative-requirement §4.1 MUST

When an Affinity sub-TLV is present, the association specified by the Affinity sub-TLV MUST be used when constructing the multi-destination distribution tree, except in the case of a conflicting Affinity sub-TLV (resolved per Section 5.3).

routing, multicast

normative-requirement §5.3 MUST

When conflicting Affinity sub-TLVs advertise the same virtual RBridge as child in the same tree, the RBridge with the highest priority to be a tree root retains the affinity association; lower-priority RBridges MUST stop advertising conflicting Affinity sub-TLVs, recalculate, and if appropriate advertise new non-conflicting ones.

routing, multicast

protocol-element §4.2

A virtual RBridge is a purely conceptual RBridge representing an active-active edge group, assigned a unique nickname within the TRILL campus. Each edge RBridge (RB1 to RBk) advertises the virtual RBridge nickname (RBv) using the Nickname sub-TLV (6) along with its own regular nicknames. Virtual RBridges are ignored when determining distribution tree roots.

routing, multicast

protocol-element §4.3

RBridges that announce the TRILL Version sub-TLV and set the Affinity capability bit (bit 0 in the TRILL-VER Sub-TLV Capability Flags registry) support the Affinity sub-TLV, CMT distribution tree calculation, and RPF checks as specified in this document.

routing, registry

protocol-element §3

The Affinity sub-TLV is a new IS-IS sub-TLV that allows an RBridge to specify its desired path of association to a given TRILL multi-destination distribution tree. It appears in Router Capability TLVs or MT Capability TLVs within Link State PDUs (LSPs). The code point and data structure are specified in RFC 7176.

routing, multicast

registry §7

This document registers 'Affinity sub-TLV support' as bit 0 in the 'TRILL-VER Sub-TLV Capability Flags' registry. The AFFINITY sub-TLV (value 17) in the 'Sub-TLVs for TLV 144' registry remains referenced to RFC 7176.

registry, routing

security-consideration §6

RBridges in a campus are generally trusted routers, and the authenticity of LSPs and link-local PDUs carrying Affinity sub-TLVs can be enforced using IS-IS security mechanisms (including RFC 5310 cryptographic authentication). Application-specific security considerations for Affinity sub-TLV use cases will be covered in application-specific documents.

security, routing

state-machine §5.1

Distribution tree assignment assigns trees to edge RBridges sorted by IS-IS System ID in ascending order. If n >= k, each RBridge RBi is assigned trees where tree_number % k + 1 == i. If n < k, only RB1 through RBn participate in active-active forwarding; RBn+1 through RBk do not.

routing, multicast

state-machine §5.6.1

Upon detecting member RBridge failure (via IS-IS LSP absence), surviving edge group members start recovery timer T_rec. If the failed RBridge has not recovered after T_rec, members recalculate tree assignment and re-advertise Affinity sub-TLVs. On RBi restart, T_i and T_j timers coordinate rejoining; T_j SHOULD be less than T_i (recommended default: T_j = T_i / 2) to minimize packet duplication.

routing, multicast