(1)Trill原理
TRILL协议被设计用于把三层路由的稳定性、可扩展性和高性能引入二层网络。
传统以太网报文进入TRILL网络被转发时,在原有报文前添加了一个TRILL头和外层以太头,在TRILL网络中转发时使用TRILL的路由信息进行转发。
报文到达目的RB后被解封装,最终通过原始的以太网报文头进行普通的交换处理。
(2)Trill转发流程
(a)第1次转发
发送侧交换机第一次转发某一目的MAC的单播报文时,由于MAC表中没有记录该目的MAC和RB的对应关系,该报文将使用组播转发表项按照未知单播报文进行转发。
在下游交换机的Egress RB处,RB会学习源MAC和Ingress nickname的对应关系。
所以经过一次报文交互后,Ingress RB和Egress RB的MAC表中记录了相关的目的MAC和RB的对应关系,后续的报文就使用单播转发表项按照已知单播报文进行转发:
(b)第2次转发
发送测交换机将目的MAC对应的RB的Nickname添加到TRILL头中的Egress RB字段中,将本RB的Nickname添加到TRILL头中的Ingress RB字段中,M值设置为0。
已知单播报文转发时,首先查看Egress RB是否为当前RB,
如果是,则到达接收侧交换机,对报文进行解封装;
如果否,则根据Egress RB查找单播路由表及其关联的下一跳表,更新外层以太头中的目的MAC新为下一跳RB的MAC)和源MAC(更新为当前RB的MAC),从指定接口发送出去。
在转发过程中只修改TRILL头中的Hop Count字段。
(3)Trill的局限性
TRILL交换机之间的地址平面,与TRILL的Leaf交换机与主机之间的地址平面是不同的。
某些拥塞控制消息必须通过发回送到阻塞源头。TRILL核心并不知道主机的真实地址; 它只知道TRILL边缘,因此,类似于Qcn阻塞管理计划无法有效支持这种架构。