1. TRANSPARENT INTERCONNECTIONS OF LOTS OF LINKS PROTOCOL
Swapnil S. Raut.
UID: 111082865
3/5/2012
I pledge on my honor that I have not given or received any unauthorized assistance on
this assignment, that my paper contains no plagiarized material, and that I have made
every effort to cite sources properly.
Swapnil Sunil Raut 3/5/2012
Student Signature Date
2. 1. Abstract:
Current, IEEE802.1 standards (Local Area Networks – LAN) use Spanning Tree protocol
at Datalink layer (layer 2) in TCP/IP protocol suite. The Spanning Tree Protocol (STP)
forms a single tree between the layer 2 devices like switches, bridges etc. for forwarding
data inside a LAN or Metropolitan Area Networks (MAN). Due to single link formed
between two layer 2 devices, STP is able to forward data between these devices. But the
current STP faces different problems such as inefficient paths, underutilization of the
bandwidth, multipath forwarding, slower convergence rate etc. Some of these problems
like inefficient paths, multipath forwarding can be easily solved by using current layer 3
functionalities. But with use of IPv4, every device requires to IP address, which is not
static unless configured. So, changes in network can create confusion. [1]
Transparent Interconnections of Lots of Links (TRILL) protocol provides layer 2
functionality with the help of layer 3 features using device called as Routing Bridges
(RBridges) to solve the problems faced. This document discusses about different
problems faced by Spanning Tree Protocols and how these problems can be overcome by
usage of Transparent Interconnections of Lots of Links (TRILL) protocol. [1]
2. Introduction:
The classical Ethernet bridged network tries to find the loop free packet transfer by
forming a Spanning Tree Protocol. Spanning tree works on concept of logically blocking
some of the links to avoid loops and form a loop free tree. While this model is supposed
to be extremely simple due to simplicity in forming trees and auto-configuration, it has
significant number of disadvantages.
3. RBridges uses TRILL protocol to provide layer 2 forwarding of frames in Ethernet
networks. RBridges are the devices that combine advantages of router and bridges to
provide forwarding at Layer 2 and they will eventually replace customer bridges. TRILL
also provides co-existence with the bridged networks by providing outer Ethernet header.
Different features provided by TRILL protocol implementation at Layer 2 can be given
as:
1. TRILL provides efficient shortest path forwarding using Intermediate System to
Intermediate System (IS-IS) protocol to calculate optimal path routes.
2. It provides Multipath Forwarding, which allows better utilization of network
bandwidth.
3. It provides loop mitigation with use of hop count.
4. Reduced forwarding table size at transit nodes, which do not need to learn end
host MAC addresses.
5. TRILL also provides VLAN support.
3. Motivation behind TRILL:
The Datalink layer protocols i.e. IEEE 802.1 are used to transfer data between two nodes
on single LAN allowing different features such as framing, congestion control, error
correction using CRC, automatic configuration and renumbering of devices allowing
devices to relocate within subnets. [1]
Also, STP suffers with delayed convergence and does not support multipath forwarding.
[1] This section will discuss about these problems in detail.
4. Figure 1. Example Network 1
Consider a sample network containing set of bridges connected to each other as shown in
Figure 1. End hosts are not shown in this network. Bridges have already configured
themselves by running STP and formed tree showed by double lines between them where
logically blocked links are shown by single line in between hosts.
3.1 Inefficient Paths: Whenever frames are forwarded from one host to another, STP
does not guarantee an optimum path. This is due to logical blocking of some of the links
to form a tree.
Case 1: Consider frames are travelling from bridge E to bridge H. Although, there exists
a direct link between E and H, it will follow E-D-G-H path because of STP, which leads
to inefficiency in forwarding data.
Case 2: Consider another set of frames travelling from A to J, which will take path A-B-
D-G-I-J. Now if we consider each link to have maximum capacity 1Gbps link then traffic
from A to J will be carried out at 1Gbps if no other forwarding is using the critical links.
5. Now if E starts sending the frames as explained in Case 1, then they use the D-G link for
their forwarding, which will reduce speed of both to 500Mbps. Additionally if C wants to
transfer data to F, it will again use path C-D-G-F causing usage of D-G link, which will
create bottleneck of 333.33Mbps at D-G link. This problem is referred as aggregate
bandwidth. [1]
This clearly indicates forming tree creates lots of inefficient links, which is one of the
major disadvantages of STP.
3.2 Multipath Forwarding: Multipath forwarding is a concept of forwarding data over
multiple equal cost paths to make proper utilization of available bandwidth. STP forms a
single tree for a particular destination, which does not allow multipath forwarding. This
problem causes aggregation of bandwidth in STP. [1]
3.3 Convergence Problem: Any change in the network requires recalculation of the
tree. This change might be due to change in the position or failure of devices.
Furthermore this problem causes significant issues if change is with root node. Consider,
If Bridge D from Example Network 1 fails, it will cause change in forwarding table of
every node, which will incur significant time to analyze and converge again.
Furthermore, Removal of one of the node will also require time to propagate its absence
and converge even though it may not have significant effect on entire network. [1]
4. TRILL Solution:
TRILL uses layer 3 routing features to determine shortest path, which are used for layer 2
forwarding. RBridges implements IS-IS protocol to support routing features for TRILL.
IS-IS is preferred while development of TRILL because it is simple as compared to
6. OSPF. IS-IS is encoded with Type-Length-Value (TLV), which allows addition of new
fields.
4.1 Working: RBridges identify their neighbors and broadcast Link State Packets (LSP)
over the network. All Rbridges store latest LSP from all other RBridges. Every RBridge
then runs a shortest path algorithm to calculate shortest path to every other RBridge in the
network along with the trees for the multi-destination forwarding. [2]
When frame arrives at first RBridge from end host, Layer 2 Ethernet frame is
encapsulated with the TRILL header. The resultant frame is now addressed to last
RBridge whose path is decided by LSP, which are carried out previously on the bridged
network. The last RBridge when receives that frame, removes TRILL header. It then
forwards that frame to end host. In TRILL protocol, every RBridge randomly assigns 2-
byte Bridge Nickname. TRILL protocol makes sure that every bridge has unique Bridge
Nickname. This helps making processing fast at RBridges and also reduces size of
TRILL header. [2]
4.2 Co-Existence with Bridged Networks: TRILL provides backward compatibility
with the regular bridges which means RBridges operating on TRILL can co-exist with
bridges. In the same scenario, RBridges operate on TRILL and bridge cloud uses STP.
This is made possible by providing outer Ethernet header along with TRILL header as
shown in Figure 2.
Figure 2. TRILL packet Header [2]
7. The Inner header shown in Figure 2 is the actual layer 2 header originated at the end host.
The inner header makes sure that frame will look like data transfer from one host to
another with any bridged network implemented between them. The TRILL header is used
for forwarding between RBridge networks. TRILL header is explained in detail in
Section 5. The outer header contains regular Layer 2 header depending upon
implementation of network at layer 2. It can be Ethernet, Point-to-Point Protocol, and
Multiple Protocol Label Switching etc. The outer header makes sure that if there is any
bridged network in between RBridges then, TRILL header does not confuse those
bridges. [2]
4.3 Multipath Forwarding: Multipath traffic forwarding can be implemented on
RBridges by using TRILL. TRILL supports multipath forwarding for both unicast and
multicast traffic. Every RBridge contains multiple trees for forwarding frames to every
destination in the network. Multipath forwarding is implemented on equal cost trees
formed inside RBridge network. RBridges assign priorities to those trees depending on
shortest path and least cost and send traffic on limited number of paths decided by TRILL
protocol for efficient bandwidth utilization. [3]
4.4 VLAN Support: TRILL supports implementation of VLAN by providing two
headers as outer header and inner header implementing IEEE802.1Q header in them.
VLAN’s are required to be configured by manually. For TRILL header, these frames are
considered to be similar to multi-destination frames with VLAN ID similar in
IEEE802.1Q. [3]
8. 5. TRILL Protocol Header:
Different fields in TRILL header can be specified as given in figure 3. This header is
encapsulated along with Datalink layer header for TRILL operation.
Figure 3. TRILL Header [3]
5.1 Version (V): Version is 2-bit field. Current TRILL uses version zero. RBridge
performs version checked during reception of the frame. If the version is unrecognizable
to RBridge then it silently discards the frame.
5.2 Reserved (R): Reserved is 2-bit field. It is kept reserved for future use. Currently,
ingress RBridge pads zeros in this field because if transit RBridges and egress RBridge
find non-zero value in this field then they discard that particular frame.
5.3 Multi-destination (M): This field is a single bit determining whether frame is
destined to single end host or a group of hosts. When M field is zero, it indicates one end
host and when M field is set, it indicates multiple end hosts.
9. 5.4 Op-Length: This particular field is of 5 bits. It describes the length of Options field
in terms of 4 octets therefore allowing 25*4=32*4=128 octets.
5.5 Hop Count: This field is of size 6 bits. Whenever packet is received at RBridge with
this field with zero, RBridge drops that frame otherwise it decrements hop count.
5.6 Egress RBridge Nickname: This field is of size 2 byte, which contains Egress
RBridge Nickname. This filed is decided configured depending on type of end host
distribution e.g. unicast or multicast. When M field is zero, egress RBridge nickname
field contains name of egress RBridge for known unicast MAC address. When M field in
TRILL header is set, this field decides the tree on which the frame should be sent.
5.7 Ingress RBridge Nickname: The Ingress RBridge Nickname is 2-byte field, which
contains nickname of the ingress RBridge for TRILL data frames and is source RBridge
name for TRILL end station address distribution frames. In unicast frame transfer, this
field enables learning on data packets. In multicast frame transfer, this field allows
Reverse Path Forwarding used for unknown destination forwarding. [3]
6. Summary:
TRILL provides layer 3 routing features on layer 2 routing bridges (RBridges) allowing
efficient forwarding on LANs and MANs. It also allows multipath forwarding for both
unicast and multicast traffic resulting in efficient utilization of the network bandwidth.
TRILL provides backward compatibility with bridges because of which bridges and
RBridges can exists simultaneously on same network. TRILL provides VLAN support.
As, there will be multiple trees for every other destination, with failure of one of the node
will not have significant effect as traffic will be routed from different tree.
10. References:
1. J. Touch and R. Perlman, “RFC-5556 – Transparent Interconnection of lots of Links
(TRILL): Problem and Applicability Statement”, May 2009.
2. R. Perlman and D. Eastlake, “Introduction to TRILL”, The Internet Protocol Journal,
Volume 14, No. 3 September 2011.
3. R. Perlman et al., “Routing Bridges (RBridges): Base Protocol Specification”, July
2011.
4. D. Eastlake, A. Banerjee, D. Dutt, R. Perlman, A. Ghanwani, “RFC-6326 - Transparent
Interconnection of lots of Links (TRILL): Use of IS-IS”, July 2011.