rfc-7357

Transparent Interconnection of Lots of Links (TRILL): End Station Address Distribution Information (ESADI) Protocol

H. Zhai, F. Hu, R. Perlman, D. Eastlake 3rd, O. Stokes
date2014-09 streamIETF areartg wgtrill statusPROPOSED STANDARD pages31 canonicalhttps://www.rfc-editor.org/rfc/rfc7357 doi10.17487/RFC7357
The IETF TRILL (Transparent Interconnection of Lots of Links) protocol provides least-cost pair-wise data forwarding without configuration in multi-hop networks with arbitrary topologies and link technologies. TRILL supports multipathing of both unicast and multicast traffic. Devices that implement the TRILL protocol are called TRILL switches or RBridges (Routing Bridges). ESADI (End Station Address Distribution Information) is an optional protocol by which a TRILL switch can communicate, in a Data Label (VLAN or fine-grained label) scoped way, end station address and reachability information to TRILL switches participating in ESADI for the relevant Data Label. This document updates RFC 6325, specifically the documentation of the ESADI protocol, and is not backwards compatible.

updates

Extracted elements (31)

design-rationale §2

ESADI does no routing calculations, so no pseudonodes are created. ESADI-LSP, ESADI-CSNP, and ESADI-PSNP payloads are formatted as Extended Level 1 Circuit Scope (E-L1CS) PDUs [RFC7356], allowing up to 2^16 fragments while skipping pseudonode support.

routing

design-rationale §1

ESADI operates as a Data Label scoped virtual link overlay rather than as part of TRILL IS-IS so that end station attachment information is flooded only to TRILL switches participating in ESADI for the relevant Data Label, not to all switches in the campus.

routing

design-rationale §4.1

ESADI PDUs MAY be TRILL unicast (rather than multicast) when there is only one recipient of interest, because multicasting over multi-hop distribution trees imposes substantially greater load than a unicast frame. Unicast is only used when the recipient has signaled support via the UN flag.

routing

design-rationale §2.2

There are no Hello PDUs in ESADI because adjacency is determined entirely by examining the TRILL IS-IS link state database for RBridges announcing ESADI participation for the relevant Data Label; no adjacency information is carried in ESADI-LSPs.

routing

interoperability-note §A.1

The ESADI PDU format changed from IS-IS Level 1 (PDU numbers 18/24/26) to E-L1CS (PDU numbers 10/11/12), which is not backwards compatible with RFC 6325. Implementations of each type will discard the other's PDUs; enabling data plane address learning during migration fills the resulting gap, albeit without ESADI's speed or security advantages.

routing

interoperability-note §A.2

Unicast ESADI PDU support is backwards compatible because unicasting is only employed when the recipient RBridge explicitly advertises support via the UN flag in its ESADI Parameter APPsub-TLV. RBridges not advertising unicast support continue to receive multicast ESADI PDUs.

routing

normative-requirement §4.4 SHOULD

For LSP synchronization robustness, a non-DRB ESADI RBridge SHOULD also transmit an ESADI-CSNP for an instance if it has ESADI neighbors, does not believe it is the DRB, and has not received or sent a CSNP for longer than the average of the DRB's CSNP Time and its own CSNP Time.

routing

normative-requirement §6.3 MUST

If TRILL IS-IS authentication is in effect for LSP PDUs at a TRILL switch, ESADI PDUs from that switch MUST use the same algorithm in their Authentication TLVs, with keying material derived as HMAC-SHA256('TRILL ESADI', IS-IS-LSP-shared-key), unless explicitly configured otherwise.

routing, security, crypto

normative-requirement §6.1 MUST

The ESADI Parameter APPsub-TLV MUST be included in a TRILL GENINFO TLV in ESADI-LSP number zero. If missing or if LSP number zero is unknown, priority defaults to 0x40 and CSNP Time defaults to 30 seconds.

routing

normative-requirement §4.2 SHOULD

The high-priority bit SHOULD be set on ESADI-LSP fragment zero to ensure the ESADI Parameter APPsub-TLV gets through promptly, but SHOULD NOT be set on other fragments to avoid giving undue priority to less urgent PDUs.

routing

normative-requirement §4.2 MUST NOT

The inner ESADI payload MUST NOT exceed Sz minus 24 bytes for a VLAN ESADI instance or Sz minus 28 bytes for an FGL ESADI instance; however, if a larger payload is received it is still processed normally.

routing

normative-requirement §2 MUST

The Inner.MacSA (Origin RBridge MAC Address) MUST be a campus-unique MAC address owned by the originating RBridge, and each ESADI RBridge MUST use the same Inner.MacSA for all ESADI packets it originates.

routing

normative-requirement §6.2 MUST NOT

The MAC-Reachability TLVs in TRILL ESADI PDUs MUST NOT contain the Data Label ID; only the Inner.VLAN or Inner.FGL tag indicates the applicable Data Label. A received Confidence of 255 MUST be treated as 254 to preserve override by statically configured local information with Confidence 255.

routing

normative-requirement §7.2 MUST NOT

TRILL APPsub-TLVs MUST NOT alter basic IS-IS protocol operation including adjacency establishment, the update process, and the decision process. The TRILL Generic Information TLV MUST NOT be used in an IS-IS instance zero LSP.

routing, registry

normative-requirement §2.3 MUST NOT

TRILL ESADI-LSPs MUST NOT contain a Data Label ID in their payload; the applicable Data Label is taken from the enclosing TRILL Data packet. If a VLAN or FGL ID field within an ESADI-LSP PDU includes a value, that field's contents MUST be ignored.

routing

