Network Fabric:TRILL for Server and Network People. Welcome RBridges
March 30, 2009 by Greg Ferro · 8 Comments
- TRILL(Transparent Interconnection of Lots of Links)
- From the IETF Charter for TRILL
- Why have TRILL at all ?
- Current State of Spanning Tree
- Suboptimal path
- VM migration / mobility
- Multiple Paths at Layer 2
- Terminology:Frames and Packets
- TRILL – a fast overview on how it works
- Thoughts and Personal Opinions
- Conclusion
- References
- Comments (8)
TRILL is a key network technology for enabling Cloud Computing by allowing for better migrations of VM’s, and better utilisation of the network switching fabric and much improved stability of the Data Centre Server Fabric.
TRILL(Transparent Interconnection of Lots of Links)
TRILL is a proposed technology that is intended for use in the data centre. It is a fundamental network technology enabler for Cloud Computing so that:
- increase in switching density,
- better path utilisation
- underlying support for highly mobile servers in a virtualised server environment
- faster convergence, at power on and in response to failures.
The support for highly mobile virtual servers within VLANs is big feature.
From the IETF Charter for TRILL
The design should have the following properties:
- Minimal or no configuration required
- Load-splitting among multiple paths
- Routing loop mitigation (possibly through a TTL field)
- Support of multiple points of attachment
- Support for broadcast and multicast
- No significant service delay after attachment
- No less secure than existing bridged solutions
It’s also very interesting that TRILL is an Ethernet standard being progressed through the IETF (and not the IEEE), and is led by the Radia Perlman, the creator of Spanning Tree.
Why have TRILL at all ?
In current Layer 2 networks we use Spanning Tree (in all its forms) to ensure that there is only a single path across the network. At the same time, we deliberately design one or more redundant paths for failover in the event that the primary path fails. This redundant paths are blocked and that there are many paths in the network that are not used to carry frames thus:
- Bandwidth is potentially underutilised, especially when more than two paths exist.
- the shortest optimal (and thus fastest) path through the Layer 2 network is not practically possible thus most path are inefficient
- because it’s not proprietary
- because 802.1aq isn’t your cup of tea.
Current State of Spanning Tree
There are several forms of Spanning Tree used today:
- Common Spanning Tree (CST)
- Per VLAN Spanning Tree (PVST/PVST+)
- Rapid Spanning Tree
- Multiple Instance Spanning Tree
All types of spanning tree have one fundamental idea: that a single tree, representing a single path through the switching network is established for a given VLAN and all alternate paths are blocked. Each of the above offers improvements in speed of convergence using various features, however, even in the best cases, it takes seconds for paths to converge on the final solution.
Suboptimal path
Consider the following server/switch connections where two servers areconnected to a switch (with one or more ports if using LACP). You can see that there are several possible paths between the two servers.

Typically, a switch backbone for a given VLAN will be configured to force the tree to be at the core of the network. As a result the path between the servers will look something like this (if the top left switch is configured as the primary root switch):

Now this might seem OK until you realise that the entire data centre network looks more like this:

Ok, so this isn’t absolutely perfect, but you should get the idea. There are very good operational reasons to build a data centre this way. Very large organisations with substantial resources will do it smarter and better using PVST+ and port/path costs to optimise and try to balance some load. in real life, this is standard Enterprise switching backbone for data centres. .
That link between the core switches need to be big, and many of the of the uplinks are also large. This has been a big driver for 10Gb Ethernet in the early stages.
But when you think about it, what we would really like to achieve is the following shortest path through the network:

As you can see, this means that core is now more lightly loaded and that, scaling this up, the core is less likely to be bottlenecked around Core Switch 1.
A common scenario for this is when using top-of-rack Ethernet switches and two servers are in adjacent racks, yet the Ethernet frames travel via the core, adding a small amount of latency.
Note also that a failure event at Core 1, will have less overall impact on the entire network.
VM migration / mobility
Now consider what happens when all of these servers are virtual servers and then you use a vserver mobility tool to move ServerA across the backbone when using spanning tree:

The problem here is that the path is still shared by all the other servers. The load across the backbone may drastically altered the available bandwdith.

