P&&MSTP实验

本文记录了在做MSTP时,实验和分析不一致的情况。省流:因为模拟器的局限性导致。将来抽空再真机上再做一次

实验拓扑图:

实验目的:

配置STP用于参照,对比出后续改进协议的优越性:对比pc1 ping pc2恢复的时间、TC保护、根保护,做好数据记录

配置:

四台设备都切换为STP模式:

sys

stp mode stp

现在SW2为根,三个端口都是D口

PC1长pingPC2:

ping 192.168.10.254 -t

切换sw1为根

[sw1]stp instance 0 root primary

现象:切换状态后PC1经过150次超时后恢复,超时时间缺省2s,故300s后恢复网络

期间,在STP收敛完成后仍然超时

 

现在icmp包走s3到s1的这条路,我们删除该链路制造直连故障

18次丢包后恢复,既70s

 

超时时以自己为根发的包

TC包:

由Mac806d可看出,该报文来自sw2,由root发出,且之后一直在发(为什么一直发TC置位的报文?)

重新连接这条线,当接口UP时,超时150次,既300s后恢复

 


FQ增加端口:

连接一个pc(三个交换机重复该操作,一次只连一根线)

结果:没有丢包,但是出现了一个奇怪的现象:

延迟一段时间后会持续收到16个TC报文

随后恢复

断开这根线后却没有收到TC报文

连接一个运行STP优先级更低的交换机

现象与连接终端设备一样

现象小总结:stp连接新设备后,不会触发故障转移机制,延迟一段时间后(可能是一个forward delay,没有验证)root会发送一段时间的tc置位的报文(不知道为啥)


 

连接一个运行STP优先级更高的交换机

[sw4]stp root pri

 

非法交换机在整个过程中只发送了两个报文:

 转发没有停止,但是新交换机发出了TCN,网络为什么没有受到影响呢?并没有开启根保护啊

可以看到它们的BID并不一样,为什么会出现这种情况呢?


 

 

 

切换为RSTP

3个交换机都配置:

sys

stp mode rstp

我注意到在缺省配置下开始ping,完成上述配置后会丢18个包,既36s

切换根

[sw1]stp root primary

在此时等待很久仍然没有恢复网络,我查看端口状态:

 此时端口卡在了learning状态

300s后恢复

制造直连故障:

 

18次超时,36s(咱说好的快速收敛呢??)


对比1:

PC1 ping PC2所用时间

STP

RSTP

切换根

立即150次超时 300s

(600s怎么来的? mac表缺省老化时间为300s,ARP表缺省老化时间1200s)

直连故障

立即18次超时  72s

直连故障恢复(切换RP)

立即150次超时 600s

增加一个UP的端口

不超时,但一段时间后收到了TC报文,网络却没有影响

非法交换机接入(root primary)

不超时,但接连收到两次了TCN

猜想:

由于交换机的ftb一直被访问,没有机会释放,待mac表超时才清理

验证:

在timeout期间手动清除mac地址表:

undo mac-address dynamic

 结果:立即恢复网络

 重新ping:

结果:立即恢复网络

结论:虽然root发送了tc报文,但是交换机的mac表被占用,无法被清除,需要手动清除mac或重新ping以解除占用

问:ping程序缺省超时时间为2s,期间并没有建立持续连接,为何mac表会被占用无法释放?

根保护的体现 (经过上面实验,用STP root primary 命令配置的根似乎不需要保护啊???)

接入SW4后网络变化

保护之前

保护之后


实验二 MSTP+VRRP

配置3个交换机为3个实例的根并验证

实例13:VLAN10~30

实例 24:VLAN20~40

来者不拒,去者不留