TRILL (computing)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

TRILL (transparent interconnection of lots of links) is an Internet Standard[1] implemented by devices called TRILL switches. TRILL combines techniques from bridging and routing and is the application of link-state routing to the VLAN-aware customer-bridging problem. Routing bridges (RBridges) are compatible with and can incrementally replace previous IEEE 802.1 customer bridges. They are also compatible with IPv4 and IPv6 routers and end nodes. They are invisible to current IP routers and, like routers, RBridges terminate the bridge spanning tree protocol.

General overview[edit]

TRILL switches run a link-state routing protocol amongst themselves. A link-state protocol is one in which connectivity is broadcast to all the RBridges, so that each RBridge knows about all the other RBridges, and the connectivity between them. This gives RBridges enough information to compute pair-wise optimal paths for unicast, and calculate distribution trees for delivery of frames either to destinations whose location is unknown or to multicast or broadcast groups. The link-state routing protocol used is IS-IS because:

  • it runs directly over Layer 2, so it can be run without configuration (no IP addresses need to be assigned)
  • it is easy to extend by defining new TLV (type-length-value) data elements and sub-elements for carrying TRILL information.

To mitigate temporary loop issues, RBridges forward based on a header with a hop count. RBridges also specify the next hop RBridge as the frame destination when forwarding unicast frames across a shared-media link, which avoids spawning additional copies of frames during a temporary loop. A reverse-path forwarding check and other checks are performed on multi-destination frames to further control potentially looping traffic.

The first RBridge that a unicast frame encounters in a campus, RB1, encapsulates the received frame with a TRILL header that specifies the last RBridge, RB2, where the frame is decapsulated. RB1 is known as the "ingress RBridge" and RB2 is known as the "egress RBridge". To save room in the TRILL header and simplify forwarding lookups, a dynamic nickname acquisition protocol is run among the RBridges to select two-octet nicknames for RBridges, unique within the campus, which are an abbreviation for the six-octet IS-IS system ID of the RBridge. The two-octet nicknames are used to specify the ingress and egress RBridges in the TRILL header.

The TRILL header consists of six octets: the first two octets include a six-bit decrementing hop count, plus flags; the next two octets contain the egress RBridge nickname; the final two octets contain the ingress RBridge nickname. For multi-destination frames, the "egress RBridge nickname" specifies a distribution tree for the frame, where the (nick)named RBridge is the root of the distribution tree. The ingress RBridge selects which distribution tree the frame should travel along.

Even though RBridges are transparent to Layer 3 devices, and all the links interconnected by RBridges appear to Layer 3 devices to be a single link, RBridges act as link routers in the sense that, in the forwarding of a frame by a transit RBridge, the outer Layer 2 header is replaced at each hop with an appropriate Layer 2 header for the next hop, and the hop count is decreased. Despite these modifications of the outer Layer 2 header and the hop count in the TRILL Header, the original encapsulated frame is preserved, including the original frame's VLAN tag.

Multipathing of multi-destination frames through alternative distribution tree roots and ECMP (Equal Cost MultiPath) of unicast frames are supported. Networks with a more mesh-like structure will benefit to a greater extent from the multipathing and optimal paths provided by TRILL than will networks with a more tree-like structure.

TRILL links[edit]

From the point of view of TRILL, a link can be any of a wide variety of link technologies, including IEEE 802.3 (Ethernet), PPP (Point to Point Protocol).,[2] or a Pseudo-wire.[3] Ethernet links between RBridges can incorporate IEEE customer or provider 802.1 bridges. In other words, an arbitrary bridged LAN appears to an RBridge as a multi-access link.

It is essential that only one RBridge act as the ingress RBridge for any given native frame and TRILL has an Appointed Forwarder [4] mechanism to assure this. TRILL does allow load splitting of this duty on a link based on VLAN, so that only one RBridge on each link encapsulates and decapsulates native frames for each VLAN.

RBridge ports[edit]

