第5章本章目标通过本章的学习,您应该掌握以下内容:了解STP的作用及基本原理了解PVST的概念,掌握PVST的配置掌握手动设置根桥以及设置端口开销了解STP和RSTP的区别熟悉MST的特点及配置冗余拓扑消除了由于单点故障所引致的网络不通问题。冗余拓扑却带来了广播风暴、重复帧和MAC地址表不稳定的问题。防范环路阻塞x防范环路环路的解决办法:生成树协议(Spanning-TreeProtocol)生成树协议由IEEE定义在802.1D中将某些端口置于阻塞状态就能防止冗余结构的网络拓扑中产生环路。选举1个根桥。根桥具有最低的桥ID,根桥上的所有端口都是指派端口。选择所有非根桥的根端口。根端口到达根桥所花代价最低。选择各个网段的指派端口。指派端口到达根桥所花代价最低。x指派端口(F)根端口(F)指派端口(F)非指派端口(B)根桥非根桥SWXSWY100baseT10baseT生成树运作STP网桥ID交换机Y缺省的优先级32768(8000十六进制)MAC0c0022222222交接机X缺省的优先级32768(8000十六进制)MAC0c0011111111BPDUBPDU=Bridgeprotocoldataunit网桥协议数据单元(缺省地每2秒发送BPDU数据)根桥=有最低桥识别码的桥(桥ID)桥识别码=桥优先级+桥MAC地址例中,哪个交换机的桥识别码最低?RootBridge的选择根桥选举的计划为了能够在分布层和接入层的交换机之间转发流量,通常选择位于中心位置的交换机或核心交换机作为根桥,这些交换机具有充足的CPU资源和交换能力。这样可以将转发拓扑维持为最优状态。交接机Y缺省的优先级32768MAC0c0022222222交换机X缺省的优先级32768MAC0c0011111111Rootbridgex端口0端口1端口0端口1100baseT10baseT指派端口(F)根端口(F)非指派端口(B)指派端口(F)端口状态每个非根桥有且仅有一个根端口forwarding,根端口到达根桥所花代价+优先级+MAC地址+Port#最小(从左到右依次比较)根端口RP和指派端口DP一般处于forwarding状态,非指派NDP一般是blocked状态。链路速度开销(修订后的IEEE规范)开销(以前的IEEE规范)10Gbit/s211Gbit/s41100Mbit/s191010Mbit/s100100路径开销例子:(1)哪台交换机是根桥?交换机X交换机Y100Base-T100Base-T交换机Z默认优先级32768MAC0c0011111111默认优先级32768MAC0c0011110000端口0端口0端口1端口0根桥端口1默认优先级32768MAC0c0022222222交换机X交换机Y100Base-T100Base-T交换机Z默认优先级32768MAC0c0011111111默认优先级32768MAC0c0022222222默认优先级32768MAC0c0011110000端口0端口0端口1端口0端口1成本:19成本:19+19=38例子:(2)哪些端口分别是根端口、指定端口和非指定端口?根桥根端口根端口指定端口指定端口X的端口1为指定端口,因为交换机X和Y到根桥的路径成本相同,但交换机X的网桥ID更小。非指定端口例子:(3)各端口分别是转发还是阻塞状态?100Base-T100Base-T根端口根端口指定端口指定端口非指定端口交换机X交换机Y交换机Z默认优先级32768MAC0c0011111111默认优先级32768MAC0c0022222222默认优先级32768MAC0c0011110000x网桥协议数据单元(BPDU)BPDU负责:选举根桥.检测环路的位置.堵塞端口并防环.通知网络拓扑的变动.监视STP的状态.BPDU帧格式默认优先级32768MAC0000C0111111默认优先级32768MAC0000C0222222BPDU根桥100Base-T10Base-T××端口1x生成树重新生成交换机X交换机YSwitchY在最多20秒后会发现从SwitchX来的BPDU信号消失,于是就重新计算STP。网络恢复后,SwitchY将会是根桥,而且它的所有端口都会处于转发状态(Designatedport)。当网络的拓扑结构发生改变时,生成树协议重新计算,将被阻断的端口切换到转发状态,以确保连接性。在此期间,交换机不转发任何数据帧。当交换机的所有端口状态切换为转发或阻断状态时,表明重计算完毕。这一状态称为会聚(Convergence)。生成树重新生成①阻塞:不转发数据帧但可接收BPDU。②监听:不转发数据帧,但检测和接收BPDU,不学习任何接收帧的单播地址(临时状态)。③学习:不转发数据帧,但接收和发送BPDU,学习MAC地址表(临时状态)。④转发:可以传送和接收数据帧,可与其他交换机交换BPDU。生成树端口状态所有端口一开始都处于阻塞状态,以防止形成环路。由生成树确定哪个端口切换为转发状态。在正常操作期间,端口处于转发或阻断状态。当检测到网络拓扑结构有变化时,交换机会自动进行状态转换,在这个期间端口暂时处于监听和学习状态。生成树端口状态阻塞Blocking(最大寿命=20s)监听Listening(转发延迟=15s)学习Learning(转发延迟=15s)转发Forwarding生成树会将每个端口的状态作以下变换:生成树端口状态端口从阻塞状态过渡到转发状态的正常时间是30~50s。STP缺点:重新计算时间较长。为了缩短生成树重新计算和会聚的时间,IEEE委员会在802.1w中定义了快速生成树协议(RSTP)。在使用RSTP的情况中,网络收敛通常在1s之内就能完成。快速生成树协议(RSTP)增强的按VLAN的生成树(PVST+)PerVLANSpanningTree+对每个VLAN都运行一个独立的STP实例,确保每个VLAN都不存在环路。PVST能以VLAN为基础提供负载均衡。PVST实例启用STPSwitch(config)#spanning-treevlanvlan-id为特定VLAN启用STP.配置根桥Switch(config)#spanning-treevlanvlan-idpriorityvalue降低网桥优先级,手动设置根桥.配置根桥Switch(config)#spanning-treevlan200priority4096Switch(config)#spanning-treevlan200priority8192如果主根桥发生故障,那么将可能成为特定VLAN的根桥的交换机就是辅助根桥。通常情况下,辅助根桥选用的优先级是8192。例:在配置STP时,建议给根桥指定的根优先级值是4096。例:理解主根桥和备份根桥为了能在分布层和接入层的交换机之间转发流量,通常选择位于中心位置的交换机或核心交换机作为主根桥。一般要求备份根桥和主交换机具有相同的能力。即使主根桥发生故障,新的根桥仍然位于中心位置,并具有接管主交换机角色的足够CPU资源和交换能力。设置端口开销与VLAN端口开销Switch(config-if)#spanning-treecostport-cost定义端口开销.Switch(config-if)#spanning-treevlanvlan-idcostport-cost针对每个VLAN定义特定的端口开销.验证STPASW11#showspanning-treevlan200VLAN0200SpanningtreeenabledprotocolieeeRootIDPriority49352Address0008.2199.2bc0ThisbridgeistherootHelloTime2secMaxAge20secForwardDelay15secBridgeIDPriority49352(priority49152sys-id-ext200)Address0008.2199.2bc0HelloTime2secMaxAge20secForwardDelay15secAgingTime300UplinkfastenabledInterfacePortIDDesignatedPortIDNamePrio.NbrCostStsCostBridgeIDPrio.Nbr--------------------------------------------------------------------Fa0/1128.13019BLK0493520008.2199.2bc0128.1Fa0/2128.23019FWD0493520008.2199.2bc0128.2Switch#showspanning-treevlanvlan-id显示STP配置信息.验证STPSwitch#showspanning-treebridgeHelloMaxFwdVlanBridgeIDTimeAgeDlyProtocol------------------------------------------------------------VLAN020049352(49152,200)0008.2199.2bc022015ieeeVLAN020249354(49152,202)0008.2199.2bc022015ieeeVLAN020349355(49152,203)0008.2199.2bc022015ieeeVLAN020449356(49152,204)0008.2199.2bc022015ieeeVLAN020549357(49152,205)0008.2199.2bc022015ieeeVLAN020649358(49152,206)0008.2199.2bc022015ieeeSwitch#showspanning-treebridge显示STP网桥信息.多生成树(MST)MST将RSTP扩展到多个生成树。PVST+为每个VLAN运行STP实例,而MST使用最少数目的STP实例来匹配现有的物理拓扑数目。MST的主要目的是降低与网络的物理拓扑相匹配的生成树实例的总数,降低对交换机资源的要求。VLAN负载均衡1000个VLAN映射到2个MST实例,每台交换机不需要维护1000个生成树实例。与PVST+相比,MST的收敛速度更快。D1D2AVLAN501~1000VLAN1~500VLAN1~500VLAN501~1000STP、PVST+、MST的比较STP不可能进行负载均衡,一条上行链路需要阻塞所有的VLAN;交换机的CPU利用率比较低,只需计算一个实例。PVST+最优化负载均衡的能力;维护每个VLAN的STP实例,需要更高的CPU利用率。MST结合了STP和PVST+的优点,通过映射几个VLAN,可降低生成树实例的数目,交换机的利用率比较低;可获得负载均衡。配置MST的基本参数Switch(config)#spanning-treemodemst启用MST.Switch(config)#spanning-treemstconfiguration进入MST配置子模式.Switch(config-mst)#namename配置MST区域名称.配置MST的基本参数(续)Switch(config-mst)#revisionrevision-number配置MST配置版本号.Switch(config-mst)#instanceinstance-numbervlanvlan-range将VLAN映射到MST.Switch(config-mst)#end保存配置,退出MST配置模式.举例:配置MST的基本参数Switch#conftSwitch(config)#spanning-treemodemstSwitch(config)#spanning-treemstconfiguration