华三-生成树
产生背景
在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得不可用。在这种环境下生成树协议应运而生,生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。最处被广泛应用的是IEEE 802.1D-1998 STP (Spanning Tree Protocol,生成树协议),随后以它为基础产生了IEEE 802.1w RSTP(Rapid Spanning Tree Protocol,快速生成树协议)、PVST(Per VLAN Spanning Tree,每VLAN生成树)协议和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成树协议)。
三种生成树协议特点比较

BPDU报文格式
BPDU报文协议有两种:配置BPDU报文和TCN(Topology Change Notification,拓扑变更通告)BPDU报文,简称BPDU和TCN BPDU。
- 配置BPDU用于生成树计算。只要端口启用STP,则配置BPDU就会按照Hello Time计时器规定的时间间隔从指定端口发出。
- TCN BPDU用于通告网络拓扑的变化。在设备检测到网络拓扑发生变化时才发出。
交换机之间通过BPDU来交换BID、根路径成本等信息。交换机从端口发送处一个BPDU帧,使用该端口本身的MAC地址作为源地址。交换机本身并不hi知道它周围是否还有其他的交换机存在。因此,BPDU帧利用了一个STP组播地址(01-90-C2-00-00-00)作为它的目的地址,使其能到达相邻的并处于STP监听状态的交换机。

BPDU各字段的含义如下表所示
| 字段名称 | 字段大小(字节) | 说明 |
| Protocol Identifier(协议标识) | 2 | 总是0 |
| Protocol Version Identifier(协议版本号) | 1 | 总是0 |
| BPDU Type(BPDU类型) | 1 | 当前BPDU类型:0x00代表示配置BPDU,0x80代表示TCN BPDU |
| Flags(标志) | 1 | 网络拓扑变化标志:最低位=TC(Topology Change,拓扑变化)标志。最高位=TCN(Topology Change Acknoledgment,拓扑变化确认)标志。 |
| Root Identifier(根网桥) | 8 | 当前根网桥的BID |
| Root Path Cost(根路径成本) | 4 | 说明该BPDU累计到根网桥的路径成本 |
| Bridge Identifier(BID) | 8 | 发送该BPDU的网桥的BID |
| Port Identifier(PID) | 2 | 发送该BPDU的端口的PID |
| Message Age(消息老化时间) | 2 | 该BPDU的消息老化时间。在根网桥发出的配置BPDU中, |
| Max Age(最大老化时间) | 2 | 交换机在丢弃BPDU报文之前存储它的最大时间。默认值示30S |
| Hello Time(心跳间隔) | 2 | 发送两个相邻BPDU的时间间隔。默认值是2S |
| Forward Delay(转发延迟) | 2 | 监听状态和学习状态的持续时间。默认值是15S |
STP
网络的环路问题:一旦网络形成环路,会产生广播风暴而造成网络阻塞。Spanning tree protocol是国际标准技术协议,用来在二层网络解决环路的问题。stp协议的国际标准是802.1d(1998),并且经过发展,逐渐产生RSTP、PVST、MSTP协议。
-
定义
STP协议的定义可以看成2个,一个是狭义的、一个是广义的。广义上stp是指stp协议组,包括STP、RSTP、PVST、MSTP协议;狭义上是指stp技术协议标准。
STP种定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)等概念,目的就在于通过构造一棵树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法(Spanning Tree Aigorithm)。
- 特别要点
- 交换机通过发送BPDU来传递生成参选信息
- 通过计算,来选举闭塞端口,来隔断环路
- 协议:BPDU,包含信息完成生成树的计算,BPDU(默认=每2秒发送一次),根桥=网桥ID最小的网桥
- 配置BPDU:用来计算和维护生成树的报文
- TCN BPDU:当拓扑发生变化时,用来通知上层网络设备;网络拓扑发生了变化
- 角色
- 根桥:整个生成树的根节点,由所有网桥种优先级最高的桥担任
- 指定桥:负责一个Physical Segment(物理段)上数据转发任务的桥,由中国Physical Segment(物理段)上优先级最高的桥担任。
- 根端口(Root Port):根端口指距离根桥最近的端口。根桥没有根端口,每一个非根桥有且仅有一根端口
- 指定端口(Designate Port):属于指定桥上的端口。根桥是所有网桥种优先级最高的,它在其所连接的所有Physical Segment(物理段)上都是指定桥,所有通常情况下根桥的所有端口都是指定端口。
- AIternate端口:Alternate端口既不是根端也不是指定端口,它是用来为根端口或指定端口做备份的。从AIternate端口出发到达根桥的路径,是网桥达到根桥的备用路径,即最终需要阻塞的历经。