RBridge ports can compatibly implement a wide variety of existing and proposed link level and IEEE 802.1 port level protocols including PAUSE (IEEE 802.3 Annex 31B), the Link Layer Discovery Protocol (IEEE 802.1AB), link aggregation (IEEE 802.1AX), MAC security (IEEE 802.1AE), or port based access control (IEEE 802.1X). This is because RBridges are layered above the IEEE 802.1 EISS (Extended Internal Sublayer Service) with the exception that an RBridge port handles spanning tree and VLAN registration PDUs differently.

Open source implementations[edit]

Accton IgniteNet MeshLinq — based on Quagga
Gandi's quagga with TRILL — based on Quagga
MichaelQQ's Quagga-PE featuring TRILL and MPLS — based on Quagga

Proprietary implementations[edit]

Cisco FabricPath is a proprietary implementation of TRILL that utilizes the TRILL control plane (including IS-IS for Layer 2), but a non-interoperable data plane.[5] Brocade Virtual Cluster Switching, uses the TRILL data plane but a proprietary control plane and so is not interoperable with standards conformant TRILL.[6]

VLAN support[edit]

The TRILL protocol provides mandatory support for the usual 4K VLANs and can optionally support 24-bit Fine Grain Labels (FGL) in addition to VLANs. (RFC 7172 "TRILL: Fine Grained Labeling")


  • TRILL uses two different mechanisms to forward packets, making it difficult to know the path of packets.[7]
  • TRILL is susceptible to out-of-order packets when the MAC state transitions from unknown to known for Multicast, Broadcast and Unknown packets.[7]


The IEEE 802.1aq standard (Shortest Path Bridging – SPB) is considered the major competitor of TRILL. As one 2011 book noted, "the evaluation of relative merits and difference of the two standards proposals is currently a hotly debated topic in the networking industry."[8]

Product support[edit]


  1. ^ "Routing Bridges (RBridges): Base Protocol Specification".
  2. ^ "PPP Transparent Interconnection of Lots of Links (TRILL) Protocol Control Protocol".
  3. ^ "Transparent Interconnection of Lots of Links (TRILL) Transport Using Pseudowires".
  4. ^ "Routing Bridges (RBridges): Appointed Forwarders".
  5. ^ "Cisco FabricPath". Data Center Handbook. 2014-03-06. Archived from the original on 2016-03-03. Retrieved 2014-10-14.
  6. ^ "DON'T LIE ABOUT PROPRIETARY PROTOCOLS". 2011-03-04. Retrieved 2014-10-14.
  7. ^ a b "What is shortest path bridging? - Definition from". SearchNetworking.
  8. ^ Borivoje Furht; Armando Escalante (2011). Handbook of Data Intensive Computing. Springer. p. 16. ISBN 978-1-4614-1415-5.
  9. ^ "HPE FlexFabric 5900 Switch Series" (PDF).
  10. ^ "HPE FlexFabric 5920 Switch Series" (PDF).
  11. ^ "HPE FlexFabric 7900 Switch Series" (PDF).
  12. ^ "HPE FlexFabric 12900E Switch Series" (PDF).
  13. ^ "Huawei CloudEngine 5800 Series Data Center Switches".
  14. ^ "Huawei CloudEngine 6860 Switch Datasheet".
  15. ^ "Huawei CloudEngine 7800 Series Data Center Switches".
  16. ^ "Huawei CloudEngine 8800 Switch Datasheet".
  17. ^ "Huawei CloudEngine 12800 Switch Datasheet".
  18. ^ "IgniteNet™ MeshLinq™".
  19. ^ "MeshLinq™ Datasheet" (PDF).
  20. ^ "H3C S6300 Series Data Center Switches - New H3C".
  21. ^ "H3C S6800 Series Data Center Switches - New H3C".
  22. ^ "H3C S6860 Series Data Center Switches - New H3C".
  23. ^ "H3C S10500X Series Next Generation Multiservice Core Switch - New H3C".
  24. ^ "SwitchesRG-S6220 Switch Series - Ruijie networks".
  25. ^ "Ruijie RG-S6220 Data Center Switch Series Datasheet" (PDF).
  26. ^ "ZXR10 5960 Series Switch - Ethernet Switch - ZTE Products".
  27. ^ "ZXR10 9900(-S) Series Switch - Ethernet Switch - ZTE Products".

External links[edit]