一、题目
如图所示,四台交换机都运行STP,各种参数都采用默认值。在根交换机某端口发送堵塞并无法通过该端口 发送配置BPDU时,网络中blocked端口在多久之后会进入到转发状态?
A. 约30秒
B. 约50秒
C. 约15秒
D. 约3秒
二、答案
B
三、解析
这里我们由于网络拥塞导致无法接受BPDU报文从而引发的链路故障,在STP标准生成树中有三种变更机制分别是
1、无效拓扑变更:不需要进行STP收敛的变更,不会引发生成树计算,例如边缘端口;
2、间接拓扑变更:由于单向链路故障或者拥塞导致的STP无法收到BPDU报文,需要依靠计时器超时感知的故障,此时需要大约50s收敛时间;
3、直接拓扑变更:有设备能够直接感知到链路故障,立即可以开始重新计算生成树的故障,例如接口UP/DOWN,只需要大约30s收敛时间;
这里拥塞属于第二种,所以选择50s时间
三种拓扑变更机制
1、无效的拓扑变更
不需要参与生成树计算的端口产生了UP/DOWM的切换,不需要进行STP的变更和收敛,链路切换不影响生成树的计算;
边缘端口
如何使端口不参与STP计算,在STP中有一种端口称为边缘端口(edge),主要用于交换机连接终端设备,默认所有交换机端口需要参与生成树计算,那么无论任何端口需要经过30s的时间才能进入转发状态,但是终端设备不需要进行STP计算,所以将连接终端的设备置为边缘端口,可以直接进入转发状态,不需要参与端口状态的迁移,从而加速收敛时间,并且,该端口的UP/DOWM不会影响到STP的计算;
2、间接的拓扑变更
由于网络中单向链路故障(SW1无法发送信息到SW2,SW2成功发送信息到SW1),但是端口处于up状态,无法直接检测到网络端口发生变化,需要等待老化时间,才能开始进行拓扑迁移;
1、SW2产生单向链路故障,无法接收到由root发送的最优BPDU信息,SW2无法触发向下游交换机转发最优的BPDU,开始进入最优BPDU老化周期20s,同时由于SW2DP端口无法继续发送BPDU信息,Blocking端口无法继续接受到任何的BPDU信息,也开始等待20s老化时间;
2、SW2 20s老化时间结束,将从root接收的最优BPDU删除,认为自身为根桥,发送以自己为根的BPDU信息,同时SW3的 AP端口已经经过20s等待,进入Listening 状态;
3、SW3收到同时两个root信息,由 SW1通告的root具有最小桥ID,由SW2通告的root具有次优桥IDS,SW3进行对比,发现,最优的root为SW1,SW3将最优的根桥信息转发给SW2,并且产生TCN BPDU信息从RP端口持续转发,上游交换机收到TCN BPDU信息,会立即回应一个TCA BPDU,确认对方的TCN BPDU,通时阻止对法继续发送TCN BPDU,其他交换机继续向root,当root收到TCN BPDU,立即回应TCA,并且开始向网络中发送TC BPDU,网络中所有交换机收到TC BPDU后,将MAC地址表老化时间设定为15s(默认为300s) ,进行MAC地址的重新学习;
4、等待NDP端口迁移到Forwarding状态,网络即可正常进行数据转发;
拓扑收敛时间:
3、直接的拓扑变更
- 当运行稳定的STP网络中,SW2检测到自身参与STP计算的端口从Forwarding状态迁移到disable,SW2检测到自身端口状态发生改变,从可以转发端口不间断(2s/次)发送TCN BPDU,通告给其他交换机;
- 若其他交换机正常端口收到TCN BDPU,直接回应TCA BPDU以阻止TCN BPDU,且向上游的root方向转发TCN BPDU给其他交换机;若收到TCN BDPU消息由NDP端口收到,NDP端口立即从Blocking进入listening,并回复TCA BPDU 终止TCN BPDU的发送,并向上游的root方向转发;
- Root收到TCN BPDU,立即回应TCA BPDU阻止对方继续发送TCN BPDU,然后root立即发送TC BPDU 通告网络中的所有交换机,网络拓扑发生变化,将MAC地址老化时间设定为15s(默认300s),让MAC地址15s后可以重新学习;
- 等待NDP端口迁移至转发状态,网络即可恢复正常的通讯;
拓扑收敛时间:
模拟器测试
通过HUAWEI ENSP 与 CISCO GNS3 模拟器测试直接拓扑变更机制;由于间接拓扑变更需要真实环境测试,所以文档中不演示;
主要命令
功能 | HUAWEI | CISCO |
更改桥优先级 | stp priority 0 | spanning vlan 1 priority 0 |
更改端口优先级 | interface e0/0/3 stp port priority 0 | interface f1/0 spanning port-priority 0 |
更改端口不参与STP计算 | [Huawei]interface e0/0/5 [Huawei-Ethernet0/0/5]stp edged-port enable | interface f1/1 spanning portfast |
测试命令 | ping 192.168.1.2 -t | ping 192.168.1.2 repeat 999999 |
查看STP信息 | display stp display stp brief | show spanning vlan 1 show spanning vlan brief |
HUAWEI
ENSP模拟STP实验:
配置需求:
- 保证LSW1成为root;
- 保证阻塞端口为LSW3的E0/0/3
- 由于LSW1/LSW2的E0/0/5链接PC,不需要参与STP计算,请进行配置;
- 当LSW2的RP端口从Forwarding状态迁移到Disable; 测试PC1与PC2通讯中断时间,并截图;
配置步骤:
首先华为交换机默认使用MSTP,先切换为STP模式
配置:[Huawei]stp mode stp
配置LSW1为root
1、保证LSW1成为root:
思路:root选举规则是判断网络中交换机的 Bridge ID ,该参数由 优先级+MAC地址组成,越小越优,先判断优先级,更改LSW1的优先为取值范围最小,就能保证LSW1成为网络中的root;
配置:[Huawei]stp priority 0
2、保证阻塞端口为LSW3的E0/0/3:
思路:由端口选举规则可以判断,STP的开销LSW2与LSW3开销相同,需要进行对比Bridge ID,越小越优先,保证LSW2的Bridge ID小于LSW3即可,此时可以配置LSW2的桥优先级比LSW1次优,比LSW3更优即可;
配置:[Huawei]stp pritotry 4096(桥优先级只能为4096的倍数)
3、连接PC的端口不能参与生成树计算;
思路:只有配置为边缘端口的交换端口不需要参与STP计算;
配置:
[Huawei]Interface e0/0/5
[Huawei-Ethernet0/0/5]stp edged-port enable
4、测试
思路:使PC1与PC2持续通讯,在通讯状态中将LSW2的RP端口shutdown,观察PC1与PC2的通讯中断时间,LSW3的阻塞端口状态;
配置:
PC1:ip 地址 192.168.1.1/24
PC2:ip 地址 192.168.1.2/24
PC1持续ping PC2 测试:ping 192.168.1.2 -t
配置LSW2 e0/0/1接口shutdown:
[Huawei]interface e0/0/1
[Huawei-Ethernet0/0/1]shutdown
截图:发现需要丢失17个包才能恢复通信,大概30s~35s之间恢复通信;