TRILL运行原理.docx

上传人:scccc 文档编号:14572009 上传时间:2022-02-09 格式:DOCX 页数:5 大小:13.49KB
返回 下载 相关 举报
TRILL运行原理.docx_第1页
第1页 / 共5页
TRILL运行原理.docx_第2页
第2页 / 共5页
TRILL运行原理.docx_第3页
第3页 / 共5页
TRILL运行原理.docx_第4页
第4页 / 共5页
TRILL运行原理.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《TRILL运行原理.docx》由会员分享,可在线阅读,更多相关《TRILL运行原理.docx(5页珍藏版)》请在三一文库上搜索。

1、TRILL运行原理1技术原理描述1.1 TRILL运行原理运行TRILL协议的Bridge我们称之为RBridge ,即具有路由转发特性的网桥设 备,由RBridge构建的TRILL网络称之为trillcampg Rbridge通过运行自己的链路状态协议(通过IS-IS扩展的)认知trill campus的拓扑。并使用最短路径树算法生成从该 Rbridge到达tr川campus 里的各个Rbridge的路由转发 表(称之为 tr川路由表)。RBridge 又通过 ESADI(End Station AddressDistribution Information 终端地址交互协议)交互学习各自的

2、 Mac地址,这样 Rbridge就知道了终端 Mac究竟属于哪个 Rbridge , Rbridge接收到普通以太网 数据帧时(这里专指802.1 )查找Mac表,若该Mac源发自某Trill edge Rbridge , 就将数据帧转换成TRILL数据帧在tr川campus 里转发,TRILL数据帧包含有 源目Rbridge信息,而Rbridge则有到达各个 Rbridge的路由信息,这样Rbridge 可以对TRILL数据帧进行转发,当一台Rbridge接收到一个TRILL数据帧时,该 数据帧的目的Rbridge为其自身,则解封装TRILL报头,获得最初进入trill campus的以太

3、网数据帧,再进行转发。这也就是说TRILL作为二层转发技术,通过引入三层路由的链路状态发现协议将 此前的Bridget升级为了具备路由能力的Route-Bridge。当然TRILL的运行原理并不仅仅局限于上述这些,事实上以上所描述的仅仅为 802.1单播数据帧的转发功能,从数据报类型上分还包括广播报文和多播报文, 此类报文的处理正是二层链路协议的核心和重点,不合理或存在漏洞的二层链路 协议会造成二层环路,纯802.1二层网络一旦出现环路将造成广播报文的激增, 整网将处于瘫患状态,直到环路解除为止。TRILL协议首先针对二层环路没有 TTL的问题进行了改进,在TRILL报文头中引 入了 TTL字

4、段,这样TRILL报文在tr川campus中即使发生了环路问题也不至于造成严重的后果。另外TRILL协议对多播及广播报文的转发设计了分发树(distribution tree ) 的多播转发行为,当然它的分发树类似于STP的生成树,它也有一个类似于根桥 的root bridge ,与STP的生成树算法不同的是 TRILL的分发树是从ISIS的网络拓扑中计算产生的,并为每一个VLANft成一棵分发树,在发生VLA酸化或接 口变化时,这种分发树的过程不需要额外的配置,完全是由Rbridge自动完成的。 当一台边缘Rbridge收到一个某VLAN的广播帧或多播帧时,Rbridge除了向自 己的其它普

5、通vlan 口分发该数据帧外,还要封装该数据帧为TRILL数据帧,目的Rbridge为该VLAN&发树的根桥,通过根桥将该数据帧扩散的与该 VLA附目关 的其它所有Rbridge设备上。以上是TRILL运行的基本原理,TRILL协议为实现上述运行方案设计了一整协议 规范,包括了数据平面和控制平面的 TRILL运行规范。1.2 数据平面TRILL数据帧格式如下图:TRILL报文的源目Rbridge MAC Address指示TRILL报文发出的源 Rbridge和目 Rbridge ,这两个字段在TRILL报文逐跳转发过程中是会发生变化的,这不同于 我们传统的二层转发行为,具变化的方式参看下一个

6、图标的说明。在802.1报头中通过TRILL Ethertype 插入了一个TRILL报头,之后才是最初的以太网报文。TRILL报头中包括版本(ver),多播标记(M),选项长度(Option Length) , TTL (HopCount),出口 Rbridge (Egress RBridge Nickname),入口 Rbridge (IngressRbridge Nickname )以及 TRILL 的选项(Header Options )。其中出口 Rbridge 为该TRILL的目标Rbridge ,可理解为该报文要从该 Rbridge到TRILL campus 之外,入口 Rbri

7、dge为报文是从该 Rbridge进入trill campus的。又t于802.1q 报文在Trill 报文外层有一个 Outer-Vlan在里层有一个Inner-Vlan ,分别对应 于为TRILL转发使用的VLANffi进入trill campus 时生成的Vlan。在数据转发平面上,Rbridge只有两种数据帧的输入情况,一种是普通数据帧, 另一种是TRILL数据帧。我们以单播报文在TRILL网络里的转发为例看一下 Rbridge是对单播数报文普通数据帧和 TRILL数据帧的转发处理行为是怎样的。见上图,Host A发出一个单播报文要到 Host B,它们之间是一个trillcampus

