交换机生成树原理 (2)优秀课件.ppt
ISSUEISSUE固网产品课程开发室固网产品课程开发室固网产品课程开发室固网产品课程开发室交换机生成树原理交换机生成树原理交换机生成树原理交换机生成树原理第1页,本讲稿共30页透明网桥的应用透明网桥的应用透明网桥的应用透明网桥的应用l拓展LAN的能力。l自主动态学习站点的地址信息。l问题:一般的透明网桥不会对转发的报文做任何记号,这样,如果网络中存在回路,则有可能报文在回路中不断循环转发,造成网络拥塞。第2页,本讲稿共30页路径回环的产生路径回环的产生路径回环的产生路径回环的产生LAN 1LAN 1LAN 2LAN 21 11 11 11 12 22 22 23 33 33 3第3页,本讲稿共30页为什么引入生成树协议为什么引入生成树协议为什么引入生成树协议为什么引入生成树协议l通过阻断冗余链路来消除桥接网络中可能存在的路径回环l当前活动路径发生故障时激活冗余备份链路恢复网络连通性ROOTROOTLAN ALAN ALAN BLAN BLAN CLAN CLAN DLAN DLAN ELAN E第4页,本讲稿共30页生成树协议的基本原理生成树协议的基本原理生成树协议的基本原理生成树协议的基本原理l基本思想:在网桥之间传递特殊的消息(配置消息),包含足够的信息做以下工作:从网络中的所有网桥中,选出一个作为根网桥(Root)计算本网桥到根网桥的最短路径对每个LAN,选出离根桥最近的那个网桥作为指定网桥,负责所在LAN上的数据转发网桥选择一个根端口,该端口给出的路径是此网桥到根桥的最佳路径选择除根端口之外的包含于生成树上的端口(指定端口)第5页,本讲稿共30页配置消息的内容配置消息的内容配置消息的内容配置消息的内容l配置消息也被称作桥协议数据单元(BPDU)l主要内容包括根网桥的Identifier(RootID)从指定网桥到根网桥的最小路径开销(RootPathCost)指定网桥的Identifier指定网桥的指定端口的Identifier即(RootID,RootPathCost,DesignatedBridgeID,DesignatedPortID)第6页,本讲稿共30页配置消息格式配置消息格式配置消息格式配置消息格式lDMA:目的MAC地址配置消息的目的地址是一个固定的桥的组播地址(0 x0180c2000000)lSMA:源MAC地址即发送该配置消息的桥MAC地址lL/T:帧长lLLC Header:配置消息固定的链路头lPayload:BPDU数据DMADMALLC HeaderLLC HeaderSMASMAL/TL/TPayloadPayload值值值值 域域域域占用字节占用字节占用字节占用字节协议协议协议协议IDID2 2协议版本协议版本协议版本协议版本BPDUBPDU类型类型类型类型标志位标志位标志位标志位根桥根桥根桥根桥IDID根路径开销根路径开销根路径开销根路径开销指定桥指定桥指定桥指定桥IDID指定端口指定端口指定端口指定端口IDIDMessage AgeMessage Age1 11 11 18 84 48 82 22 2Max AgeMax AgeHello TimeHello TimeForward DelayForward Delay2 22 22 2第7页,本讲稿共30页配置消息的处理配置消息的处理配置消息的处理配置消息的处理l将各个端口收到的配置消息和自己的配置消息做比较,得出优先级最高的配置消息更新本身的配置消息,主要工作有:选择根网桥RootID:最优配置消息的RootID计算到根桥的最短路径开销RootPathCost:如果自己是根桥,则最短路径开销为0,否则为它所收到的最优配置消息的RootPathCost与收到该配置消息的端口开销之和选择根端口RootPort:如果自己是根桥,则根端口为0,否则根端口为收到最优配置消息的那个端口选择指定端口:包括在生成树上处于转发状态的其他端口l从指定端口发送新的配置消息第8页,本讲稿共30页如何确定最优的配置消息如何确定最优的配置消息如何确定最优的配置消息如何确定最优的配置消息l配置消息的优先级比较原则,假定有两条配置消息C1和C2,则:如果C1的RootID小于C2的RootID,则C1优于C2如果C1和C2的RootID相同,但C1的RootPathCost小于C2,则C1优于C2如果C1和C2的RootID和RootPathCost相同,但C1的TransmitID小于C2,则C1优于C2如果C1和C2的RootID、RootPathCost和TransimitId相同,但C1的PortID小于C2,则C1优于C2第9页,本讲稿共30页一个接受并处理配置消息的例子一个接受并处理配置消息的例子一个接受并处理配置消息的例子一个接受并处理配置消息的例子l根据收到配置消息的优先级,选择Port4为根端口,选择Port1和Port2为指定端口,同时阻塞端口Port3和Port5。l从Port1和Port2发送新的配置消息:(23,15,81),其中,RootId=23RootPathCost=14+1=15RootPort=Port4Port 1Port 1Port 2Port 2Port 3Port 3Port 4Port 4Port 5Port 5blockingblockingblockingblocking3232,0 0,32322323,1818,1231232323,1414,3213212323,1414,1001002323,1515,80 80 rootroot2323,1515,8181B81B812323,1515,8181第10页,本讲稿共30页链路故障怎么办链路故障怎么办链路故障怎么办链路故障怎么办lHello Time网桥从指定端口以Hello Time为周期定时发送配置消息。lMessage Age和Max Age端口保存的配置消息有一个生存期Message Age字段,并按时间递增。每当收到一个生存期更小的配置消息,则更新自己的配置消息。当一段时间未收到任何配置消息,生存期达到Max Age时,网桥则认为该端口连接的链路发生故障,进行故障的处理。第11页,本讲稿共30页链路故障处理一链路故障处理一链路故障处理一链路故障处理一lPort4的配置消息生存期超时了,则抛弃该配置消息,重新进行生成树计算,选择Port3为新的根端口,而网桥81的配置消息没有变化2323,1818,123123Port 1Port 1Port 2Port 2Port 3Port 3Port 4Port 4Port 5Port 5blockingblocking2323,1414,3213212323,1515,80 80 2323,1515,81 81 rootrootB81B813232,0 0,32322323,1515,81812323,1515,8181第12页,本讲稿共30页链路故障处理二链路故障处理二链路故障处理二链路故障处理二lPort3的配置消息生存期也超时了,则抛弃该配置消息,重新进行生成树计算,选择Port5为新的根端口,网桥81的配置消息变为(23,16,81)Port 1Port 1Port 2Port 2Port 3Port 3Port 4Port 4Port 5Port 52323,1515,80 80 2323,1616,81 81 rootroot2323,1616,81 81 3232,0 0,32322323,1818,1231232323,1616,81812323,1616,8181B81B81第13页,本讲稿共30页链路故障处理三链路故障处理三链路故障处理三链路故障处理三lPort5的配置消息生存期也超时了,则抛弃该配置消息,以自己为根桥发送配置消息(81,0,81),直到从任一个端口收到优先级更高的配置消息Port 1Port 1Port 2Port 2Port 3Port 3Port 4Port 4Port 5Port 58181,0 0,81818181,0 0,81818181,0 0,81 81 8181,0 0,81 81 8181,0 0,81 81 B81B81第14页,本讲稿共30页临时回路的问题临时回路的问题临时回路的问题临时回路的问题l当拓扑结构发生变化,新的配置消息要经过一定的时延才能传播到整个网络,在所有网桥收到这个变化的消息之前:若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时的回环;若旧的拓扑结构中阻塞的端口还没有发现自己应该在新的拓扑结构中开始转发,则可能造成网络暂时失去连通性。第15页,本讲稿共30页如何避免临时回路如何避免临时回路如何避免临时回路如何避免临时回路l端口由阻塞状态进入转发状态时,要经过一定时间的延时,这个时间起码是配置消息传播到整个网络所需最大时间的两倍。lForward Delay:配置消息传播到整个网络的最大时延设计中间状态:处于中间状态的端口只是学习站点的地址信息,但不转发数据;端口从阻塞状态经过Forward Delay的延时后进入中间状态;再经过Forward Delay的延时后才能进入转发状态。第16页,本讲稿共30页端口的几种状态端口的几种状态端口的几种状态端口的几种状态端口状态端口能力Disabled不收发任何报文Blocking不接收或转发数据,接收但不发送BPDUs,不进行地址学习Listening不接收或转发数据,接收并发送BPDUs,不进行地址学习Learning不接收或转发数据,接收并发送BPDUs,开始地址学习Forwarding接收并转发数据,接收并发送BPDUs,进行地址学习第17页,本讲稿共30页端口的状态迁移端口的状态迁移端口的状态迁移端口的状态迁移DisabledDisabledListeningListeningBlockingBlockingForwardingForwardingLearningLearning1 1)端口)端口enabledenabled2 2)端口)端口disableddisabled3 3)端口被选为根端口或指定端口)端口被选为根端口或指定端口4 4)端口被选为备用端口(阻塞)端口被选为备用端口(阻塞)5 5)Forward DelayForward Delay延时延时(1 1)(2 2)(1 1,2 2)(1 1,2 2)(1 1,2 2)(1 1)(2 2)(4 4)(4 4)(5 5)(4 4)(5 5)(3 3)第18页,本讲稿共30页MACMAC地址信息的生存期地址信息的生存期地址信息的生存期地址信息的生存期l拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息。l在生成树协议中有两个生存期:拓扑稳定的时候用较长的生存期。拓扑改变的时候用较短的生存期。l网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑改变的信息通知到整个网络。第19页,本讲稿共30页站点的相对位置发生变化站点的相对位置发生变化站点的相对位置发生变化站点的相对位置发生变化LAN ALAN ALAN BLAN BLAN CLAN CLAN ELAN ELAN DLAN DROOTROOTB1B1B2B2B3B3B4B4第20页,本讲稿共30页拓扑改变消息的传播拓扑改变消息的传播拓扑改变消息的传播拓扑改变消息的传播ROOTROOT拓扑改变通知消息拓扑改变通知消息拓扑改变应答消息拓扑改变应答消息拓扑改变消息拓扑改变消息1 13 32 24 44 45 55 5第21页,本讲稿共30页生成树协议的不足生成树协议的不足生成树协议的不足生成树协议的不足l端口从阻塞状态进入转发状态必须经历两倍的Forward Delay时间,所以网络拓扑结构改变之后需要至少两倍的Forward Delay时间,才能恢复连通性。l如果网络中的拓朴结构变化频繁,网络会频繁的失去连通性,这样用户就会无法忍受。第22页,本讲稿共30页快速生成树协议快速生成树协议快速生成树协议快速生成树协议l快速生成树协议是从生成树协议发展而来,实现的基本思想一致;l快速生成树具备生成树的所有功能;l快速生成树改进目的就是当网络拓扑结构发生变化时,尽可能快的恢复网络的连通性。第23页,本讲稿共30页快速生成树的改进一快速生成树的改进一快速生成树的改进一快速生成树的改进一l在新拓扑结构中的根端口可以立刻进入转发状态,如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端交换机的指定端口处于Forwarding状态。LAN ALAN ATO ROOTTO ROOTLAN ALAN ALAN ALAN ALAN ALAN AF FF F指定端口指定端口指定端口指定端口根端口根端口阻塞端口阻塞端口F FLAN ALAN ALAN ALAN AF FF F指定端口指定端口指定端口指定端口根端口根端口阻塞端口阻塞端口F FTO ROOTTO ROOT第24页,本讲稿共30页快速生成树的改进二快速生成树的改进二快速生成树的改进二快速生成树的改进二l指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态。LAN BLAN BLAN ALAN AF F指定端口指定端口根端口根端口握手请求握手请求握手响应握手响应1 12 23 34 4第25页,本讲稿共30页注意!注意!注意!注意!l两点注意:握手必须在点对点链路的条件下进行一次握手之后,响应握手的网桥的非边缘指定端口将变为blocking状态,则需要继续向自己的邻接网桥发起握手LAN ALAN ALAN BLAN BLAN CLAN CLAN ALAN AF F指定端口指定端口指定端口指定端口指定端口指定端口F FF F非点到点链路非点到点链路握手的扩散握手的扩散第26页,本讲稿共30页快速生成树的改进三快速生成树的改进三快速生成树的改进三快速生成树的改进三l网络边缘的端口,即直接与终端相连,而不是和其他网桥相连的端口可以直接进入转发状态,不需要任何延时。LAN BLAN BLAN CLAN CLAN ALAN A根端口根端口边缘端口边缘端口LAN DLAN DF FTO ROOTTO ROOT阻塞端口阻塞端口第27页,本讲稿共30页快速生成树的性能快速生成树的性能快速生成树的性能快速生成树的性能l第一种改进的效果:发现拓扑改变到恢复连通性的时间可达数毫秒,并且无需传递配置消息。l第二种改进的效果:网络连通性可以在交换两个配置消息的时间内恢复,即握手的延时;最坏的情况下,握手从网络的一边开始,扩散到网络的另一边缘的网桥,网络连通性才能恢复。比如当网络直径为7的时候,要经过6次握手。l第三种改进的效果:边缘端口的状态变化不影响网络连通性,也不会造成回路,所以进入转发状态无需延时。第28页,本讲稿共30页生成树和快速生成树有何区别生成树和快速生成树有何区别生成树和快速生成树有何区别生成树和快速生成树有何区别l协议版本不同;l端口状态转换方式不同;l配置消息报文格式不同;l拓扑改变消息的传播方式不同。l注意:快速生成树也是在整个交换网络应用单生成树实例,不能解决由于网络规模增大带来的性能降低问题。建议网络直径最好不要超过7。第29页,本讲稿共30页第30页,本讲稿共30页