- 配置BPDU包含:
- 根桥ID:根桥的优先级+MAC地址,网桥ID=2Byte 网桥优先级+6Byte MAC地址(网桥优先级可以让人工更改)
- 根路径开销(RPC):到根桥最小的路径开销,根桥RPC=0,非根桥,则是到达根桥的最短路径上所有路径的开销之和。
- 指定桥ID:生产或转发BPDU的桥ID,桥优先级+桥MAC。
- 指定端口ID:发送BPDU端口ID,端口优先级+端口索引号。
- 生成树的选举流程:
- 在整个网络种选举唯一的一台根桥,
- 每台非根桥选举一个根端口
- 每个物理段上选举一个指定端口。
- 生成树算法
- 根桥的选举:
- 桥ID,优先级+桥MAC,唯一标识一台设备。BID最小的被选举为根网桥。
- BID=优先级+MAC地址
- 优先级默认是32768,所有交换机的优先级都是32768,看MAC地址,MAC地址全球唯一,各不相同,通过MAC地址可以找出根网桥,MAC地址最小的。
- 先比较桥优先级,优先级值越小越优;若优先级相等,比较桥MAC地址,地址越小越优。
- 根桥的所有端口都是指定端口(DP)
- 确定端口角色:(使用RPC来选择端口角色)端口状态
- 指定端口:根桥上所有的端口(指定端口:发送的BPDU比接收的BPDU要优)
- 在每段线路上找指定端口,每个物理网段都选举一个指定端口。
- 该条链路两端所连交换机,谁到根桥的开销小,谁上的端口就是指定端口。
- 该条链路两端所连交换机,谁的网桥ID小,谁上的端口就是指定端口。
- 该条链路两端,谁的端口ID小,谁就是指定端口。
- 根端口:(非根网桥上选择),非根桥都选举一个唯一的根端口
- 开销值直接和链路带宽相关,开销值越小带宽越大。开销值越小到达根网桥越快。
- 到达网桥开销最小的优先,开销就是数据S到达一个目的耗费的资源和代价
- 流经的上游交换机BID小的优先
- 端口ID小的优先
- 非根桥上到根桥,路径开销最小的端口。
- 若开销相等,则选择:端口对端所连交换机网桥ID最小的端口。
- 阻塞端口:将既不是根桥端口也不是指定端口的端口阻塞
- 网络拓扑收敛为一颗无环的数是通过网桥间交互配置BPDU,并进行计算而得到的。STP计算收敛需要一定的时间,当网络拓扑发生变化时,最优的配置BPDU需要经过一定的延时才能传播到整个网络,在所有网桥都收到最优配置BPDU之间可能会存在临时环路
STP定义了5种端口状态:Disabled、Blocking、Listening、Learning和Forwarding。其中Listening和Learning状态为中间状态,为避免临时环路,当端口处于中间状态时,端口不能接收和发送数据。

- 当端口为down时,处于STP定义的Disabled状态;当端口UP后,经过初始化会首先进入Blocking状态。由于端口在STP计算初期均会认为自己时指定端口,所以端口直接从Blocking状态进入第一个中间状态Listening
- 在Listening状态期间,端口通过交互配置BPDU,完成角色的确认,在此期间端口不进行MAC地址的学习也不能收发数据。如果端口最终被定义AIternate端口,端口会重新回到Blocking状态,如果端口角色确定为根端口或指定端口,当Forward Delay时间过去后,端口进入Leaning状态。
- 在Learning状态期间,根端口和指定端口进行MAC地址学习,但仍然不进行数据的收发。如果端口在learning状态期间重新被选择为AIternate端口,则端口会回到Blocaking状态。如果在learning状态期间维持根端口和指定端口角色不变,则当Forward Delay时间过去后,端口会进入Forwarding状态。
- 在Forwarding状态根端口和指定端口开始收发数据。
RSTP
快速生成树协议和STP相比,RSTP的改进之处包括:
- 减少了端口状态
- 增加了端口的角色
- 配置BPDU的格式发生了改变
- 当网络发生变化的时候,处理方式不同
端口状态