8、,首先A发送单播以太网报文给 RB1,源目MAO址分别为A和B, RB1接收到该 普通报文,查找Maca,获知该Mac位于Tr川 网络的RB3上,于是RB1为该普 通报文封装了 TRILL 头,Ingress Rbridge 为 RB1, Egress Rbridge 为 RB3 然 后RB1查找到达RB3的Trill Nickname表(即Trill 路由表),找到要到达 RB3 的下一跳有 RBZ 于是 RB1 填充 Distination Rbridge MacAddress 为 RB2的 Maq 并填充Source Rbridge Mac Address 为其自身RB1的Maj并将此报

9、文发送给 RB2 RB2接收到该报文发现是TRILL单播报文,其目的地为RB3 RB2直接查找 Tr川 路由表,找到RB3就是自己某接口上的邻居,于是修改 Distination Rbridge Mac Address 为 RB3的 Mac;同时修改 Source Rbridge Mac Addresso 为其自身RB2的Maj转发该报文。RB3攵至U该Trill报文发现此报文目标Trill nickname为其自身,则解封装该Trill报文,解封装后的报文继续进行二层转 发,丢给了 Host B 0这里RB1与RB2之间的TRILL报文Outer-Vlan 为他们之间通过 TRILL VLA

10、Nft、商 好的Designated VLAN,该Designated VLAN仅仅为了达到两台 Rbridge互联互 通的目的,在一台交换机接收到一个 TRILL数据帧时,真实起作用的是 Inner-VLAN ,包括该Inner-VLAN的C-Tag字段,以及Inner-VLAN的值,数据面 Rbridge维护有一张该Rbridge所关心的VLANFU表,当接收到的TRILL数据帧 Inner-VLAN不在该列表中,则Rbridge忽视该报文,只进行转发,而如果存在 于该VLAMJ表中,当报文可被此Rbridge接收则送CPU对于多播数据转发如下图所示例子:如上图,在TRILL campus

11、会为不同的VLAN&J建分发树(Distination Tree),图 中红色线条表示VLAN 10的分发树,蓝色线条表示 VLAN20勺分发机与ISIS 的最短路径树不同的时,这种分发树不存在环路,也就是说树中的任意两个结点 是不存在多条路径的,每棵分发树都有一个root rbridge , RB1为VLAN10勺根桥,RB刻VLAN20勺根桥。在转发面中,维护有分发树的邻居表。比如对于VLAN10 RB4计算出来的邻居表有RB1, RB2和RB3在分发树中有且仅有一个邻居是到达 根桥的,其它的为远离根桥的邻居。只要属于邻居表的邻居发来的多播报文都会 被接收并向其它邻居分发。以 VLAN20

12、的多播报文分发为例,我们看一下其转 发行为:PC-A发出一个多播报文,RB1接收到知道其为VLAN10勺多播,它查看VLAN10 的分发树,该分发树的根桥为 RB2于是打上TRILL头,ingress Rbridge为RB1, Egress Rbridge 为 RB2 带上 Trill 外层头,Outer-DMAC为 ALL-Rbridges 的特 定MAC Outer-SMac为RB1,将该报文在RB1中的所有VLAN1邸居分发,报文会被RB2接收,并向其它接口分发,这样就送到了 RB3 RB3接收到该多播报文, 发现报文是从邻居接收到的,即接收并转发,PC-B则收到了该多播报文。1.3 控

13、制平面TRILL控制平面上要为数据平面生成如下控制表:1. Trill nickname 转发表(nickname, nexthop-group-id2. Nexthop-group 表( nexthop-group-id, nexthop-mac )3. Vlan 分发树根桥表(vlan-id, nickname), nickname为 VLAN勺根桥Rbridge。4. Vlan 分发树邻居表( vlan-id, mac, is_appointed_forwarder ) 其中 is_appointed_forwarder为指定的该 vlan 的转发者。5. TRILL 令口接表mac,p

14、ort6. TRILL outer vlan 表port, vlan tr川报文在该 port 上以该 vlan 接收及输出。7. MacS,之前的macS只有出接口,在TRILL中MACS还需扩展出目标 Rbridge。 (vlan-id,mac,port-type,port,nickname)以上的表项基本上都可由ISIS协议生成,当然视实现情况而定,比如说Mac表, 在TRILL协议中建议使用ESAD协议来实现,该协议目前存在的实现是通过ISIS 扩展来实现,若不使用ESAD协议,在RBridge接收到一个TRILL报文时,当报 文的Inter.Vlan 为该Rbridge所关心的VLA

15、N则进行Mac地址的学习,这样就 不需要额外的ESADI协议支持。TRILL协议对ESADI的要求是建议不是必须。Tr川路由转发表(包括Trill nickname 转发表和nexthop-group表)是通过 ISIS生成的,ISIS通过邻居发现获得邻接的nickname,并对外公告它所发现的 所有邻居,ISIS通过SPF计算获得到达各个nickname的路径,并以此生成Trill 路由转发表。Vlan分发树的生成也是在ISIS SPF计算出的最短路径树上生成的,ISIS最短路 径树对于不同的根结点计算出来的树是不一样的,但只要确定了根结点,即可在整网中确定一棵树,分发树就是这样生成的,具前提就是通过优选算法在Vlan中选举出一个根结点来,以此作为分发树的根桥。Vlan分发树根桥表用于对普通多播或广播报文进行trill封装时标明该报文使用哪棵分发树进行分发,事实 上即便是相同vlan的不同报文,也可以选择不同的分发树进行分发(若要支持该功能vlan分发树邻居表应扩展为(vlan-id, nickname, mac) 。ISIS确定了 分发树后除增加VLAN发根桥表项外,同时生成这棵分发树的邻居表。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1