In this case, there is less chance of impact since the frames are now taking an alternate path. Your backbone is much more likely to handle the changes and surges in Internet traffic, and more generally you would have better overall usage of the available infrastructure.
Of course, you can’t be certain that this path has available bandwidth but there are other standards being developed to help solve this problem.
Multiple Paths at Layer 2
The other improvement that TRILL make available is multiple paths at layer 2. Consider the following model:

This is a major breakthrough compared to Spanning Tree and will drastically improve the available bandwidth because many links can be used to the destination.
Although it will make packet capture in the network much more difficult since predicting the path through the Layer2 network is quite complicated.
Terminology:Frames and Packets
The OSI model has defined an abstraction of the communication protocols that uses seven layers and Layer 3 = Network Layer, Layer 2 = Data Link layer. Typically, Network Engineers consider the term Packets to refer to Layer 3 data encapsulations, and Frames refer to Layer 2 encapsulations. In the past, FDDI, Token Ring and Ethernet were all Frames, and AppleTalk, IPX and IP are all Packets. For many people today, only Ethernet and IP exist and it is easy to confuse the terms.
TRILL – a fast overview on how it works
TRILL uses a concept of a Routing Bridge, known as an RBridge, running IS-IS routing protocol((Older engineers will recall Bridging Routers or BRouters, I find it amusing that this is an obvious return to bridging and stepping away from routing)) . IS-IS is a link state routing protocol that is mostly used by Global Service Providers to carry IP routes within their networks (and then use BGP between Service Providers) but is actually protocol independent. IS-IS does not use IP to establish neighbour relationships, its uses OSI protocols which includes CLNS and PDU’s to perform the neighbour and protocol exchanges. This means that IS-IS works for IPv4 & IPv6 and can equally be used for other protocols such as is proposed by TRILL.
TRILL uses IS-IS to carry routing information about MAC Addresses devices connected to VLANs and to build a shorted path tree for each MAC address in the VLAN.
TRILL intends to maintain compatibility with existing Spanning Tree implementation and can co-exist and be progressively migrated.
Thoughts and Personal Opinions
One of the most fascinating things about TRILL is that it is conceptually identical to IEEE 802.1aq. Why would someone create a competing standard ? Because the IEEE is slow, ponderous and bad company. Many times we have seen the IEEE take far too long to develop standards, fail to resolve conflicts between competing interests.
Radia Perlman is the creator of Spanning Tree who currently works for SUN, and appears to be the lead author of TRILL. Other authors include Dinesh G. Dutt from Cisco, Silvano Gai from Nuova (now Cisco Nexus products). These people are at the core of the data centre fabric development and their employers Sun and Cisco are promoting their Cloud Computing credentials.
Radia Perlman has also criticised the IEEE in her outstanding and seminal textbook on bridging – Interconnections:Bridges, Routers, Switches, and Internetworking Protocols – Radia Perlman – Addison-Wesley 2000. (Do yourself a favour and buy this book, its brilliant!).
I can’t get access to the current drafts of the IEEE since they are not open to the public. However, the most recent draft 1.5 was released on 2008/12/18 and appears to have been stumbling along for more than two years. Reviewing the available material suggests that the IEEE is not reaching any agreement at this stage.
Conclusion
I hope I have done this topic justice. I have only the IETF document to read and some of my own experiences. If anyone has more information or can’t point out my mistakes, please leave a note in the comments and I will respond or you can contact me using my contact page http://etherealmind.com/contact. I look forward to hearing back.
References
Problem & Applicability Statement
http://www.ietf.org/interet-drafts/draft-ietf-trill-prob-06.txt
- TRILL(Transparent Interconnection of Lots of Links)
- From the IETF Charter for TRILL
- Why have TRILL at all ?
- Current State of Spanning Tree
- Suboptimal path
- VM migration / mobility
- Multiple Paths at Layer 2
- Terminology:Frames and Packets
- TRILL – a fast overview on how it works
- Thoughts and Personal Opinions
- Conclusion
- References
- Comments (8)





