TRILL 运行原理.doc

TRILL 运行原理华迪教育 华迪信息 1 技术原理描述1.1 TRILL 运行原理 运行TRILL协议的Bridge我们称之为RBridge,即具有路由转发特性的网桥设备,由RBridge构建的TRILL网络称之为trill campus,Rbridge通过运行自己的链路状态协议(通过IS-IS扩展的)认知trill campus的拓扑。并使用最短路径树算法生成从该Rbridge到达trill campus里的各个Rbridge的路由转发表(称之为trill路由表)。RBridge又通过ESADI(End Station Address Distribution Information终端地址交互协议)交互学习各自的Mac地址,这样Rbridge就知道了终端Mac究竟属于哪个Rbridge,Rbridge接收到普通以太网数据帧时(这里专指802.1)查找Mac表,若该Mac源发自某Trill edge Rbridge,就将数据帧转换成TRILL数据帧在trill campus里转发,TRILL数据帧包含有源目Rbridge信息,而Rbridge则有到达各个Rbridge的路由信息,这样Rbridge可以对TRILL数据帧进行转发,当一台Rbridge接收到一个TRILL数据帧时,该数据帧的目的Rbridge为其自身,则解封装TRILL报头,获得最初进入trill campus的以太网数据帧,再进行转发。 这也就是说TRILL作为二层转发技术,通过引入三层路由的链路状态发现协议将此前的Bridget升级为了具备路由能力的Route-Bridge。 当然TRILL的运行原理并不仅仅局限于上述这些,事实上以上所描述的仅仅为802.1单播数据帧的转发功能,从数据报类型上分还包括广播报文和多播报文,此类报文的处理正是二层链路协议的核心和重点,不合理或存在漏洞的二层链路协议会造成二层环路,纯802.1二层网络一旦出现环路将造成广播报文的激增,整网将处于瘫患状态,直到环路解除为止。 TRILL协议首先针对二层环路没有TTL的问题进行了改进,在TRILL报文头中引入了TTL字段,这样TRILL报文在trill campus中即使发生了环路问题也不至于造成严重的后果。 另外TRILL协议对多播及广播报文的转发设计了分发树(distribution tree)的多播转发行为,当然它的分发树类似于 数据平面 TRILL数据帧格式如下图: TRILL报文的源目Rbridge MAC Address指示TRILL报文发出的源Rbridge和目Rbridge,这两个字段在TRILL报文逐跳转发过程中是会发生变化的,这不同于我们传统的二层转发行为,其变化的方式参看下一个图标的说明。在802.1报头中通过TRILL Ethertype插入了一个TRILL报头,之后才是最初的以太网报文。TRILL报头中包括版本(ver),多播标记(M),选项长度(Option Length),TTL(Hop Count),出口Rbridge(Egress RBridge Nickname),入口Rbridge(Ingress Rbridge Nickname)以及TRILL的选项(Header Options)。其中出口Rbridge为该TRILL的目标Rbridge,可理解为该报文要从该Rbridge到TRILL campus之外,入口Rbridge为报文是从该Rbridge进入trill campus的。对于802.1q报文在Trill报文外层有一个Outer-Vlan在里层有一个Inner-Vlan,分别对应于为TRILL转发使用的VLAN和进入trill campus时生成的Vlan。 在数据转发平面上,Rbridge只有两种数据帧的输入情况,一种是普通数据帧,另一种是TRILL数据帧。我们以单播报文在TRILL网络里的转发为例看一下Rbridge是对单播数报文普通数据帧和TRILL数据帧的转发处理行为是怎样的。 见上图,Host A发出一个单播报文要到Host B,它们之间是一个trill campus,首先A发送单播以太网报文给RB1,源目MAC地址分别为A和B,RB1接收到该普通报文,查找Mac表,获知该Mac位于Trill网络的RB3上,于是RB1为该普通报文封装了TRILL头,Ingress Rbridge为RB1,Egress Rbridge为RB3,然后RB1查找到达RB3的Trill Nickname表(即Trill路由表),找到要到达RB3的下一跳有RB2,于是RB1填充Distination Rbridge Mac Address为RB2的Mac,并填充Source Rbridge Mac Address为其自身RB1的Mac,并将此报文发

文档评论(0)

1亿VIP精品文档

相关文档