RSTP将STP种的Alternate端口角色进一步划分为两种,其中一种角色为Backup,另一种角色名称仍为Alternate
- 当阻塞端口收到的更优的配置BPDU来自其他网桥时,该端口为Alternate
- 当阻塞端口收到更优的配置BPDU来自本网桥时,该端口为Backup端口
端口角色
- 根端口:是非根桥到达根距离最近的端口;(RP)
- 指定端口:指定端口是设备发出BPDU的接口,每条链路上必定有且只有一个指定端口;(DP)
- 替代端口Alternate Port:替代根端口(替代RP),替代端口是从其他网桥接收到次优BPDU的端口,它提供了从本地到达根桥的另一条路径;
- 备份端口Backup Port:备份指定端口(备份DP),由于学习到自己发出的BPDU报文而阻塞的端口,它提供了从根桥到达相应链路的另一条备份路径。

RSTP对BPDU的处理
网桥自动产生配置BPDU,不需要来自根桥的配置BPDU,发送周期为hello time 2S
RSTP,MSTP:老化时间为3个连续的hello time时间6s,STP的bpdu的老化时间为20s
STP的AP端口收到低优先级的配置BPDU,忽略该BPDU
RSTP的AP端口收到低优先级的配置BPDU,立即回应最优的BPDU给对端交换机
根端口的快速收敛
AP端口时备份根端口的(替换端口)
备份根端口对端的DP是UP状态,则立马进入转发状态,但是在stp中则会等待2个forwording时间才能进行转发状态
边缘端口的快速收敛
指定端口,连接主机的端口。不是端口角色
特性:是一种快速收敛的机制
- 边缘端口值网桥上直接和终端相连的端口
- 边缘端口可以直接进入转发状态,不需要延时
- 端口的变化并且不好触发拓扑改变,不会触发mac地址表
- 边缘端口收到BPDU后,(下面连接一个交换机)会转变为非边缘端口
- 边缘端口下的主机上下线不会触发拓扑改变
指定端口的快速收敛
- 共享环境内:backup端口备份指定端口的(被自己的BPDU给抑制)
- 在点对点链路上:(点对点链路是设备和主机)
P/A机制
进行P/A机制的协商,协商完成后。实现指定端口的快速收敛
P/A机制条件:握手必须在点到点链路进行

P/A协商:
- 指定端口(SWA)向下发送Proposal置位配置BPDU
- 接收交换机(SWB)检查接收到Proposal置位BPDU的端口是否为根端口,是,则进行同步。否则不做处理
- 同步是阻塞本网桥除边缘端口外的其他指定端口,然后SWB根端口进入转发状,同时向上游SWA发送Agreement置位BPDU,上层收到,上层交换机的DP进入转发状态
- 下层SW阻塞DP的原因是:防止临时环路的产生,如何打开?
- 答:往下层继续P/A协商。
- P/A不依赖任何的定时器,能在新增链路或者链路恢复时实现快速的收敛
RSTP拓扑改变处理
拓扑触发条件:非边缘端口状态变成Forwarding状态
- 没有使用TCN BPDU,谁接收到拓扑改变信息后在2倍的hello time时间内,直接发送TC置位的BPDU,不会发送TCN BPDU通知根桥发TC BPDU;
- 交换机接收到TC BPDU后,交换机清除所有DP端口和RP端口学来的MAC地址,除接收到TC报文端口学到的MAC;然后直接刷新MAC地址表,改刷新时间为15S,而不是像STP缩短老化时间;TC报文时刷新MAC地址表的。
- 阻塞端口对于次优BPDU能做处理,目的是让发送次优BPDU的设备能尽快确认角色进入转发状态
- 处理方式:从所有DP和RP发送TC置位BPDU,和STP设备混合使用会失去快速收敛特性,注意是该接口。
MSTP
STP和RSTP都是单树的,不能实现在2层网络中实现负载分担,只能是链路的备份,浪费了带宽资源MSTP基于实例构建多棵树,不但能够实现备份和快速收敛,还能够实现数据的负载分担
MSTP可以构建多个MST域如果要保证网桥在同一个MSTP的域
CST、IST、CIST
(公共生成树、内部生成树、公共和内部生成树)
- 把域逻辑成网桥,逻辑网桥之间构建的生成树是CST
- 域内实例0的树指的是IST的树
- 域内和域间的网桥构建的是树是CIST

