生成树协议STP王忠温州大学城市学院内容提要STP操作STP过程STP增强生成树的发展调整、验证和故障排除STP以太信道简介STP是二层协议目的是发现网络中物理环路,并生成一个无环的拓扑没有STP,循环的流量将导致网络性能降低广播环路发送到FF-FF-FF-FF-FF-FF的报文将在右图中循环传递,永远不会停止原因分析桥接表损坏见右图的例子主机B中途离开网络,交换机无对应桥接表项,被迫发送广播报文,从而引起前面类似的问题另外,主机A的MAC地址会在交换机的两个端口将不断的变换网桥优先级用BID确定根网桥/跟交换机比较的原则:假定(p1,m1)和(p2,m2)代表两个BID,如果p1p2,或者p1=p2且m1m2时,(p1,m1)(p2,m2)网桥优先级MAC地址8字节的BID2字节0~65535默认327686字节源于背板/监控器路径开销用于衡量网桥间距离的远近。路径开销是按照整数存储的端口ID上面是CatOS中的结构图,在IOS中,两个字段各占8个比特端口优先级可配置,端口号由系统根据端口的实际位置自动产生的端口优先级端口号16比特Port-ID6比特10比特STP协议运行的步骤确定根交换机;计算到跟交换机的最小路径开销;确定最小的发送者BID;确定最小的端口ID。STP协议报文BPDU:网桥协议数据单元交换机端口存储“最佳BPDU”当交换机第一次被激活时,其上所有端口每隔2S(默认Hello时间)发送一次Hello当交换机收到更好的BPDU时,就停止发送BPDU如果有20S没有从邻居收到这个最佳BPDU时,就在本地端口重新发送BPDUSTP收敛的三步骤选举一个根交换机:全网络只有一个;所有其它交换机计算出一组跟端口和指定端口;最终的拓扑是一个树状的结构选择根交换机定期发送BPDUBPDU的格式BPDU的功能:选择根网桥;确定环路的位置;阻止环路;通知网络拓扑的改变;监控生成树的状态。谁的BID小,谁就是跟交换机选举根交换机刚启动时,根ID=BID选举根端口根端口是按照路径开销最靠近根交换机的端口选举指定端口指定端口是连接到该网段上的一个桥接端口,它通过根交换机既向根交换机发送流量,也从根交换机接收流量指定网桥是指包含指定端口的网桥判断准则:路径开销选举指定端口确定指定端口的步骤:确定跟桥技术最小路径开销;确定最小的桥ID;确定最小的端口ID选择指定端口STP状态状态描述转发发送和接收用户数据学习构建桥接表侦听构建“活动”拓扑阻塞只接收BPDU禁用管理关闭阻塞状态丢弃从所连接的网段上收到的数据帧或通过交互而来内部转发的帧接收BPDU并直接传递给系统模块无地址数据库不传递从系统模块收到的BPDU接收并响应网络管理消息,但并不传递他们侦听状态侦听状态是系统启动时或者在一段时间内没有收到BPDU时的状态侦听状态不传递用户数据,但端口发送BPDU端口特性丢弃所连接网段接收到的帧或启动端口交换来的帧没有地址数据库接收BPDU并直接传递给系统模块处理从系统模块收到的BPDU接收并响应网管消息非指定端口将从帧听状态返回阻塞状态,其余端口在15S后进入学习状态学习状态是网桥不传递用户数据帧但构建桥接表并收集数据帧源VLAN等信息的一种STP状态学习状态的生存时间是15S端口特性:丢弃所连接网段上的收到的帧丢弃从其它端口交换来需要转发的帧将位置状态包含进自己的地址数据库接收BPDU并直接传递给系统模块接收处理并传递从系统模块收到的BPDU接收并响应网络管理消息转发状态转发状态是一种在端口上既接收又转发数据流量的STP状态端口特性:转发从所连接网段上收到的帧转发从其它端口交换来需要转发的帧将位置状态信息包含进自己的地址数据库接收BPDU,并直接转发给系统模块处理系统模块传递来的BPDU接收并响应网管消息STP状态STP状态迁移BPDU的定时器定时器用于阻止桥接环;定时器决定了STP的收敛时间。STP定时器HelloTime控制BPDU的发送间隔转发延迟控制侦听/学习状态的持续时间,也控制桥接表的超时最大生存时间是BPDU的最大有效时间定时器参数在根交换机上修改STP定时器BPDU的格式BPDU的格式拓扑变化STP增强措施PortFastUplinkFastBackboneFastPortFast只用于连接到终端工作站的接入端口交换机检查到链路后直接进入转发状态只在端口初始化时有效当由于某种原因进入阻塞状态时,仍然要经过侦听和学习状态UplinkFast用于加速STP收敛时间和网络受影响时间在链路故障时,直接启用备用链路并将其置为转发状态并对外发送伪多播帧,目的地址为01-00-0C-CD-CD-CDBackboneFast目的是为了避免最大生存时间(20S)当收到一个既是根桥又是指定网桥的BPDU时,意味着一个间接链路发生故障RSTPRSTP状态RSTP端口角色根端口:网桥上收到最佳BPDU的端口为根端口指定端口:如果一个端口能发送最佳BPDU到其所连接的网段上,则就是一个指定端口替代端口和备份端口相当于标准的阻塞状态端口替代端口提供了到根桥的替代路径,可在根端口故障时替代它备份端口提供了到同一网段的冗余连通性,但不能确保替代到根交换机的连通性RSTP端口角色RSTP的定时器RSTP的生成树产生采用的是建议/协商机制端口不需等待(转发延迟/最大生存期),不依赖于任何定时器根桥的BPDU将从根迅速传递到其他地方RSTP的定时器只有非边缘端口进入转发状态才导致拓扑变化,连接中断并不认为是拓扑变化当发生拓扑变化时:如果有必要,RSTP网桥可以对其所有非边缘指定端口和根端口上启动一个TCWhileTimer,长度是2倍Hello时间RSTP网桥刷新所有与这些端口相关的MAC地址当网桥从邻居收到TC置位的BPDU时,会发生下列事情:网桥清除从其所有端口上学习到的MAC地址网桥在其所有DP和RP上启动TCWhileTimer并发送TC置位的BPDU不需要先传递到根桥再扩散出去的这种方式RSTP的定时器RSTPBPDU的格式RSTP协议在BPDU的标志字节中增加了更多的比特信息,用于描述端口角色和状态等版本为2网桥每隔2S发送一个携带当前信息的BPDU,即使它没有收到根桥的BPDU一个给定的端口,如果在联系3个周期内没有收到Hello报文,BPDU立即超时BPDU用于Keepalive对backboneFast,RSTP中也吸收了其优点,收到劣质BPDU的交换机在知道根桥正常的情况下,可立即向发送劣质BPDU的交换机发送包含根桥的BPDURSTP的优势去掉了三个定时器,性能高TC信息传递更简单快捷链路故障信息能够更快的被检测到吸收了BackboneFast的优点CST与PVSTCST为所有VLAN定义单个生成树实例,BPDU在VLAN1上传递PVST为每个VLAN定义独立的生成树,需要ISL减小了生成树拓扑的总范围增强了可扩展性并减少了收敛时间提供快速恢复和更好的可靠性但PVST的缺点交换机的负担增加中继链路上带宽占用增加PVST+Cisco私有STP,允许CST和PVST在同一网络中存在PVST+支持802.1qPVST+在每个VLAN上运行,保证每个VLAN都有一个无环的路径可提供二层负荷分担MSTMonospanningtree在非Cisco的802.1q交换机上实现每个区域由同类型的交换机组成ISL可连接PVST区域和PVST+区域802.1q可连接PVST+和MST区域PVST区域和MST区域不能通过Trunk链路连接(原因?)PVST和区域互连MISTP模式允许多个VLAN形成一个生成树实例MISTP综合了PVST+二层负载均衡和802.1qcpu负载少的优点在Catalyst4000、6000上是可选的模式MISTP实例是一个由桥接设备和端口参数定义的虚拟拓扑,当有VLAN映射时才成为真实的拓扑每个MISTP实例有自己的根交换机和转发链路,根桥传递MISTP实例的信息给网络中其它交换机每个MISTP实例只有一个BPDU多个VLAN可映射到一个MISTP,但每个VLAN只能映射到一个MISTP实例MISTP-PVST+模式是一种过渡模式允许使用了MISTP功能的Catalyst4000和6000与老的、使用PVST+的Catalyst交换机连接MISTP-PVST+允许PVST+和MISTP间互操作MST(802.1s)可代表单生成树、多生成树将802.1wRST算法扩散到多个生成树与单一CST相反具有快速收敛和负载分担的特点负载分担常见办法是为每个VLAN配置一个网桥,使得VLAN流量沿着不同的路径到达根交换机可使用两种方法在中继端口上配置负载分担STP端口优先级:进行负载分担的链路必须连接到同一交换机STP路径开销:每条负载分担链路可以连接到同样的交换机或者两个不同的交换机负载分担用BPDU保护进行交换端口调整PortFast可能对STP的稳定性产生重要影响增强的设计方案是在在PortFast后禁止对应设备影响STP拓扑使用根保护进行交换端口调整根保护确保启用了根保护的端口成为指定端口根保护是基于每个端口设置的,此时通常不允许端口成为一个STP根端口默认STP配置启动和禁止STPspanning-treevlanvlan-idNospanning-treevlanvlan-id配置一个交换机为VLAN的根为VLAN和端口设置优先级设置端口开销设置VLAN交换机的优先级修改定时器配置PortFast配置UplinkFast配置BackboneFast配置BPDU保护配置根保护配置负荷分担验证STP/RSTP/MSTP配置默认RSTP/MSTP配置RSTP/MSTP配置指南每个VLANRSTP不支持,用spanning-treemodemst后,RSTP被启动PVST、PVST+和MSTP都支持,但在同一时刻只能激活一个版本不支持MST配置的VTP传播要在网络中能通过冗余路径进行负载分担,所有VLAN到实例映射设置都必须匹配所有MST边界端口必须在PVST+和MST云之间传递负载分担信息不推荐将一个网络划分成多个区域启动RSTP配置MSTP根桥配置MSTP交换机优先级配置MSTP路径开销配置MSTP端口优先级配置MSTP定时器配置MSTP最大跳数以太信道将多个链路聚合为一个逻辑链路来增加中继速度,提供从10Mbps到160Gbps的速率四种类型:标准以太信道快速以太信道(FEC)吉比特以太信道(GEC)10G比特以太信道以太信道的优点以太信道不需要任何改变,因为它对网络应用是透明的服务器上应用以太信道,则可使得服务器上的流量在多个网卡上负载分担交换机和路由器可用以太信道负荷分担以太信道具有自动恢复能力帧分发通过对分组的地址提取部分二进制数进行计算,来实现多条链路的负载均衡Catalyst4000和5000/5500上,以太信道可基于源或目的MAC进行负载分担Catalyst6000则可根据MAC地址、IP地址或端口号基于源和基于目的信息的负载分担适用于不同的环境中帧分发以太信道方式端口聚合协议(PAgP-PortAggregationProtocol):Cisco私有链路聚合控制协议(LACP-LinkAggregationControlProtocol):IEEE802.3ad端口聚合协议(PAgP)通过交换协议分组来自动创建以太信道通过PAgP,交换机学习支持PAgP的邻居状态,并了解每个接口的能力,然后动态的把近似配置的端口组合到一个逻辑链路中分类方法:基于邮件、管理和端口限制参数如可将具有相同速度、双工模式、本地VLAN、VLAN范围和中