目录
STP端口状态:
STP端口角色:
链路状态发生变化,STP如何重新收敛?
概述:
图解:
--------------------------------------------------------------------------------------TCN何时发:
实列一(收敛时间为30s):
对于核心交换网络来说,收敛时间长达30秒是不能忍受的,怎么办?
实列二(收敛时间为50s):
概述:
收敛时间太长,客户不满意,怎么办?
常见的STP调整命令:
--------------------------------------------------------------------------------
STP端口状态:
1.1 blocking(阻塞):20秒时间,只收不发BPDU;不学习MAC地址、不转发用户数据帧
1.2 listening(侦听):15秒,收发BPDU报文,不转发用户数据帧,不学习MAC地址,选举根桥、根端口、指定端口和阻塞端口
1.3 learning (学习):15秒,收发BPDU报文,不转发用户数据帧,但是开始学习MAC地址表
1.4 forwarding (转发):转发用户数据帧,学习MAC地址
1.5 disable (禁用状态):没启用STP,由于违规把这个接口关闭
-- ----STP最大收敛时间(从阻塞状态到转发状态一共花了多久)为50秒
-- ----一台笔记本接入到交换机接口,需要经过15秒侦听和15秒学习时间之后才能转发数据!
------- 除了forwarding状态,其他状态都对用户数据采用丢弃行为
---------------------------------------------------------------------------------------------------------------------------------
STP端口角色:
1.1 指定端口(DP):只发BPDU,STP收敛完成一旦选择出来ROOT之后,DP发送的是来自根桥的BPDU,我只负责转发而已;处于转发状态
1.2 根端口(RP):只收BPDU,处于转发状态
1.3 非指定端口(阻塞端口):只收BPDU;处于阻塞状态
---------------------------------------------------------------------------------------------------------------------------------
链路状态发生变化,STP如何重新收敛?
概述:
当一个链路发生变化,会创建TCN 拓扑变化通告BPDU,从自己的RP端口发出去给根桥,
其他非根桥收到我的TCN BPDU会用TCA BPDU给以确认同时把我的TCN BPDU从其根端口继续向根桥转发;根桥收到我的TCN BPDU后会在每两秒发送的配置BPDU里面把flag的最后一位置为1代表TC BPDU,
其他非根桥交换机收到来自根桥的TC BPDU后把自己的MAC地址老化时间由原来的300秒变成15秒,
加快整个交换网络MAC地址表更新和学习进程;TC BPDU连发35秒。
图解:
当sw2和sw3之间的链路发生故障时,sw3的阻塞端口被选为RP,并发送 TCN BPDU
--------------------------------------------------------------------------------------
TCN何时发:
1.1 端口进入到转发状态时
1.2 端口进入到阻塞状态时
1.3 接口选为RP或者DP时候
即当链路发生变化时候发送TCN类型的BPDU
---------------------------------------------------------------------------------------------------------------------------------
实列一(收敛时间为30s):
当sw1和sw3之间的链路发生故障时,此时F0/6 处于阻塞状态,只收不发BPDU。首先经过15s的侦听时间在经过15s的学习时间f0/6接口变为转发状态,即生成树收敛时间为30s
对于核心交换网络来说,收敛时间长达30秒是不能忍受的,怎么办?
1、uplinkfast技术:
注:1、PVSTP:思科私有技术,每个VLAN运行一个STP生成树
2、PVSTP+里面的uplinkfast技术 思科解决方案是:在所有非根桥交换机启用uplinkfast技术,可以省略这30秒时间直接进入转发状态;我其中一个链路故障,还能从其他接口收到来自根桥的BPDU,把原来阻塞端口切换到15秒侦听状态和15秒学习时间省略,直接进入到转发状态;
sw3(config)#spanning-tree uplinkfast---------------------------配置命令
2、Portfast技术(思科私有技术,华为\华三里面称为边缘接口):
1.1 一般在连接路由器、PC、服务器的接口启用此技术,省略15秒侦听时间和15秒学习时间,直接进入到转发状态。 1.2 启用了portfast接口可以收发BPDU报文,一旦收到BPDU报文此接口又重新变成了正常的STP端口(恢复15秒监听和15秒学习时间)
sw3(config)#int f0/29 sw3(config-if)#spanning-tree portfast sw3(config-if)#exit-----------------------------------------------------配置命令
------------------------------------------------------------------------------------------------------------------------------
实列二(收敛时间为50s):
当sw1和sw2之间链路出现故障时,sw2认为sw1失联,于是向sw3发送bpdu报文,声称自己是ROOT,当sw3收到来自sw2的BPDU报文之后,等待20s之后,然后sw3的f0/6接口经过30s变为转发状态,即生成树收敛时间为50s
概述:
当我其中一个接口故障,从其他接口收不到来自根桥的BPDU,我会创建BPDU声明我是根桥,把BPDU给自己的邻居交换机发过去,但是邻居交换机还能收到来自根桥的BPDU,不认同我这新产生的老大,对我进行报复20秒(阻塞时间),又经过了15秒侦听时间,在经历15秒学习时间,最后进入了转发状态,整个生成树经历了50秒收敛时间;
收敛时间太长,客户不满意,怎么办?
思科解决方案是在所有交换机采用backbonefast技术,省略阻塞的20秒时间
注:PVSTP里面的backbonefast技术(思科私有技术,已经被集成到RSTP公有里面去了)
sw3(config)#spanning-tree backbonefast -----------配置命令
---------------------------------------------------------------------------------------------------------------------------------
常见的STP调整命令:
1.1 接口下命令
sw3(config-if)#spanning-tree cost 39 //修改接口cost值
sw3(config-if)#spanning-tree port-priority 128 //修改接口port-id优先级,默认就是128
1.2 全局配置
sw3(config)#spanning-tree vlan 100 priority 32768 //在VLAN100里面修改BPDU中的BID的优先级,默认就是32768
sw3(config)#spanning-tree vlan 100 max-age 20 //在VLAN100里面修改BPDU的最大老化时间,默认20秒
sw3(config)#spanning-tree vlan 100 hello-time 2 //在VLAN100里面修改BPDU的发送间隔时间,默认2秒
sw3(config)#spanning-tree vlan 100 forward-time 15 //在VLAN100里面修改STP的转发延迟时间,默认15秒
sw3(config)#spanning-tree vlan 100 root primary
#spanning-tree vlan 200 root secondary
SW3交换机是VLAN100的主根桥,VLAN200的备份根桥
以上仅个人观点,如有错误还请指出!感谢!
STP端口状态特点 STP端口角色特点 链路状态发生变化 STP如何重新收敛? TCN何时发?uplinkfast技术 Portfast技术 backbonefast技术 常见的STP调整命令: