Saturday, July 23, 2011

TRILL

Well, it's been a while since I've updated this blog, but my CCIE studies continue, and I'm always on the lookout for new and exciting advances in the networking arena. Today marks the official 'release' or ratification of the new protocol TRILL (also known as Routing Bridges or RBridges). Here are the RFCs that were just released that relate to TRILL:

Routing Bridges (RBridges): Base Protocol Specification
Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS
Routing Bridges (RBridges): Adjacency

In short, what TRILL accomplishes is link-state routing (IS-IS) for Layer 2 Ethernet MAC addresses in a LAN, which eliminates the need for the Spanning-Tree Protocol. It is not designed to span outside of a LAN.

TRILL has been implemented in the Nexus 7000 line for some time now, and is also of discussion as a possible component of the much anticipated Juniper QFabric. It is one of the hot topics of discussion for next generation data center designs. The reason I say 'next generation' is the fact that I have yet to see or read about it implemented in production.

Here's a pretty good excerpt from the RFC that gives a general overview of how TRILL works:

RBridges run a link state protocol amongst themselves. This gives
them 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/broadcast groups [RBridges] [RP1999].

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 (see Section 4.5.2).

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 2-octet nicknames for RBridges, unique within the campus,
which are an abbreviation for the IS-IS ID of the RBridge. The
2-octet nicknames are used to specify the ingress and egress RBridges
in the TRILL header.

Multipathing of multi-destination frames through alternative
distribution trees and ECMP (Equal Cost Multipath) of unicast frames
are supported (see Appendix C).