TRILL is not that conceptually aligned with 802.1aq other than that the service model is similar. 802.1aq was focused on re-use of ethernet, specifically leveraging 802.1ag (OAM), 802.1ah (adaptation+large scale virtualization) and 802.1Qay (population of the FDB by management or control plane). TRILL was about creating a new uniquitous specialized L3 specifically for Ethernet, different constraints, different results.
The critique of IEEE is IMO ill-informed. IETF (for example) resolves conflicts by publishing multiple RFCs and letting the industry decide, which simply punts their problems onto all of us. IEEE at least has the concept of “distinct identity” for a given project. It may take a little longer to get a standard but any industry confusion is capped there….
BTW 802.1aq is progressing nicely, has numerous pre-standard deployments, and should be baked as a standard in 1H2010…
I guess i have to disagree. I have looked the the IETF web site and I cannot get access to any information about the progress of the meetings, or read the latest documents. For something that is supposed to be a ’standard’ it’s not very transparent. Given the time/date stamps it would seem that things are not going smoothly, but I can’t get any details to confirm or deny that since its all done in secret.
I also remain skeptical about the IEEE competence. Ethernet is a success in spite of IEEE procedures and processes when I consider the multiple Wireless LAN cockups. Not to mention VLAN tagging…. oh I could go on.
It’s a shame that it won’t be ready until 2H2010, it was originally promised in 2008, maybe early 2009.
Until the IEEE does it better, I will remain critical. Show me results and transparency.
FYI, 2010 is because 802.1ah as well as 802.1ad is now in scope. That aspect only commenced early in 2007.
I do not believe the drafts are publically available, but most of the input to them is, check out:
http://www.ieee802.org/1/files/public/docs2009/
If you want to go backwards in time, the directories are also there for previous years…enjoy!
IMO there has been steady progress since 802.1ah was in scope, as it was a more natural fit for what SPB was trying to achieve….
cheers
D
Hi,
I don’t understand why you are having difficulties getting access to what is going on in the TRILL WG in the IETF. The charter, which I admit is a little out of date, is here:
http://www.ietf.org/dyn/wg/charter/trill-charter.html
That charter page has links to the one RFC the TRILL WG has had published and to the base protocol specification draft, currently at:
http://www.ietf.org/id/draft-ietf-trill-rbridge-protocol-13.txt
As drafts are updated in the IETF, the direct text link, as above, to the old version goes away and a new link with the version number incremented is created, but here is a link to an html-ized version of draft -13 which should continue to work even after draft -14 comes out:
http://tools.ietf.org/html/draft-ietf-trill-rbridge-protocol-13
As for what is happening in the TRILL WG itself, minutes of all its meetings, like those for every IETF working group, are published in the proceedings of the IETF meetings. The proceedings are all linked from here:
http://www.ietf.org/meeting/proceedings.html
TRILL did not meet at the 72nd or 75th IETF meetings and I think there is at least one earlier one it skipped but if you go look at, for example, the proceedings for the 73rd and 74th IETF meetings, it is not that hard to find the TRILL meeting minutes. In fact, if you can’t make it to an IETF meeting, most of the WG meetings are publicly broadcast by streaming audio and you can call in to ask questions and there is usually an IRC channel with someone posting summaries of what is happening in real time and relaying questions anyone on the IRC channel has.
In fact, I find it very hard to conceive of any practical way in which IETF working groups could be more open. (I haven’t even mentioned the IETF fundamental that all the working group mailing lists are open and anyone can subscribe.)
Thanks,
Donald
Donald
I claimed that the IEEE is not open. You can’t get any material on what they are doing, or how they do it, or what the the current progress is. Which is quite annoying for ‘public’ standards.
I was easily able to access and evaluate material from the IETF. I agree, you could not be anymore open.
Greg
OK. Thanks. It is true that the IEEE process is much more secretive than the IETF process. However, if you go back to your post, you will see that you typoed “IEEE” and “IETF” in the first line of your comment so I was confused.
Donald
The Referenced Internet Draft (draft-ietf-trill-prob-06.txt) has now been published as RFC 5556.
See http://www.ietf.org/rfc/rfc5556.txt
The TRILL base protocol specification is now quite mature and the latest version is available at
http://tools.ietf.org/html/draft-ietf-trill-rbridge-protocol-14
Thanks,
Donald