TRILL (Transparent Interconnection of lots of links, multi-link Transparent Interconnection) is a standard developed by IETF to implement layer-2 extension of data centers. Currently, some protocols have been standardized, such as RFC6325, 6326,6327 and so on. The core idea of this Protocol is to introduce mature layer-3 routing control algorithms into layer-2 switching, and add a new encapsulation (tunnel encapsulation) to the original L2 packets ), switch to the new address space for forwarding. The new address has a routing attribute similar to the IP address, and has many advantages such as large-scale networking, shortest path forwarding, equivalent multi-path, fast convergence, and easy scalability, this avoids STP, MSTP, and other technical defects and achieves robust large-scale L2 networking.
1. TRILL-implement layer-2 multi-path forwarding
The TRILL standard involves several important concepts:
Routing Bridge: A Routing Bridge, or RBridge or RB, is a collectively referred to as a network node that supports the TRILL function, similar to an IP Router;
VLAN x Forwarder: a vlan x Forwarder, similar to a PE role in a VPN, used for VLAN-based election. The main function is to encapsulate the user-side packets and send the TRILL header to the TRILL network for forwarding. Or, the TRILL network packet is unencapsulated and restored to the user-side message and sent to the user;
Nickname: 16-bit long, similar to an IP address, is the basis for RB Node Route computing. Nickname evolved from the Mac address because the Mac address has 48 bits. If it is directly used for encoding, the overhead is too large and the size is too large, so it is reduced from 48 bits to 16 bits and 64 K. Each node has different nick names. The nick names can be automatically selected or manually configured. Each RB can have multiple nick names.
The concept of "multi-path" was previously used only for IP forwarding. When two routers have multiple equal-cost or non-equivalent forwarding paths, the router can calculate the IP packet along the shortest path and measure the value according to the path, stream-based shared forwarding allows you to make full use of Bandwidth Resources. If we think about the most frequently used L2 forwarding table in our vswitch, that is, the MAC table, we can see that for a unicast table item, the outbound port can only be a unique physical port or aggregation port, and cannot have multiple independent physical ports at the same time. If so, the table item becomes a multicast table item. That is to say, MAC forwarding tables do not have L2 multi-path capabilities. The emergence of TRILL technology does not change this situation. Instead, it uses tunnel encapsulation to convert the original layer-2 MAC forwarding into a layer-3 route forwarding of a class IP address, that is, TRILL technology applies the IP packet forwarding idea to Ethernet frame forwarding. The ethernet switch supporting TRILL technology is called "RBridge (Routing Bridge )".
Because RB needs to encapsulate and unencapsulate user-side packets, we can call the end-point device responsible for packet addition, encapsulation, and encapsulation as Vlan X Forwarder, similar to the PE in VPN.
The router can calculate the shortest path and ECMP between each other through the link status routing protocol, and update the forwarding path when the topology changes. The RBridge uses the link state control protocol trill is-IS similar to the IS-IS routing protocol to calculate the shortest path and the equivalent multi-path. Trill is-IS only calculates the topology between RBridge, regardless of the topology between the two hosts in the network (in fact, the most common topology between the two rb is the direct connection mode ).
To implement the preceding routing control function, you need to define a globally unique identifier for each RB in the network. Because the Router ID has been used by the IP address and its form is similar to the IP address, considering that trill is-IS still a L2 service, TRILL selects a new ID named Nickname to identify each RB device. The final result of trill is-IS calculation IS to form unicast and multicast forwarding tables with different nick names.
Figure 1. RBridge forwarding to known unicast
1. When the unicast Ethernet frame enters the TRILL network through the Ingress RBridge at the edge of the TRILL network, an additional "TRILL Header" (similar to the IP packet header) is added before the original frame header ), it includes Ingress RBridge Nickname and Egress RBridge Nickname, just like the source IP address and destination IP address in the IP header. Add the "Next-Hop Header" before the "TRILL Header" (like the MAC header or PPP header before the IP packet) to complete the TRILL frame encapsulation. Since then, the forwarding process of TRILL frames between RBridge is like that of IP packets between routers. RBridge performs one-to-one jump Based on the Egress nick name in the TRILL header. The Next-hop header must be modified in each hop, while the TRILL header only changes the TTL value. RBridge implements Shortest Path forwarding and equivalent path sharing for TRILL frames, avoiding the link blocking problem caused by STP operation in traditional L2 Networks. The TRILL frame is eventually restored to a standard Ethernet frame in the Egress RBridge on the edge of the TRILL network and sent to the TRILL network.