局域网中的冗余链路第四章学习目标通过本章的学习,希望您能够:理解局域网的冗余拓扑理解交换环路带来的问题理解生成树协议理解快速生成树协议掌握STP与RSTP的配置理解端口聚合的概念掌握端口聚合的配置本章内容冗余拓扑生成树协议快速生成树协议STP与RSTP的配置以太网端口聚合课程议题冗余拓扑交换网络内的冗余拓扑减少单点故障,增加网络可靠性产生交换环路,会导致:广播风暴多帧复制MAC地址表抖动SW1SW2SW3F0/2F0/2F0/1F0/1F0/1F0/2文件服务器广播风暴广播信息在网络中不停地转发,直至导致交换机出现超负荷运转,最终耗尽所有带宽资源、阻塞全网通信SW1SW2F0/2F0/2F0/1F0/1广播广播主机A主机B多帧复制单播的数据帧被多次复制传送到目的站点SW1SW2F0/2F0/2F0/1F0/1单播单播主机A主机BMAC地址表抖动由于相同帧的拷贝在交换机的不同端口上被接收而引起的MAC地址表不稳定SW1SW2F0/2F0/2F0/1F0/1单播单播主机A主机BF0/1:主机AF0/2:主机A?F0/1:主机BF0/2:主机B?课程议题生成树协议生成树协议概述IEEE802.1dSTP(生成树协议,Spanning-TreeProtocol)协议:使冗余端口置于“阻塞状态”网络中的计算机在通信时,只有一条链路生效当这个链路出现故障时,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠SW1SW2SW3F0/2F0/2F0/1F0/1F0/1F0/2生成树协议的BPDU交换机或者网桥之间周期性地发送STP的桥接协议数据单元(BridgeProtocolDataUnit,BPDU),用于实现STP的功能每2秒发送一次的二层报文组播发送,组播地址为:01-80-C2-00-00-00BPDU的传播STP刚启动时,每台交换机都认为自己是根网桥,向外泛洪BPDU当交换机的一个端口收到高优先级的BPDU(更小的RootBID或者更小的RootPathCost等等)就在该端口保存这些信息,同时向所有端口更新并传播信息如果收到比自己低优先级的BPDU,交换机就丢弃该信息BPDU的传播BPDU传播的最终结果:网络中选择了一个交换机为根网桥(RootBridge)每个交换机都计算到根网桥(RootBridge)的最短路径除根网桥外的每个交换机都有一个根端口(RootPort),即提供最短路径到RootBridge的端口每个LAN都有了指定交换机(DesignatedBridge),位于该LAN与根交换机之间的最短路径中指定交换机和LAN相连的端口称为指定端口(Designatedport)根端口(Rootport)和指定端口(Designatedport)进入转发Forwarding状态其他的冗余端口就处于阻塞状态(Blocking)STP的路径成本路径成本的计算和链路的带宽相关联根路径成本就是到根网桥的路径中所有链路的路径成本的累计和修订前后的802.1d路径成本:链路带宽成本(修订前)成本(修订后)10G121000M14100M101910M100100网桥ID用于选举根网桥:最低网桥ID的交换机将成为根网桥网桥优先级取值范围:0到65535;默认值:32768(0x8000)首先判断网桥优先级,优先级最低的网桥将成为根网桥如果网桥优先级相同,则比较网桥MAC地址,具有最低MAC地址的交换机或网桥将成为根网桥端口ID参与选举根端口端口优先级是从0到255的数字,默认值是128(0x80)端口优先级越小,则优先级越高如果端口优先级相同,则编号越小,优先级越高STP的工作过程第一步:选举一个根网桥;第二步:在每个非根网桥上选举一个根端口;第三步:在每个网段上选举一个指定端口;第四步:阻塞非根、非指定端口。选举根网桥依据网桥ID选举根网桥,ID值最小者当选根网桥每2s发送一次BPDUSW1:32768.00-d0-f8-00-11-11SW2:4096.00-d0-f8-00-22-22SW3:32768.00-d0-f8-00-33-33F0/2F0/2F0/1F0/1F0/1F0/2100M100M100MRootBridge选举根端口在非根交换机上选举根端口选举依据:根路径成本最小发送网桥ID最小发送端口ID最小SW1:32768.00-d0-f8-00-11-11SW2:4096.00-d0-f8-00-22-22SW3:32768.00-d0-f8-00-33-33F0/2F0/2F0/1F0/1F0/1F0/2100M100M100MRootBridge根路径成本:19根路径成本:38选举指定端口每个网段中选取一个指定端口用于向根交换机发送流量和从根交换机接收流量选举依据:根路径成本最小所在交换机的网桥ID最小端口ID最小SW1:32768.00-d0-f8-00-11-11SW2:4096.00-d0-f8-00-22-22SW3:32768.00-d0-f8-00-33-33F0/2F0/2F0/1F0/1F0/1F0/2100M100M100MRootBridge根路径成本:0所在交换机网桥ID最小阻塞非根非指定端口阻塞非根、非指定的端口,形成逻辑上无环路的拓扑结构SW1:32768.00-d0-f8-00-11-11SW2:4096.00-d0-f8-00-22-22SW3:32768.00-d0-f8-00-33-33F0/2F0/2F0/1F0/1F0/1F0/2100M100M100MRootBridgeSTP的端口状态STP的端口状态阻塞状态(Blocking)不能接收或者传输数据,不能把MAC地址加入地址表,只能接收BPDU监听状态(Listening)不能接收或者传输数据,也不能把MAC地址加入地址表,但可以接收和发送BPDU学习状态(Learning)不能传输数据,但可以发送和接收BPDU,也可以学习MAC地址转发状态(Forwarding)能够发送和接收数据、学习MAC地址、发送和接收BPDU生成树拓扑变更拓扑改变通知消息拓扑改变应答消息拓扑改变消息13255664ROOT生成树拓扑变更发生变化的交换机会在根端口上每隔hellotime时间就发送TCNBPDU(拓扑变化通知BPDU),直到生成树上游的指定网桥邻居确认了该TCN(拓扑变化通知)为止,这个时延为15s。当网络拓扑变化时,交换机必须重新计算STP,端口的状态会发生改变,重新收敛重新收敛的时间可能长达50s课程议题快速生成树协议快速生成树协议RSTP(RapidSpanningTreeProtocol):对STP的补充,在物理拓扑变化或配置参数发生变化时,能够显著地减少网络拓扑的重新收敛时间定义了2种新增加的端口角色,用于取代阻塞端口:替代(alternate)端口AP:为根端口到根网桥的连接提供了替代路径备份(backup)端口BP:提供了到达同段网络的备份路径RootBridgeDPBPRPAPDPBP快速生成树协议3种端口状态——丢弃(discarding)、学习(learning)和转发(forwarding)运行状态STP端口状态RSTP端口状态在活动的拓扑中是否包含此状态DisabledDisabledDiscarding否EnabledBlockingDiscarding否EnabledListeningDiscarding否EnabledLearningLearning是EnabledForwardingForwarding是快速生成树协议增加2个变量,用于主动地将端口立即转变为转发状态:边缘端口:指连接终端的端口连接类型:根据端口的双工模式来确定,全双工操作的端口为点到点链路,可以实现快速收敛BPDU的传播机制改变:非根网桥即使没有收到根网桥发来的BPDU,也会每隔2s发送一次BPDU如果连续3个hellotime里没有收到邻居发来的BPDU,则认为连接故障拓扑变更的机制改变RSTP的优点为根端口和指定端口设置了快速切换用的替换端口(AlternatePort)和备份端口(BackupPort)两种角色在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态边缘端口可以直接进入转发状态,不需要任何延时STP与RSTP的兼容性RSTP协议与STP协议完全兼容RSTP协议根据收到的BPDU版本号来自动判断与之相连的交换机支持STP协议还是RSTP协议课程议题STP与RSTP的配置SpanningTree的缺省配置项目缺省值EnableStateDisable,不打开STPSTPPriority32768STPPortPriority128STPPortcost根据端口速率自动判断,计算方法为长整型HelloTime2sForward-delayTime15sMax-ageTime20sLinkType根据端口双工状态自动判断SpanningTree的配置恢复缺省配置Switch(config)#spanning-treereset打开、关闭STPSwitch(config)#spanning-treeSwitch(config)#nospanning-tree注意:锐捷交换机默认关闭spanningtree修改生成树协议的类型Switch(config)#spanning-treemode{mstp|stp|rstp}注意:默认为MSTPSpanningTree的配置配置交换机的优先级Switch(config)#spanning-treepriority0-61440注意:网桥优先级配置只能为4096的倍数配置端口的优先级Switch(config-if)#spanning-treeport-priority0-240注意:端口优先级配置只能为16的倍数配置端口的路径成本Switch(config-if)#spanning-treecostcostSpanningTree的配置配置端口路径成本的默认计算方法Switch(config)#spanning-treepath-costmethod{long|short}注意:默认值为长整型(long)接口速率端口类型IEEE802.1dIEEE802.1t10M普通端口1002000000AggregateLink951900000100M普通端口19200000AggregateLink181900001000M普通端口420000AggregateLink319000SpanningTree的配置配置HelloTime、Forward-delayTime和Max-ageTimeSwitch(config)#spanning-treehello-time|forward-time|max-ageseconds配置链路类型Switch(config-if)#spanning-treelink-type{point-to-poin|shared}查看生成树的配置Switch#showspanning-treeSwitch#showspanning-treeinterfaceinterface-id生成树配置实例SW1:32768.00-d0-f8-b4-e5-4bF0/3F0/2F0/2F0/1F0/1F0/4SW2:32768.00-d0-f8-06-1c-91SW4:32768.00-d0-f8-21-a5-42SW3:32768.00-d0-f8-82-f4-a1将成为RootBridgeF0/4F0/3将成为RootPoot要求成为根网桥要求成为根端口生成树配置实例SW1:S3760(config)#hostnameSW1SW1(config)#spanning