normative-requirement §5.3 MUST

When MAC address confidences are tied between duplicates from multiple RBridges, the ingress RBridge MUST adopt one of two strategies: (1) pseudorandomly select one egress for all traffic to that MAC/label, or (2) use ECMP at the flow level if it can tolerate the resulting address flip-flopping.

routing

privacy-consideration §8.1

MAC addresses distributed by ESADI may uniquely identify individual end station users and constitute sensitive reachability information in campus networks. Network operators should minimize retention of MAC reachability logs to only what is clearly required, balancing privacy against network management and legal obligations. In IXP deployments, the addresses are typically ISP router ports with fewer privacy concerns.

routing, privacy

protocol-element §5.2

An RBridge withdrawing from ESADI for Data Label X must: (1) clear the ESADI Participation bit in the appropriate Interested VLANs or Interested Labels sub-TLV, and (2) send a final ESADI-LSP nulling out its ESADI information. If the RBridge becomes unreachable, ESADI protocol timeouts handle cleanup.

routing

protocol-element §6

ESADI-LSP contents consist of zero or more MAC-Reachability TLVs [RFC6165], an optional Authentication TLV, and exactly one ESADI Parameter APPsub-TLV. Because PDUs use E-L1CS format, Type and Length fields in TLVs are 16-bit. Unknown TLVs and sub-TLVs are ignored.

routing

protocol-element §6

ESADI-LSP fragment zero and any CSNP or PSNP covering fragment zero MUST NOT exceed 1446 bytes (VLAN) or 1442 bytes (FGL) for robustness, based on the 1470-byte inter-RBridge link MTU baseline minus TRILL overhead. Received overlong PDUs are still processed normally.

routing

protocol-element §2.2

ESADI participation for a VLAN-scoped instance is announced by setting bit 3 (ESADI Participation / ES bit) in the Interested VLANs sub-TLV; for an FGL-scoped instance, bit 3 is set in the Interested Labels sub-TLV [RFC7176]. No Hellos are sent; adjacencies are derived solely from the TRILL IS-IS link state database.

routing

protocol-element §2.1

ESADI uses a virtual multi-access link abstraction where all ESADI RBridges for a Data Label appear directly connected. TRILL forwards ESADI packets as ordinary TRILL Data packets; RBridges not implementing or not participating in ESADI for that Data Label transparently tunnel such packets without decapsulating them.

routing

protocol-element §5.1

The Confidence field (0-254) in MAC-Reachability TLVs allows address learning sources to be prioritized: addresses learned via authenticated registration (e.g., 802.1X/EAP) can be advertised with high Confidence so they prevail over data plane observation. ESADI authentication in transit makes tampering very difficult.

routing, security

protocol-element §3

The ESADI DRB is elected among all ESADI instances for a Data Label by choosing the instance with the highest 7-bit priority (from the ESADI Parameter APPsub-TLV), with ties broken by System ID. The DRB issues ESADI-CSNP PDUs and responds to ESADI-PSNP PDUs but never creates a pseudonode.

routing

registry §7.2

IANA allocated IS-IS Application Identifier 1 under Generic Information TLV (#251) for TRILL and created the 'TRILL APPsub-TLV Types under IS-IS TLV 251 Application Identifier 1' sub-registry (IETF Review). Type 0 and 65535 are Reserved, type 1 is ESADI-PARAM, types 2-254 and 256-65534 are available by IETF Review.

routing, registry

registry §7.1

IANA created the 'Interested Labels Flag Bits' sub-registry in the TRILL Parameters registry (IETF Review). Bit 3 is assigned as the ESADI Participation (ES) bit in the INT-LABEL sub-TLV; bits 0-2 are M4, M6, and BM; bits 4-7 are unassigned.

routing, registry

registry §7.1

IANA created the 'Interested VLANs Flag Bits' sub-registry in the TRILL Parameters registry (IETF Review). Bit 3 is assigned as the ESADI Participation (ES) bit in the INT-VLAN sub-TLV; bits 0-1 are M4/M6 multicast router attachment; bits 2, 16-19 are unassigned; bits 4-15 and 20-31 are used for VLAN IDs.

routing, registry

security-consideration §8

ESADI makes persistent duplicate MAC address attachment within a Data Label explicitly and persistently visible to all participating RBridges, unlike data plane learning. This aids detection of misconfiguration or spoofing but may also reflect legitimate multi-homing.

routing, security

security-consideration §8

ESADI PDUs can be authenticated via the Authentication TLV [RFC5310] using keying material derived as HMAC-SHA256('TRILL ESADI', IS-IS-LSP-shared-key). Combined with 802.1X/EAP end station registration, ESADI MAC reachability information can be made substantially more trustworthy than data plane learning, though it still requires trusting all RBridges holding valid keying material.

routing, security, crypto

wire-format §6.1

The ESADI Parameter APPsub-TLV (Figure 4) contains: 2-byte Type (0x0001), 2-byte Length (minimum 3), 1 reserved bit + 7-bit Priority, 1-byte CSNP Time, 1-byte Flags byte where bit 0 (UN) indicates unicast ESADI acceptance, and variable reserved expansion bytes.

routing

wire-format §2

TRILL ESADI packets on Ethernet carry: outer Ethernet header, TRILL header (V=0, R=0, M=1 for multicast), inner Ethernet header (Inner.MacDA = All-Egress-RBridges, Inner.MacSA = origin RBridge MAC), 4- or 8-byte VLAN or FGL Data Label, L2-IS-IS Ethertype (0x22F4), and ESADI payload formatted as IS-IS E-L1CS PDU.

routing