Trill基础

TRILL(Transparent Interconnection of Lots of Links)是一种把三层链路状态路由技术应用于二层网络的协议。TRILL通过扩展IS-IS路由协议实现二层路由,可以很好地满足数据中心大二层组网需求,为数据中心业务提供解决方案。

**注:**设备trill功能需要购买license。


Trill基础名词解释: 1、 RB: RB(Router Bridge)指运行TRILL协议的二层交换机,根据RB在TRILL网络中的不同位置,可将其分为Ingress RB、Transit RB和Egress RB三种,分别表示入节点、中间节点及出节点。

2、 DRB:(接口DRB优先级默认为64) DRB(Designated Router Bridge)指在TRILL网络中作为中间设备被指定承担某些特殊任务的RB,它与IS-IS中的指定中间系统DIS(Designated IS)相对应。DRB负责与网络中每台设备进行通信,最终使整个VLAN的LSDB(Link State DataBase)达到一致状态,同时DR需要完成如下工作: 1)、当网络中存在多于两台RB时,产生伪节点LSP(Link State PDUs); 2)、发送全序列号报文CSNP(Complete Sequence Number PDUs),同步LSDB; 3)、指定Designated VLAN,指定某个Carrier VLAN转发用户报文及TRILL控制报文; 4)、指定AF(Appointed Forwarder),每个CE(Custom Edge) VLAN只能由一个RB作为AF。

注:DRB选举规则: 1)、优先级较高的被优选为DRB; 2)、优先级相同,MAC地址较大的被优选为DRB。

3、 AF: 被指定用来转发流量的RB,只有AF可以作为Ingress和Egress,非AF只能作为Transit RB,即当服务器采用双上行接入TRILL网络时,如果服务器网卡不采用负载分担的方式接入,很容易产生环路。所以需要指定一台RB作为转发用户流量的RB。

注:AF由DRB负责指定,选举规则: 1)、检查TRILL网络入口的两台RB所使能的CE VLAN,具有与用户流量相同VLAN的RB被指定为AF; 2)、若满足条件1的不止一台,则比较DRB优先级,DRB优先级较高的RB被选举为AF; 3)、DRB优先级相同,则选取系统MAC地址较大的RB为AF; 4)、系统MAC地址相同,则选取接口PortID较大的RB为AF; 5)、PortID相同,则选取SystemID较大的RB为AF。


4、 CE VLAN: 用以接入TRILL网络的VLAN,通常配置在TRILL网络边缘设备上。用以生成组播路由。(承载普通以太报文)

5、 admin VLAN: 一种特殊的CE VLAN,用于承载TRILL网络网管流量,即带内管理vlan。

6、 Carrier VLAN: 用于转发TRILL数据报文和协议报文的VLAN。一台RB最多可配置三个不同的Carrier VLAN。(入方向上,普通以太报文在Carrier VLAN中被封装成TRILL报文,出方向上,TRILL报文在Carrier VLAN中被解封装为普通以太报文。)

**注:**Carrier VLAN必须为未创建的VLAN,而CE VLAN和admin VLAN必须是已经通过vlan命令创建的VLAN,且CE VLAN和admin VLAN不能与Carrier VLAN相同。

7、 Designated VLAN: TRILL网络中可能配置多个Carrier VLAN,被指定转发TRILL数据报文和协议报文的Carrier VLAN被称为Designated VLAN,即DVLAN。

8、 Nickname: Nickname相当于IP地址,用来唯一标识一台交换机。一台RB仅支持配置一个Nickname,且须保证Nickname全网唯一。Nickname优先级和根优先级两种属性的作用: •优先级主要用来在TRILL网络中解决Nickname冲突: 1)、如果一个TRILL网络中有两台设备的Nickname相同,则Nickname优先级较大的被发布,较小的被抑制; 2)、如果优先级相同,则比较两台RB的SystemID,较大的被发布,较小的被抑制。 •根优先级的主要作用是用来参与选举组播树根,TRILL会选取Nickname根优先级最大的两个RB分别作为两棵组播树的树根

9、 端口类型: 1)、**Trunk端口:**交换机之间进行互联的端口,只允许转发TRILL数据报文和协议报文,不允许转发Native Ethernet报文; 2)、**Access端口:**接入端口,链路上只收发Native Ethernet报文和协议报文,不收发TRILL数据报文; 3)、**Hybrid端口:**混合端口,既可以转发TRILL数据和协议报文,也可以转发Native Ethernet报文; 4)、**P2P端口:**一种特殊的Trunk Port,所连接的交换机不进行DRB选举;通常在P2P网络类型中,用于连接两台RB的接口,会设置为p2p类型。(缺省情况下,RB的端口为P2P)

10、 NET: 与IS-IS类似,采用网络实体名称NET(Network Entity Title)来标识交换机本身的网络层信息。 1)、**Area ID:**区域地址用来标识区域。与IS-IS不同的是,TRILL的区域地址规定为“00”。 2)、System ID:系统ID用来唯一标识一台主机或交换机,在设备的实现中,它的长度固定为48 Bit;System ID可以自动生成也可以通过配置得到,若未配置,则自动生成的与RB的桥MAC地址相同。 3)、SEL(Selector):作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。**TRILL协议的SEL为“00”**。


Trill报文格式: Trill报文分为控制报文数据报文,TRILL引入IS-IS作为控制面协议,使用PDU数据包来进行控制信息处理,并对IS-IS PDU进行了扩展,具体控制层报文可查看IS-IS协议。 与trill类似,有三种PDU:HELLO、LSP、SNP。 **1、HELLO:**用于建立和维持邻居关系,广播网中使LAN Hello;非广播网络中则使用P2P Hello; **2、LSP:**用于交换链路状态信息; **3、SNP:**分为CSNP(全序列号报文)和PSNP(部分序列号报文),CSNP发送LSDB中所有LSP的摘要信息(在广播网络上,CSNP由DRB定期发送发送,缺省10S;在点到点链路上,CSNP只在第一次建立邻接关系时发送) ; PSNP用来向邻居请求新的LSP以及确认邻居发送的LSP。

TRILL数据报文:


Trill路由计算: 当Trill网络中所有RB所维护的LSDB一致后,会利用SPF算法,分别进行单播转发表和组播转发表的计算。 1、 **单播路由表生成:**每台RB都以自己为根节点,生成到其他所有节点的最短路径树。结合邻居信息,获取到达邻居节点的出接口和下一跳,并根据邻居发布的Nickname信息,生成Nickname单播转发表。 2、 **组播路由表生成:**为了方便组播流量的传播,通常会形成不止一棵组播分发树。其形成过程如下: **1)、Root RB选举:**每台设备根据整网所有设备发布的Nickname的根优先级和支持的分发树数目,获取根优先级最高的Nickname以及整网最小的分发树数目N,拥有最高根优先级的Nickname所属的RB被选举为Root RB。如果根优先级相同则system-id较大的RB会被选举为Root RB。 **2)、分发树树根选举:**Root RB有权指定分发树树根,如果没有指定则以Nickname根优先级最高的N个RB为分发树树根。 **3)、分发树计算:**分别以N个分发树树根为源节点,计算到整网所有其他节点的最短路径树。 **4)、RPF检查表生成:**基于每个Ingress RB通告的选择的分发树信息,生成RPF检查表,用于避免组播环路。 **5)、剪枝计算:**基于每个Ingress RB通告的信息,进行剪枝计算。

注:Nickname根优先级最高的节点、分发树树根必须单播可达,因此组播路由计算需要在单播计算之后