[信息与通信]生成树协议原理与应用.doc_第1页
[信息与通信]生成树协议原理与应用.doc_第2页
[信息与通信]生成树协议原理与应用.doc_第3页
[信息与通信]生成树协议原理与应用.doc_第4页
[信息与通信]生成树协议原理与应用.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

生成树协议原理及应用目录1生成树协议综述31.1 生成树协议的产生背景31.2 生成树协议的分类31.3 生成树协议所遵循的IEEE标准32 STP协议概述42.1 STP工作原理42.2配置消息介绍42.2.1 配置消息格式52.2.2 配置消息的处理62.2.3 配置消息的优先级比较原则62.2.4 配置消息处理示例72.3 链路故障处理112.3.1 链路故障处理示例112.4 临时环路的问题122.4.1 临时环路的避免122.5 端口状态132.5.1 端口状态迁移142.6 MAC地址消息的生存期152.7 拓扑改变消息的传播153 RSTP协议概述173.1 STP的不足173.2 RSTP改进183.3 RSTP的性能213.4 RSTP与STP的区别213.5 RSTP与STP的兼容213.6 RSTP可配置的相关参数223.6.1 RSTP相关配置-选择合适根桥233.6.2 RSTP相关配置-配置Hello Time233.6.3 RSTP相关配置-配置端口的Max Age233.6.4 RSTP相关配置-配置端口的Forward Delay234 MSTP协议概述244.1 RSTP的不足244.2 MSTP简介254.3 MSTP相关概念254.3.1 MSTP region的划分254.3.2 MSTP运行示例-IST264.3.3 MSTP运行示例-CST385生成树在实际工程中的应用395.1 环路预防395.1.1 实际应用举例415.2冗余备份425.2.1纯二层冗余备份425.2.2与 VRRP结合使用431生成树协议综述1.1 生成树协议的产生背景LAN 1LAN 2存在单点故障冗余的设计又会带来环路,导致广播风暴如上图所示,单点网络会存在单点故障,但是冗余的网络设计又会导致环路发生,引起广播风暴,造成网络的不稳定。因此诞生了一种叫做生成树的协议来解决该问题。1.2 生成树协议的分类生成树协议的分类,按照产生的时间先后顺序为STP、RSTP、MSTP1.3 生成树协议所遵循的IEEE标准三种生成树所遵循的IEEE标准分别为STP-IEEE 802.3d,RSTP-IEEE 802.3W,MSTP-IEEE 802.3S2 STP协议概述STP通过阻断冗余链路将一个有环路的桥接网络修剪成一个无环路的树型拓扑结构,这样既解决了环路问题,又能在某条活动(active)的链路断开时, ,通过激活被阻断的冗余链路重新修剪拓扑结构以恢复网络的连通。LAN 1LAN 2该链路处于阻塞状态如上图所示,将冗余的链路阻断,形成一个无环的拓扑,并当某条活动链路断开时,激活被阻断的冗余链路以恢复网络的连通。2.1 STP工作原理基本思想:在网桥之间传递配置消息(BPDU),网桥利用收到的配置消息做以下工作:1从网络中的所有网桥中,选出一个作为根网桥(root)2计算本网桥到根网桥的最短路径3对每个LAN,选出离根桥最近的那个网桥作为指定网桥,负责所在LAN上的数据转发4网桥选择一个根端口,该端口给出的路径是次网桥到根桥的最短路径5选择除根端口之外的转发端口-指定端口2.2配置消息介绍配置消息也被称作桥协议数据单元(BPDU),它主要包括以下内容:即桥接网络中的根桥ID,从指定网桥到根网桥的最小路径开销,指定网桥ID和指定端口ID四项内容。网桥之间通过传递这些内容就足以能够完成生成树的计算。为了叙述方便,我们可以用矢量形式(RootID,RootPathCost,BridgelD,PortlD)来描述某个网桥所发出的BPDU内容。BridgeID组成,Bridge Priority(2bytes) + bridge MAC(6 Bytes)2.2.1 配置消息格式字节数域2Protocol id1Version1Message type1Flags8Root id4RootPathCost8Bridge id2Port id2Message age2Maximum time2Hello time2Forward delayProtocol ID:取值0,标识STP协议,占用个bytes;Version:标准指定为,占用1个byte;Message Type:填充值,占用个byte;Flags:占用个byte,只用前个bits,TC(topology change)位指示拓扑结构改变,TCA(topology change acknowledgment)位表示收到对端交换机拓扑改变指示位而做出确认;Root ID:根网桥标识,由两部分构成。一部分为Root Priority:占用个bytes,标识根网桥的优先级,取值为65535,默认值一般为32768;另一部分为根网桥的MAC地址,占用个bytes;Cost of Path :路径费用,占用个bytes,表示从该网桥到根网桥的路径费用总和;Bridge ID:本网桥标识,由两部分构成。一部分为Bridge Priority,另一部分为本网桥的MAC地址,格式同Root ID;Port ID:包括两个部分,端口优先级及端口号,各占用个byte;端口优先级取值为0255,默认值为128;Message Age:占用个bytes,表示根网桥发送有效BPDU报文的时间;Max Age:占用个bytes,表示删除根网桥配置消息等待的最大时间;Hello Time:占用个bytes,表示BPDU报文的发送周期;Forword Delay:占用个bytes,表示在过滤数据库中,指示网络拓扑改变的BPDU动态条目的老化时间;同时也表示交换机端口从监听状态到学习状态/从学习状态到转发状态所经历的时延。2.2.2 配置消息的处理那么我们是如何根据配置消息优先级比较的结果计算生成树的呢?主要分如下的几个步骤进行:1.选择根桥RootID:最优配置消息的RootID2.计算到根桥的最短路径开销RootPathCost:如果自己是根桥,则最短路径开销为0,否则为它所收到的最优配置消息的RootPathCost与收到该配置消息的端口开销之和.3.更新配置消息:更新RootID、RootPathCost等参数,交换机继续广播发送新配置消息。4.选择根端口RootPort:如果自己是根桥,则根端口为0,否则根端口为收到最优配置消息的那个端口5.选择指定端口:包括在生成树上处于转发状态的其他端口6.从指定端口发送更优的配置消息2.2.3 配置消息的优先级比较原则假定有两条配置消息C1和C2,则:1.如果C1的RootID小于C2的RootID,则C1优于C22.如果C1和C2的RootID相同,但C1的RootPathCost小于C2,则C1优于C23.如果C1和C2的RootID和RootPathCost相同,但C1的发送网桥ID小于C2,则C1优于C24.如果C1和C2的RootID、RootPathCost和发送网桥ID相同,但C1的发送网桥的PortID小于C2,则C1优于C2需要说明的是,如果前三者都相同,表明发送网桥的两个端口连接到一个物理LAN上。2.2.4 配置消息处理示例 port 1 port 2 port 3 port 4BridgeID=5032,0,32 23,18,20 23,14,8023,14,70 BlockingRootDesignateDesignate23,15,5023,15,50如上图所示,一个桥ID=50的交换机,分别从它的各个端口收到配置消息:Port1:(32,0,32)Port2:(23,18,20)Port3:(23,14,80)Port4:(23,14,70)配置消息的主要内容为(RootID,RootPathCost,BridgelD,PortlD),在这里为了简化,不考虑PortID,只考虑前三项。1. 选举根桥。通过比较优先级,可以看到桥ID=23是最好的根桥,从本网桥到达根桥的距离为14+1=15,并更新自己的配置消息为(23,15,50)。2. 选举根端口。从port3和port4中选举一个根端口,port3和port4上收到的配置消息的前两项RootID,RootPathCost相同,按照配置消息比较原则,比较发送网桥ID,可以看到Port4上收到的配置消息发送网桥ID较小,因此选举Port4做为根端口。3. 选举指定端口。用自己的配置消息与从各端口(除根端口外的其他端口)收到的配置消息进行比较,如果自己的配置消息优于从端口上收到的配置消息,则把自己的这个端口置为指定端口,并发送自己的配置消息。如果自己的配置消息不如从端口上收到的配置消息,则把自己的这个端口置为阻塞状态。通过比较可以看到port 3上收到的配置消息比自己的配置消息更优,因此就将Port3置为阻塞状态,自己的配置消息比port1和port2上收到的配置消息更优,因此将port1和port2置为指定端口,并开始发送自己的配置消息。以上是我们从单台交换机的角度来描述通过配置消息的处理来完成端口的选举,只要掌握了比较的方法,对于判断复杂的生成树计算是很容易的,下面我们再以多台交换机组成的一个比较复杂网络拓扑为例(每条链路花费相等都为1),按照上面的方法,计算生成树稳定后的拓扑结构。SW6 BID=6SW3 BID=3SW1 BID=1SW2 BID=2SW4 BID=4SW5 BID=5SW6 BID=6下面我们来开始生成树的工作过程:1 选举根桥。在各交换机启动时,还没有收到其他交换机发过来的配置消息,都认为自己为根桥,并向外广播自己的配置消息(RootID等于自己的BridgeID),等泛洪过后,所有的交换机都知道了谁的BridgeID最小,就选举谁为根桥,所有交换机都选举SW1为根桥,同时更新自己的配置消息,将RootID设置为SW1的BridgeID,并将这个最新的配置消息继续广播出去。各交换机的最新配置消息SW2(1,1,2) SW3(1,1,3 ) SW4(1,2,4) SW5(1,3,5) SW6(1,2,6)2 选举根端口。在除根桥外的其他所有交换机上必须选举一个根端口,根端口选举的原则是比较所有端口上接收到的配置消息的优先顺序(按照配置消息比较原则),选举一个接收到最优配置消息的端口为根端口。那么根据这个原则,我们可以从上面的拓扑结构中挑出那些是根端口。321SW1 BID=1SW2 BID=2SW3 BID=3SW4 BID=4SW5 BID=5SW6 BID=6根端口3 选举指定端口。用除根端口外的其他端口上所接收到的配置消息与自己的配置消息做对比,以SW4为例,SW4上保存的配置消息为(1,2,4),从各端口接收到的配置消息分别为Port1(1,2,3)Port2(1,3,6)Port3 (1,4,5),根据配置消息比较原则,Port1上收到的配置消息比SW2自己的配置消息更优,所以Port1被置为阻塞状态,Port2和Port3上的配置消息不如SW2自己的配置消息,因此Port2和Port3被置为指定端口,并从Port2和Port3发送SW2的配置信息(1,2,4),同理,其他交换机按照此原则,也都完成了指定端口的选举和阻塞端口的选择,最后生成树计算稳定后的拓扑如下图所示:SW1 BID=1SW2 BID=2SW3 BID=3SW4 BID=4SW5 BID=5SW6 BID=6根端口指定端口阻塞端口2.3 链路故障处理如果活动的链路发生故障怎么办呢?生成树算法提供了一种定时器策略,配置消息中携带了一个生存期的域值,根网桥从它的所有端口周期性的发送生存期为0的配置消息,收到配置消息的网桥也同样从自己的指定端口发送自己的生存期为O的配置消息。如果生成树的枝条出现故障,则这条链路下游的端口将不会收到新鲜的配置消息,自己的配置消息的生存期值不断增长,直至到达一个极限。该网桥将抛弃这个过时的配置消息,重新开始生成树计算。其中,定时发送的周期为hello time;配置消息的生存期为message age;最大生存期为max age。默认情况下,交换机每隔2s发送一次配置消息,max age为20s,也就说端口连续收不到10个配置消息,就会开始生成树的重新计算。2.3.1 链路故障处理示例 port 1 port 2 port 3 port 4BridgeID=5032,0,32 23,18,20 23,14,8023,14,70 RootDesignateDesignate23,15,5023,15,50Port4的配置消息生存期(Message Age达到Max Age)超时了,则抛弃该配置信息,重新进行生成树计算,选择Port3为新的根端口,而该网桥的配置信息没有发生变化,仍为(23,15,50) port 1 port 2 port 3 port 4BridgeID=5032,0,32 23,18,20 23,14,8023,14,70 RootDesignate23,19,50Port3的配置消息生存期也超时了,则抛弃该配置信息,重新进行生成树计算,选择Port2为新的根端口,该网桥的配置信息变为(23,19,50)2.4 临时环路的问题当拓扑结构发生变化,新的配置消息要经过一定的时延才能传播到整个网络,在所有网桥收到这个变化的消息之前,会有两种可能存在:若旧拓扑中处于转发状态的端口还没发现自己应该在新的拓扑中停止转发,则可能存在临时的环路若旧的拓扑结构中阻塞的端口还没有发现自己应该在新的拓扑结构中开始转发,则可能造成网络暂时失去连通性这两种可能会对网络造成不利的影响,为此成树算法的定时器策略提供了一种很好的解决方案2.4.1 临时环路的避免端口由阻塞状态进入转发状态时,要经过一定时间的延时,这个时间起码是配置消息传播到整个网络所需最大时间的两倍定义Forward为配置消息传播到整个网络的最大时延,设计中间状态:处于中间状态的端口只是学习站点的地址信息,但不转发数据;端口从阻塞状态经过Forward Delay的延时后进入中间状态;再经过Forward Delay的延时后才能进入转发状态。2.5 端口状态端口状态端口能力Disabled不收发任何报文Blocking不接收或转发数据,接收但不发送BPDU,不进行地址学习Listening不接收或转发数据,接收并发送BPDU,不进行地址学习Learning不接收或转发数据,接收并发送BPDU,开始地址学习Forwarding接收并转发数据,接收并发送BPDU,进行地址学习为解决临时回路的问题,生成树协议引入了若干中间状态,在802.1D的协议中,端口有这样几种状态:Disabled:表示该端口不可用,不接收和发送任何报文。这种状态可以是由于端口的物理状态导致的,也可能是管理者手工配置的。Blocking:处于这个状态的端口不能够参与转发数据报文,但是可以接收配置消息,并交给CPU进行处理。不过不能发送配置消息,也不进行地址学习。Listening:处于这个状态的端口也不参与数据转发,不进行地址学习;但是可以接收并发送配置消息。learning:处于这个状态的端口同样不能转发数据,但是开始地址学习,并可以接收、处理和发送配置消息。forwarding:一旦端口进入该状态,就可以转发数据了,同时也进行地址学习和配置消息的接收、处理和发送。2.5.1 端口状态迁移DisabledListeningBlockingLearningForwarding(1)(2)(5)(1,2)(4)(5)(1,2)(3)(4)(4)(1,2)(1,2)图中显示了端口的五种状态的迁移关系。 从图中我们可以看出来,当一个端口被选为根端口或指定端口,就会从blocking状态迁移到一个中间状态listening状态;经历forward delay的延时,迁移到下一个中间状态learning状态;再经理一个forward delay延时,迁移到forwarding状态。当一个端口由于拓扑发生改变不再是根端口或指定端口了,就会立刻迁移到blocking状态。 并且,处于任何状态的端口都可能因为端口可用或者不可用变成disabled状态。从listening迁移到learning,或者从learning迁移到forwarding状态,都需要经过forward delay 延时,通过这种延时迁移的方式,能够保证网络中需要迁移到discarding状态的端口已经完成了迁移,因此能够有效地避免临时环路的形成。2.6 MAC地址消息的生存期拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息。重新生成一棵生成树会改变多个站点的位置。而且这种逻辑上的位置改变站点本身是无法主动觉察到的,因此也就不能通过某种特殊机制(如发广播包)来修正站点的地址信息。如果地址表的老化时间值大于生成树计算所需的时间,需要有两个超时时间值。在生成树协议中有两个生存期:拓扑稳定的时候用较长的生存期拓扑改变的时候用较短的生存期网络拓扑发生改变的时候,并不是所有的网桥能够发现这一变化,如果不能发现这一变化,也就无法来选择使用哪个超时时间,所以要把拓扑改变的信息通知到整个网络。2.7 拓扑改变消息的传播1234455拓扑改变通知消息拓扑改变应答消息拓扑改变消息如上图所示,当网络发生变化的时候,并不是所有交换机都能感知到这种变化,生成树是通过一种拓扑改变消息机制来通知所有的交换机,网络已经发生了变化,地址表项已经出现了异常,必须给学习到的地址表项设置较短的生存期。拓扑改变报文有三种:拓扑改变通知消息,拓扑改变应答消息,拓扑改变消息。下面分别来介绍一下这三种报文:1.拓扑改变通知消息:发现拓扑改变的网桥从根端口以hello time为周期定时向根网桥的方向发送拓扑改变通知消息,每一个收到这个通知消息的非根网桥也同样要向根桥的方向发送这个消息。这个消息是一个格式比较特殊的报文,它没有数据项,只需要要让根知道拓扑改变即可。2.拓扑改变应答消息:收到拓扑改变通知消息的网桥如果不是根网桥需要响应一个拓扑改变应答消息,收到应答消息的网桥就知道了:哦,你已经收到我的通知消息,那我就停止发送通知消息吧。这个消息是携带在该网桥发送的下一个配置消息中,用一个拓扑改变应答标志位来标识。3.拓扑改变消息:根网桥收到拓扑改变通知消息,或者自己发现拓扑改变之后,则在一个时间段内,再以hello time为周期定时想其他网桥发送的配置消息中,携带一个拓扑改变的标志位。收到这个消息的网桥将会应用哪个较段的地址表项生存期,直到收到的消息中不再有这个标志。上图中显示了拓扑改变通知的全过程。3 RSTP协议概述3.1 STP的不足在前面我们介绍了有关生成树协议的一些特性。在实际的应用中,生成树协议也有很多美中不足的地方。最主要的缺点是端口从阻塞状态到转发状态需要两倍的forward delay时延,导致网络的连通性至少要几十秒的时间之后才能恢复。如果网络中的拓扑结构变化频繁,网络会频繁的失去连通性,这样用户就会无法忍受。为此,推出了一种新的生成树协议RSTPRSTP(快速生成树协议)是从STP发展而来,实现的基本思想一致;RSTP具备STP的所有功能;RSTP改进的目的就是当网络拓扑结构发生变化时,尽可能快的恢复网络的连通性。3.2 RSTP改进快速生成树从三个方面实现“快速”功能:1.一个新的根端口从阻塞到转发:如果旧的根端口已经知道自己不再是根端口了,并进入阻塞状态,且此时新的根端口连接的网段的指定端口正处于转发状态。那么这个新的根端口就可以无延时的进入转发状态。下图所示的情况就是一种典型的根端口快速状态迁移的例子。RootBridge根端口指定端口阻塞端口当网络发生故障时,阻塞端口迅速的切换为根端口。RootBridge在RSTP中,引入了两个新的端口角色,替换端口和备份端口。那么在这里,我们在做一下STP和RSTP的端口状态和端口角色的比较。STP的端口状态:Blocking、Listening、Learning、forwarding、disabled,这个在前面已经讲过,这里不再重复。STP的端口角色:RootPort、DesignatedPort、DiscardingPort(生成树协议关闭的端口)RSTP的端口状态:Discarding、Learning、ForwardingRSTP的端口角色:RootPort、DesignatedPort、AlternatePort、BackupPort、DisablePort其中,AlternatePort:根端口的备份口,一旦根端口实效,该口就立刻变为根端口。BackupPort:DesignatePort的备份口,当一个网桥有两个端口都连在一个LAN上,那么高优先级的端口为DesignatedPort,低优先级的端口为BackupPort。2一个非边缘指定端口从阻塞到转发:“非边缘”的意思是这个端口连接着其他的网桥,而不是只连接到终端设备。等待进入转发状态的指定端口向下游发送一个握手请求报文,如果下游的网桥响应了一个赞同报文,则这个指定端口就可以无延时的进入转发状态。握手请求报文是在该端口发送的下一个配置消息中,用一个握手标志位来标识:握手响应报文也是携带在端口发送的下一个配置消息中,用一个赞同标志位来标识。下图所示的情况是一个典型的非边缘指定端口快速协议状态迁移的例子。SW1SW2当两台交换机相连时,开始都发送配置消息。SW1SW2proposalSW1发送完配置消息后,发送了一个握手请求报文给SW2SW1SW2proposalagree收到这个握手请求报文后,发现SW1的BridgeID比自己小,因此就选举SW1为根桥,同时返回握手响应报文,并将收到握手请求报文的端口置为根端口。SW1SW2proposalagreeSW1上的指定端口收到握手响应报文就开始进入转发状态。不过这种快速状态迁移需要一个前提条件:发起握手的端口与响应握手的端口之间是一条点对点链路。如果这个条件不满足,握手将不会被响应。那么这个指定端口只好等待两倍的forward delay时延了。还有一点需要注意的,响应握手的网桥只有在把自己的非边缘指定端口迁移到阻塞blocking状态之后,才会响应一个赞同报文。那么响应握手的网桥的非边缘指定端口也需要向下游发起握手,重复这个过程。3.边缘端口从阻塞到转发:这一点很好理解,所谓“边缘端口”是指那些直接和终端设备相连,不再连接任何网桥的端口。这些端口的状态并不影响整个网络的连通,也不会造成任何的环路。所以网桥启动以后,这些端口可以无时延的快速进入转发状态。3.3 RSTP的性能快速生成树改进后的性能归纳如下:1.如果网络的拓扑变化是根端口的改变引起的,并且有一个备用的端口可以成为新的根端口的话,那么故障恢复的时间就是根端口的切换时间,无需延时,无需传递配置消息,只是一个处理的延时。如果CPU足够快的话,这个恢复时间你可能根本就没觉察到。2.如果网络的拓扑变化是指定端口的变化引起的,并且也有一个备用端口可以成为新的指定端口的话,那么故障恢复的时间就是一次握手的时间。而一次握手的时间就是发起握手请求和握手响应的端口各发送一次配置消息的时间,即两倍的hello time。不过握手的扩散往往使情况糟糕一点,最坏的情况是:握手从网络的一边开始,扩散到网络的另一边,比如网络的直径为7的情况,最多要经过六次握手,网络的连通性才能被恢复。3.如果网络的拓扑变化是边缘端口的变化引起的,无需延时。网络的连通性根本不受影响。3.4 RSTP与STP的区别除了端口状态迁移方面的改进,快速生成树协议与生成树协议的区别还有很多。总结一下:1.协议版本不向:在发送配置消息中有一个域携带了协议版本号。2.端口状态迁移方式不同; 3.配置消息的格式不同; 4.拓扑改变消息的传播方式不同。 这些改进都是为了配合“快速”的需求。3.5 RSTP与STP的兼容SW1(RSTP)SW2(STP)STP BPDUSTP BPDURSTP 协议可以与STP 协议完全兼容RSTP 协议会根据收到的BPDU 版本号来自动判断与之相连的网桥是支持STP 协议还是支持RSTP 协议,如果是与STP 网桥互连就只能按STP 的forwarding 方法,过30 秒再forwarding,无法发挥RSTP 的最大功效。SW1(RSTP)SW3(RSTP)STP BPDUSTP BPDUSW2换成了支持RSTP的SW3,但由于SW1仍然发送STP BPDU,导致两台支持RSTP的交换机运行着STP。SW1(RSTP)SW3(RSTP)RSTP BPDURSTP BPDURSTP提供了protocol-migration 功能来强制发RSTP BPDU,这样SW1 强制发了RSTPBPDU,SW3 就发现与之互连的网桥是支持RSTP 的,于是两台交换机开始运行RSTP。3.6 RSTP可配置的相关参数网桥的优先级(BridgePriority)端口的优先级(PortPriority)端口对应链路的路径开销(PortPathCost)三个重要的定时器参数(HelloTime/Max Age/Forward Delay)相关参数的默认值参数名称缺省值BridgePriority32768PortPriority128PortPathCost根据端口速率自动判断Hello Time2秒Forward-delay 15秒Max-age Time20秒带宽COST值10G21G4100M1910M1003.6.1 RSTP相关配置-选择合适根桥如果网络中的所有交换机都保持默认配置,即所有的交换机都具有相同的优先级,那么MAC地址小的交换机将具有最小的BridgeID,将被选举为根桥,但该交换机未必是理想的根桥,可以更改网桥的优先级手动指定根桥:配置方法为: Switch(config)#spanning-tree priority priority3.6.2 RSTP相关配置-配置Hello TimeHello Time的配置需要注意:较长的Hello Time可以降低生成树计算的消耗;较短的Hello Time可以在丢包率较高的时候,增强生成树的健壮性。但是,过长的Hello Time会导致链路故障的错误判断;过短的Hello Time导致频繁发送配置消息,增大交换机CPU和网络负担。配置方法为:Switch(config)#spanning-tree hello-time interval3.6.3 RSTP相关配置-配置端口的Max AgeMax age的配置需要注意:过长的Max Age会导致链路故障不能被及时发现;过短的Max Age可能会在拥塞的时候使交换机错误认为链路故障,造成频繁生成树计算。配置方法为:Switch(config)#spanning-tree max-age interval3.6.4 RSTP相关配置-配置端口的Forward DelayForward Delay的配置需要注意:过长的Forward Delay会导致生成树的收敛太慢;过短的Forward Delay可能会在拓扑发生改变的时候,引入暂时的环路。配置方法为:Switch(config)#spanning-tree forward-time interval4 MSTP协议概述4.1 RSTP的不足RSTP(包括STP)在计算拓扑时,是以交换机为基本单位,与VLAN毫无任何关系,那么在特定的拓扑结构下,就会出现如下问题:vlan10vlan10vlan20vlan20vlan10vlan10vlan20vlan20DiscardingSW1SW2SW3SW4SW1SW3SW2SW4如果在1和2间的链路给Discarding。由于交换机3、4 不包含vlan10,无法转发vlan10 的数据包,这样SW1 的vlan10 就无法与SW2 的vlan10 进行通讯。在实际工程中,如果使用RSTP只能做到冗余备份,无法做到按照VLAN流量来进行负载均衡,如下图所示:Vlan10Vlan20Vlan10Vlan20Vlan10Vlan204.2 MSTP简介MSTP是在传统的STP、RSTP 的基础上发展而来的新的生成树协议,本身就包含了RSTP的快速Forwarding 机制。MSTP是基于实例来进行无环拓扑计算,既避免了环路的产生,也能让相同vlan 间的通讯不受影响。4.3 MSTP相关概念instance:一台交换机的一个或多个vlan 的集合MST Region:有着相同instance 配置的交换机组成的域,运行独立的生成树(IST,internal spanning-tree)CST(common spanning tree):不同MST region 之间运行的生成树。4.3.1 MSTP region的划分MST 配置名称(name):最长可用32 个字节长的字符串来标识MSTP region。MST revision number:用一个16bit 长的修正值来标识MSTP region。MST instancevlan 的对应表:每台交换机都最多可以新增64 个instance,instance 0 是强制存在的,用户还可以按需要分配1-4094 个vlan 属于不同的instance(064),未分配的vlan 缺省就属于instance 0。 注:instance 0 所对应的生成树称为CIST(Common Instance Spanning Tree)MSTP BPDU里面包含MST 配置名称、 MST revision number、 MST instancevlan 的对应表,如果在一个端口上收到的BPDU里面MST配置信息与本地的一致,那么就可以认为该端口上所连接的交换机与本交换机处于同一个MST Region,运行相同的IST。4.3.2 MSTP运行示例-ISTSW1SW2SW3首先划分MST region,三台交换机上分别创建了vlan 10,20,其中vlan10,20属于instance 1,vlan 30,40属于instance 2,配置如下:spanning-mst configrationinstance 1 vlan 10instance 1 vlan 30name test (名称自定义,但必须保持一致)可选配置 revision 1 (号码必须保持一致)可选配置配置三台交换机上各实例的优先级SW1 spanning-tree instance 0 priority 4096SW1 spanning-tree instance 1 priority 4096SW1 spanning-tree instance 2 priority 8192SW2 spanning-tree instance 0 priority 4096SW2 spanning-tree instance 1 priority 8192SW2 spanning-tree instance 2 priority 4096SW3上保持默认的优先级配置即32768完成了如上的配置之后,经过BPDU的交流,IST就生成了,而各个instance也生成了独立的生成树(MSTI)instace 0 的拓扑情况选举根桥:SW1具有最高优先级4096选为根桥,SW2和SW3更新自己的配置消息。SW2(4096,1,8192) SW3(4096,1,32768)选举根端口:SW1是根桥,无根端口,其他交换机根据收到的最优配置信息的端口,设置根端口选举指定端口:根桥上的所有端口都为指定端口,其他交换机上比较在除根端口以外的其他端口上所收到的配置信息与自己的配置信息,如果自己的配置信息优于所接收到的配置信息,那么这个端口将被置为指定端口,否则被置为阻塞端口最后稳定后的拓扑如下图所示SW1SW3SW2根端口指定端口阻塞端口instace 0 所对应的生成树称为CIST(Common Instance Spanning Tree)配置验证SW1上关于instance 0的生成树协议状态SW1# sh spanning-tree mst 0# MST 0 vlans mapped : 1-9,11-19,21-4094BridgeAddr : 00d0.f8ff.a1a6Priority : 4096TimeSinceTopologyChange : 0d:0h:4m:37sTopologyChanges : 0DesignatedRoot : 100000D0F8FFA1A6RootCost : 0RootPort : 0CistRegionRoot : 100000D0F8FFA1A6CistPathCost : 0SW1#sh spanning-tree int f 0/1# MST 0 vlans mapped : 1-9,11-19,21-4094PortState : forwardingPortPriority : 128PortDesignatedRoot : 100000D0F8FFA1A6PortDesignatedCost : 0PortDesignatedBridge : 100000D0F8FFA1A6PortDesignatedPort : 8001PortForwardTransitions : 1PortAdminPathCost : 0PortOperPathCost : 200000PortRole : designatedPortSW1#sh spanning-tree int f 0/2# MST 0 vlans mapped : 1-9,11-19,21-4094PortState : forwardingPortPriority : 128PortDesignatedRoot : 100000D0F8FFA1A6PortDesignatedCost : 0PortDesignatedBridge : 100000D0F8FFA1A6PortDesignatedPort : 8002PortForwardTransitions : 1PortAdminPathCost : 0PortOperPathCost : 200000PortRole : designatedPortSW2上关于instance 0 的生成树协议状态:SW2# sh spanning-tree mst 0# MST 0 vlans mapped : 1-9,11-19,21-4094BridgeAddr : 00d0.f8b3.1f3cPriority : 8192TimeSinceTopologyChange : 0d:0h:5m:46sTopologyChanges : 0DesignatedRoot : 100000D0F8FFA1A6RootCost : 0RootPort : Fa0/1CistRegionRoot : 100000D0F8FFA1A6CistPathCost : 200000SW2#sh spanning-tree int f 0/1# MST 0 vlans mapped : 1-9,11-19,21-4094PortState : forwardingPortPriority : 128PortDesignatedRoot : 100000D0F8FFA1A6PortDesignatedCost : 0PortDesignatedBridge : 100000D0F8FFA1A6PortDesignatedPort : 8002PortForwardTransitions : 2PortAdminPathCost : 0PortOperPathCost : 200000PortRole : rootPortSW2#sh spanning-tree int f 0/2# MST 0 vlans mapped : 1-9,11-19,21-4094PortState : forwardingPortPriority : 128PortDesignatedRoot : 100000D0F8FFA1A6PortDesignatedCost : 0PortDesignatedBridge : 200000D0F8B31F3CPortDesignatedPort : 8002PortForwardTransitions : 3PortAdminPathCost : 0PortOperPathCost : 200000PortRole : designatedPortSW3上关于instance 0 的生成树协议状态:SW3# sh spanning-tree mst 0# MST 0 vlans mapped : 1-9,11-19,21-4094BridgeAddr : 00d0.f88c.17dcPriority : 32768TimeSinceTopologyChange : 0d:0h:7m:11sTopologyChanges : 0DesignatedRoot : 100000D0F8FFA1A6RootCost : 0RootPort : Fa0/1CistRegionRoot : 100000D0F8FFA1A6CistPathCost : 200000SW3#sh spanning-tree int f 0/1# MST 0 vlans mapped : 1-9,11-19,21-4094PortState : forwardingPortPriority : 128PortDesignatedRoot : 100000D0F8FFA1A6PortDesignatedCost : 0PortDesignatedBridge : 100000D0F8FFA1A6PortDesignatedPort : 8001PortForwardTransitions : 4PortAdminPathCost : 0PortOperPathCost : 200000PortRol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论