CIST的总根和域根
总根:所有交换机中桥ID最小的交换机是
域根:域内IST的交换机去往总根开销最小的设备为域根
(其他域的域根不一定是桥ID最小的交换机)
选举过程:
- 初始环境下,每一个域内的交换机交互BPDU,选举根桥。
- 域间比较整个CIST的交换机的桥ID,最小的为总根
- 所有域内离总根开销最小的
- 什么是MSTI和MSTI的域根?
- 非实例0的树为MSTI的树
- MSTI树的根桥为MSTI的域根
- 不同MSTI的树一般对应不同的拓扑结构,也可以是相同的
- 总根比较桥ID,IST根比较去往总共开销,MSTI域根比较桥ID
- MSTP中的端口角色:Master端口
- IST域内可以存在2个或者多个域边界端口。
- 域根指向总根的端口为master端口(可以理解为CST的RP)
- 连接其他域的边界端口可以理解为CST的DP
- 如果没有Master,那这些交换机在同一域内
MSTP的计算包括 CST的计算,IST的计算,MSTI的算计,但是在完成收敛的时候是同时进行的
- CST计算:把域逻辑成网桥,逻辑网桥的代表是域根,总根所在域的代表为总根。总根所在的域在CST计算时可以理解为根桥,其余为非根桥,算法和标准的算法一样
- IST的计算:域根比较的不是桥ID,而是去往总根最近的。算法和STP一样
- MSTI计算:域根比较的桥ID小的算法和STP算法一样
MSTP收敛和RSTP一样,和RSTP结合使用的时候,如果RSTP是上游设备,MSTP是下游设备,要在MSTP的设备开启不检查A置位的BPDU。因为MSTP要检查P.A同时置位才同步
CIST优先级向量
- 首先比较CIST总根的ID,ID小的为优
- 若总根的ID相同,则比较CIST的外部路径开销,开销小的为优
- 若开销一定,则比较域根的ID,ID小者为优
- 如果域根的ID相同,则比较CIST的内部路径开销,开销小的为优
- 若内部开销相同,则比较CIST的指定桥ID,指定桥ID小者为优
- 指定桥ID相同,则比较CIST指定端口id,端口id小的为优
- 如果上述都相同,则比较CIST的接收端口ID,接收端口ID小的为优
STP的保护机制(4种)
- BPDU保护
- 交换机一般把连接终端的端口设置为边缘端口
- 防止从边缘端口发起的请求对网络进行攻击,开启后边缘端口收到BPDU后,关闭端口
- 根桥保护
- 为了防止新加入的设备影响根桥的地位,比如新加入的交换机优先级为优,抢占核心根桥的位置,导致根桥到接入设备。开启后如果接口收到其他更优的BPDU该接口状态设为discarding状态
- 环路保护
- 接口UP但是数据发送不出去
- 配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效。
- 如果该端口参与了STP计算,则不论其角色如何,该端口在所有实例都将处于Discarding状态
- TC-保护
-
- TC-BPDU的作用:通知其他的交换机的MAC地址表的老化时间为15S
- 一旦主机持续发送伪造的TC-BPDU,造成交换机持续机制,并刷新MAC地址表,导致交换机种MAC地址表是空的,发送单播帧时,一直在泛洪
- RSTP、MSTP中:运行RSTP和MSTP的交换机接收到TC-BPDU后,马上刷自己接口收到的MAC地址表
命令配置
RSTP
stp global enable //在全局模式下开启生成树协议
stp mode rstp //设置生成树为rstp;默认情况下是stp
stp priority 4096 //设置网桥的优先级
stp pathcost-standard dot1t //修改设备支持的端口开销标准
stp cost 10 //进入端口状态下,配置路径开销
stp port pritority 16 //进入端口状态下,配置端口的优先级
stp timer hello 400 //STP定时器发送hello包的时间
stp timer forward-delay 2000 //STP定时器延迟2000
stp timer max-age 1000 //STP定时器最大结束时间
stp edged-port //进入端口状态下,配置边缘端口
stp global mcheck //配置全局为兼容STP模式
stp mcheck //进入端口状态下,配置端口为兼容
MSTP
stp region-configuration //进入MSTP域配置模式下
region-name aaa //配置域名
revision-level 1 //配置修订级别
instance 1 vlan 10 //将vlan 10映射进实例1
instance 2 vlan 20 //将vlan 20映射进实例2
active region-configuration //激活MSTP域
stp instance 1 root primary //设备作为实例1的主根
stp instance 2 root secondary //设备作为实例2的备根
stp instance 1 priority 4096 //设置实例1的优先级,设置的时候要注意,一定要是4096的倍数。跟上面设置主根是一样,优先级越小会是主根
stp instance 2 priority 8192 //设置实例2的优先级。
stp edged-port //进入端口状态下,开启边缘端口
STP的保护机制
stp bpdu-protection //BPDU保护
stp root-protection //根桥保护
stp loop-protection //需要进入端口状态下,开启环路保护
stp tc-protection threshold 1 //TC保护
生成树的实验现象
实验一
基础条件:SW1还是根桥,但是SW3的4口是根端口以及SW2的1口是根端口。堵塞端口在SW3的3口上

