STP主要解决由于二层环路所造成的二层广播风暴问题: 如何判断当前交换网络出现了广播风暴: —成片区域上网非常慢或者断网 —机房观察设备接口状态灯,正常接口状态灯是绿色,全变成黄色则有可能是广播风暴 —如能登陆网络设备,当前网络设备CPU利用率在80%–100%左右 —交换机MAC地址表出现了MAC地址偏移现象(一个MAC地址同时在我这台交换两个不同接口学习到) 怎么解决: –由于二层环路所造成的二层广播风暴问题采用STP生成树来解决,分析那台交换机STP没有运行?或者运行的模式和其他交换机STP模式不匹配 –如果登陆设备困难,直接采用暴力拔线的方式解决环路故障
STP: STP选举原则 根桥ID(每个STP网络中仅一个)、累计根路径开销(发送配置BPDU的端口到根桥到距离)、发送设备BID、发送端口PID(都是越小越好)
STP端口角色状态 Forwarding:端口既转发用户流量也处理BPDU报文 Learning:设备根据用户流量构建MAC地址表,但不转发用户流量(15s,Forward Delay) Listening:确定端口角色,选举根桥、根端口和指定端口(15s,Forward Delay) Blocking:端口仅处理BPDU,不转发用户流量(20s,Max Age) Disabled:不处理BPDU报文,不转发用户流量 disabled->blocking->listening->learning->forwarding->blocking
什么情况下收敛为30秒,什么情况下收敛为50秒
STP如何收敛? 选根桥;网络中所有设备使能STP协议后,每一台设备都认为自己是根桥,跟球字段用各自的BID,同过交换配置信息,设备之间比较根桥ID,最小根桥ID的设备被选为根桥。 选根端口;非根桥设备中距离根桥开销最低的路径的端口为根端口。 选指定端口和阻塞端口;比较角色待定端口和自身配置消息比较,最优先的为指定端口,其余端口阻塞
BPDU报文参数以及是发送间隔时间,死亡超时时间,最大老化时间 BPDU包含:BID,RID,PORT-ID;BPDU的发送间隔时间、BPDU的老化时间(20s)、转发延迟时间(15秒)、flags等。 Hello time2s;(发送两个相邻BPDU的时间间隔) Max Age20s;(BPDU报文老化时间,配置BPDU报文中的Message Age和Max Age比较,比Max Age大该BPDU报文将老化,非根桥设备丢弃该配置BPDU。Message Age是从根桥发送到当前桥接受到BPDU的总时间) Forward Delay15s;(延迟转发时间,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,保证新的配置BPDU传遍整个网络,防止环路)
STP拓扑变化 1.在网络拓扑发生变化后,下游设备会不间断向上游设备发送TCN BPDU报文。 2.上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文,其他端口也收到TCN BPDU报文,但不会处理。 3.上游设备把配置BPDU报文中的Flags的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。 4.上游设备复制一份TCN BPDU报文,向根桥方向发送,重复以上步骤直到根桥收到TCN BPDU报文 5.根桥把配置BPDU报文中的Flags的TC位置1后发送,非根桥交换机收到来自根桥的TC BPDU后把自己的MAC地址老化时间由原来的300秒变成15秒,加快整个交换网络MAC地址表更新和学习进程;TC BPDU连发35秒。
STP拓扑改变条件(发送TCN BPDU报文) 1.端口状态从forwarding变为disable或blocking 2.端口进入forwarding状态,同时本地存在一个指定端口 3.非根桥从指定端口收到TCN BPDU报文进行转发
RSTP:
端口角色和状态 端口状态: 丢弃 Discarding:不转发流量,不学习MAC地址 学习 Learning:不转发流量,学习MAC地址(15s) 转发 Forwarding:转发流量,学习MAC地址(15s)
端口角色: 根端口(RP):非根桥设备中距离根桥开销最低的路径的端口为根端口 指定端口(DP):比较角色待定端口和自身配置消息比较,最优先的为指定端口 Alternate替代端口(AP):提供从指定桥到根的另一条可切换路径,作为根端口的备份端口 Backup备份端口(BP):作为指定端口的备份,提供另一条从根桥到响应网段的备份通路 边缘端口(EP):不连接交换机的端口,连接终端。 禁用端口:没有角色的端口
RSTP和BPDU报文分析 协商和同意快速收敛机制(P/A机制) 作用:可以让交换机的互联接口快速进入转发状态 硬件条件:全双工,共享链路上不能使用P/A协商。(电话、对讲机 | 全双工,半双工) RST BPDU的改变: BPDU VERSION=02 BPDU TYPE=02 (RSTP/MSTP) BPDU FLAGS(从右到左): 第0个bit:TC(拓扑改变) 第1个bit:proposal 第2、3个bit:端口角色(00: unknown port, 01=AP\BP 10=RP 11=DP) 第4个bit:learning状态 第5个bit:forwarding状态 第6个bit:agreement 什么情况下RSTP报文中需要将proposal位置位 一个指定端口进入到discarding或learning状态需要proposal位置位。 当一个端口被选举为指定端口后,在STP中至少要等待一个Forward Delay时间才回前遇到Forwarding状态,在RSTP中,此端口先进入Discarding状态,在通过Proposal/Agreement机制快速进入Forward状态,必须在全双工链路上使用
RSTP如何做到快速收敛使用了哪些技术?收敛时间是多少 P/A机制,端口先进入discarding状态,再通过P/A机制快速进入forwarding状态。 根端口快速切换机制,如果网络中一个根端口失效,最优的指定端口将成为根端口。 边缘端口引入,边缘端口不接受处理配置BPDU,不参与RSTP运算。
RSTP三种保护机制分别是什么? BPDU保护,如果边缘端口收到了RST BPDU,边缘端口将会error-down,边缘端口属性不变,同时通知网管系统 根保护,指定端口收到优先级更高的RSTBPDU时,端口状态将进入 discarding转改,不在转发报文。 环路保护,根端口指定端口长时间收不到来自上游的RST BPDU,向网管发出通知信息。直到收到RSTBPDU端口状态恢复正常,恢复到Forwarding状态。
RSTP选举完成后,链路变化如何重收敛的? 1.为本交换设备的所有非边缘指定端口七通一个TC While Timer了,该计时器是Hello Time的两倍,这个时间内清空状态发生变化的端口上学习到的MAC地址。同时由这些端口发送RST BPDU,其中TC置位。一旦TC While Timer超市,则停止发送RST BPDU。 2.其他交换设备收到RST BPDU,清空所有端口学习到MAC地址,除了收到RST BPDU的端口,为自己所有的非边缘端口指定端口启动TC While Timer,重复上述。
实现快速协商需要具备什么条件 全双工链路,使能RSTP,进入Discarding状态。
PVSTP:思科私有技术,每个VLAN运行一个STP生成树 uplinkfast技术 一个链路故障,还能从其他接口收到来自根桥的BPDU,把原来阻塞端口切换到15秒侦听状态和15秒学习状态进入转发状态,STP用了30秒时间完成收敛; 思科解决方案是:在所有非根桥交换机启用uplinkfast技术,可以省略这30秒时间直接进入转发状态;其中一个链路故障,还能从其他接口收到来自根桥的BPDU,把原来阻塞端口切换到15秒侦听状态和15秒学习时间省略,直接进入到转发状态; sw3(config)#spanning-tree uplinkfast
Portfast技术:思科私有技术,华为\华三里面称为边缘接口 1.1 一般在连接路由器、PC、服务器的接口启用此技术,省略15秒侦听时间和15秒学习时间,直接进入到转发状态。 1.2 启用了portfast接口可以收发BPDU报文,一旦受到BPDU报文此接口又重新变成了正常的STP端口(恢复15秒监听和15秒学习时间) sw3(config-if)#spanning-tree portfast
安全特性: 1.1 sw3(config-if)#spanning-tree bpduguard enable 接口下配置bpdugrard,此接口一旦受到BPDU报文会自动把此接口置为err-disable状态,err-disable相当于接口down状态,如果想把此接口重新启用需要进入这个接口执行shutdown再执行no shutdown;由管理员手动恢复。 sw3(config)#spanning-tree portfast bpduguard default //在所有Portfast接口启用bpdugrard特性 1.2 sw3(config-if)#spanning-tree bpdufilter enable 接口下配置bpdufilter特性,此接口不转发不接收BPDU报文!适用于两个交换网络采用二层链路互连,但是还要确保每个交换网络有自己独立的STP生成树,所以在两个交换网络边缘接口启用次特性 1.3 sw3(config-if)#spanning-tree guard root 此接口收到一个比当前根桥更优的BPDU报文,把此接口置为err-disable状态,一般适用于交换网络边界设备边缘接口上面启用
MSTP: MSTP的原理和配置注意要点 MSTP基本原理: MSTP讲整个二层网络划分为多个MST域,各个与之间通过计算生出CST。域内生成多棵生成树,每棵生成树都被称为是一个多生成树实例。其中实例0被称为IST,其他的多生成树实例为MSTI。 选举整个网络中优先级最高的设备为CIST树根,每个MST域内MSTP计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换网络的CIST。 配置思路: 1.MSTP基本功能:MST域的域名配置,多生成树实例和VLAN的映射关系,设置MST域的优先级 2.配置保护功能,根桥设备的指定端口配置根保护功能 3.配置环网中设备的二层转发功能(创建VLAN,端口中加入VLAN)
同一个MST域的设备都启动了MSTP,相同的域名,相同的VLAN到生成树实例映射配置,相同的MSTP优先级
请举例说明企业实际网络中是如何应用的? 1接入层与汇聚层连接的设备不希望计算在一个生成树中,拓扑变化不能影响对方。将流量负载分担。 2部署冗余链路出现环网,可能出现广播风暴、MAC地址漂移。MSTP可阻塞网络中环路,将网络修剪成树状,达到消除环路的目的
|