配置
SW1的生成树配置

SW2的生成树配置


选举根端口的时候,修改根端口的优先级,越小越优选根端口
SW3的生成树配置

SW1的生成树端口变化
与其他两台交换机进行连接的端口变成了指定端口以及进入Forwarding状态

SW2的生成树端口变化
1口与SW1的1口互联,变成了根端口。2口是与SW3的互联口是指定端口。3口是与PC1互联的端口也是指定端口

SW3的生成树端口变化
3口是与SW2的2口互联,显示的是堵塞端口。4口是与SW1的2口互联是根端口。6口是与PC互联的口是指定端口

需求一:断掉SW3的root口查看生成树的状态以及是否收敛。

结果:断掉SW3的4口的时候,是没有发生收敛的过程,直接进入转发模式,一直去ping也是没有发生丢包的状态。
SW1的端口变化

SW2的端口变化

SW3的端口变化

需求二:当我们把SW3的4口线插回去查看生成树以及收敛过程
结果:会发现SW3连接PC的端口进行收敛,这时候是ping不通的状态。在SW3上进行查看端口的变化
从Discarding状态变成了Forwarding状态



结论:对于需求1和需求2的实验的结论。当我们去断掉SW3的4口(根端口)的时候,SW3的堵塞端口会里面进入转发状态,因为SW3的堵塞端口是指定端口也是一直转发的状态,会断掉SW3的根端口之后会自动进入转发状态。不会进行收敛。当我们把线再连接上的时候,会进行重新收敛,因为他收到了一个最优的BPDU,然后他的SW3的4口依旧是根端口。
需求三:断掉SW2的1口查看生成树的变化以及收敛

结果:断掉SW2的1口的时候,是会发生收敛,会在SW2上面进行PC端口的收敛,这时候就会不通



需求四:当我们把SW2的1口线插回去查看生成树以及收敛的过程
结果:会发现SW2连接PC的端口进行收敛,这时候是ping不通的状态。收敛结束之后就会通信
在SW2上进行查看端口的变化
从Discarding状态变成Forwarding状态




结论:对于需求三和需求四的总结,当我们把SW2的根端口断掉之后,SW2收不到最优的BPDU,就会以自己为根向SW3发送BPDU。这时候SW3收到之后就会发现没有本地的BPDU(但是SW3的根端口会收到SW1的BPDU最优)所以会反向的发给SW2了。所以会进行一个收敛的状态。当我们把SW2的根端口的线连接上之后,他会收到一个从SW1发过来的最优的BPDU,就会重新选举,然后进行收敛。
实验二
基础要求:SW1还是根桥,但是SW3的4口是根端口以及SW2的1口是根端口。堵塞端口在SW2的2口上

配置
SW1的生成树配置

SW2的生成树配置

选举根桥以及让1/0/2口做为堵塞端口时,进行了配置优先级以及cost值

SW3的生成树配置

SW1的端口变化

SW2的端口变化

SW3的端口变化

需求一:当我们断掉SW3的根端口的时候,查看一下会不会进行收敛

结果:断掉SW3的4口的时候,是发现在SW3上的连接PC口的端口正在进行收敛,这时候是ping不通的状态。





需求二:我们把断掉的SW3的4口插回去查看生成树的变化以及收敛
结果:我们发现会在SW3上进行收敛过程,会ping不通
端口状态变化




结论:对于需求一和需求二的总结,当我们把SW3的根端口断掉之后,SW3收不到最优的BPDU,就会以自己为根向SW3发送BPDU。这时候SW2收到之后就会发现没有本地的BPDU(但是SW2的根端口会收到SW1的BPDU最优)所以会反向的发给SW3了。这时候SW3的3口会变成根端口,所以会进行一个收敛的状态。当我们把SW3的根端口的线连接上了之后,他会收到一个从SW1发过来的最优的BPDU,就会重新选举,然后进行收敛。
需求三:当我们把SW2的根端口给拔掉之后查看一下,是否有收敛的过程

结果:断掉SW2的1口时,是没有发生收敛的过程,直接进入转发模式,一直去ping也没有发生丢包或者不通的状态。在SW2和SW3上查看都没有进行收敛
SW1的端口变化

SW2的端口变化

SW3的端口变化

需求四:我们把断掉的SW2的1口的线连回去,查看一下生成树的变化以及是否收敛
结果:发现SW2连接PC的端口会进行收敛,会导致两台PCping不通,在SW2上查看
端口变化



结论:对于需求三和需求四的实验的结论。当我们去断掉SW2的1口(根端口)的时候,SW2的堵塞端口会里面进入转发状态,因为SW2的堵塞端口对面的端口是指定端口也是一直转发的状态,会断掉SW2的根端口之后会自动进入转发状态,不会进行收敛。当我们把线再连接上的时候,会进行重新收敛,因为他收到了一个最优的BPDU,然后他的SW2的1口依旧是根端口。
实验三

需求一:当我们把SW1根桥两条线拔掉的时候,查看这个生成树的拓扑会发生什么改变?
结果:在这个拓扑图中会进行收敛过程,SW2会变成根桥,然后SW3的3口会变成根端口,然后来进行传输数据。
需求二:当我们把SW1根桥两条线再连接上之后,查看生成树的拓扑会发生什么改变?
结果:在这个拓扑图中会进行收敛过程,然后SW1会是根桥,然后SW3的4口是根端口以及SW2的1口是根端口,然后来进行传输数据
实验四

需求一:当我们把SW2给断掉之后,查看一下是否有啥变化?
总结:我们把SW2断掉之后,我们的生成树拓扑不会发生收敛和改变,因为SW1根桥一直在,所以不会发生拓扑的改变。
需求二:当我们把SW2接入进去之后,查看一下是否有啥变化?
总结:我们把断掉的SW2重新连接上之后查看生成树的状态,我们的生成树是会发生收敛和竞选。
实验五

需求一:当我们把PVID(本征VLAN)修改成VLAN10,会发生什么实验现象?
结果:我们在端口中禁用VLAN1,因为默认缺省是VLAN1。所以我们要把VLAN1在各个端口中禁掉,然后再本征VLAN设置为10,我们发现,都是可以正常的进行收敛,已经生成树生效。
需求二:当我们把SW2和SW3的本征VLAN10改回VLAN1的时候,会发什么实验现象?
结果:我们把SW2和SW3的端口取消禁用VLAN1,然后把默认本征VLAN是VLAN1,然后也是能正常的生成树收敛和进行通信。
实验六

需求一:当我们把SW3以MSTP生成树接入到这个拓扑中会发生什么?
结果:我们把MSTP生成树接入到这个拓扑中,我们在SW2上查看,查看是会进行收敛,根桥会通告整个拓扑中的设备有新的设备在拓扑图中,进行竞选。PCping不通
需求二:当我们把SW3的RSTP生成树改成MSTP生成树会发生什么?
结果:SW3是会进行收敛,导致业务不通,端口状态会进行收敛的。


需求三:当我们把SW3这个MSTP断开之后,会发生什么?
结果:现象是PC去pingPC有六个请求超时,但是在SW2上查看生成树的包,是没有的。是没有跳收敛的包
需求四:当我们都是RSTP的时候,我们把SW2给断掉会发生什么?
结论:我们会发现没有进行收敛
需求五:当我们都是RSTP的时候,我们把SW2给断掉再接入进去。
结论:我们发现SW2进行了收敛,再SW2上查看端口状态,除了root口都进行收敛了,再SW3上pingSW2的PC,发现不通。

实验七

我们把SW2的root口给断开,在SW2的2口和SW3的3口,进行抓包。SW2发现自己的根端口发生故障,随即将自己作为根桥,然后从自己的指定端口2口发送P消息给对端SW3

SW3从自己的预备端口接收到了次要的BPDU报文,于是将自己的预备端口改为指定端口,并发送本地最优的BPDU报文给SW2

SW2收到更优的BPDU,会立即重新定义端口角色,将原指定端口改为根端口,然后发送A消息给SW3

根端口快速切换机制:若网络中出现了一个根端口失效的情况,网络中最优的Alternate端口会成为根端口,进入到Forwarding状态。原因是通过这个Alternate端口连接点网段上必然有一个指定端口可以通过网桥;收到一个更优的BPDU,之后DP会变成RP,状态自动变成为Forwarding。下游交换机其他的DP会进行收敛

浙公网安备 33010602011771号