SpanningTreeProtocol
1 1.生成树的种类
1.1 CST--802.1D
1.2 PVST+
1.3 RSTP--802.1W
1.4 PVRST+
1.5 MSTP--802.1S
2 2.STP操作
2.1 选举1个根桥
2.1.1 根桥的选举规则:min----RID(Priority32768+MAC)
2.2 选择所有非根桥的根端口
2.2.1 Cost ofpath --到达根桥(Root)开销最小的端口为根端口(每台交换机有且只有一个)
2.2.2 10MB =100 100MB=19 1G=4 10G=1
2.2.3 相同则比较上游交换机的 BID(Priority +MAC)
2.2.4 如果相同则比较 PortID(min)
2.3 选择各个网段的指定端口
2.4 接口的状态
2.4.1 blocking(阻塞)
2.4.2 listening(侦听)
2.4.3 learning(学习)
2.4.4 forwarding(转发)
3 3.RSTP
3.1 提高收敛速度(Portfast、Uplinkfast、Backbonefast)
3.2 端口状态
3.2.1 discarding(丢弃)
3.2.2 learning
3.2.3 forwarding
3.3 端口角色
3.3.1 根端口
3.3.2 指定端口
3.3.3 替代端口
3.3.4 备份端口
3.3.5 禁用端口
3.4 拓扑变更机制
在RSTP中,只有当非根非指定(包括Backup)端口进入转发状态的时候才会导致拓扑变更,才会产生TCBPDU,阻塞端口丢失连接不会导致拓扑变更,也不会产生TC BPDU。
在RSTP中,每台交换机都可以下发TC置位的config BPDU,以实现了快速收敛
除非网络有老式设备,否则RSTP不需要使用TCN BPDU
MAC地址的收敛
当某个交换机有非边缘端口变成转发状态时,发送TC BPDU泛洪,然后接受者把自己的非边缘端口的MAC地址表快速老化
RSTP不需要TCN-BPDU,当和运行CST的交换机一起工作时,还是兼容TCN
3.4.1 pvst使用了计时器
3.4.2 pvst收敛时间:ALT-20s-Listening-15s-Learning-15s-Forwarding(50s)
3.5 如何实现快速收敛
3.5.1 portfast:应用于连接终端主机的端口(加速收敛30s)
3.5.2 uplinkfast:检测链路失效问题,应用于接入层交换机(加速收敛30s)
3.5.3 Backbonefast--检测间接线路失效问题(加速收敛20s),应用于所有交换机
3.6 配置
3.6.1 spanning-treemode rapid-pvst
3.6.2 spanning-treevlan 2 root primary
3.6.3 spanning-treevlan 3 root sencondary
4 4.MSTP
4.1 主要目的:降低与网络的物理拓扑相匹配的生成树实例的总数,减少资源消耗
4.2 MSTP工作原理--为每个Instance执行生成树计算
4.2.1 实例(Instance)--一个实例(Instance)可以包含多个VLAN(1-500)
4.2.2 其他特征(根桥选举、端口角色等都和RSTP一致)
4.3 配置
SW1(config)#spanning-tree mode mst
SW1(config)#spanning-tree mst configuration
SW1(config-mst)#name MSTP
SW1(config-mst)#revision 1
SW1(config-mst)#instance 10 vlan 1-500
SW1(config-mst)#instance 20 vlan 501-1000
SW1(config)#spanning-tree mst 10 priority 0
SW1(config)#spanning-tree mst 15 priority 4096
show spanning-tree mst
show spanning-tree mst 1 detail
5 5.生成树的增强
5.1 BPDU
5.1.1
5.1.2 Config BPDU(不可靠)
根桥未确定时,每个交换机都认为自己是根桥都会发送配置BPDU用于选举根桥。
根桥选举出来以后,只有根桥会发送配置BPDU,以维护网络拓扑,2秒发一次。
指定端口发送报文,根端口接收报文。
周期性间隔发出,默认2s,组播,不可靠传递
一定是指定端口发送,根端口收
功能:
1)选举根桥;2)维护网络拓扑
5.1.3 TCN BPDU(可靠)
作用:非根交换机向根桥通告拓扑发送变化(Forwarding――Blocking,ALT――Forwarding)
当非根桥有拓扑变更时,发送TCN-BPDU,持续发送,直到收到TCA
当某交换机收到TCN后,立即回发一个TCA被置位的正常BPDU来确认
该交换机将产生另外一个TCN并从根端口发送出去
这个过程会一直持续下去,直到根桥收到TCN
根桥将发送TC被置位的配置BPDU,其他非根桥转发这个配置BPDU
每个非根桥都意识到拓扑已经改变,立即将MAC地址的老化时间降低到转发延时计数器的数值(15s)
5.2 BPDU Guard
5.2.1 防止交换设备意外连接到启用portfast特性的端口
5.2.2 Switch(config)#spanning-treeportfastbpduguard(不能自动恢复)
5.3 BPDUFilter
5.3.1 能够限制交换机不向接入端口发送不必要的BPDU
5.3.2 配置
1. 如果在全局下配置,从端口收到BPDU的话,不会禁掉端口,会转为正常的STP状态,
就是可接收BPDU
Switch(config)#spanning-treeportfastbpdufilter default
2. 如果在接口下配置,从端口收到BPDU的话,会丢弃。
3. 如果在同一接口设置Guard/Filter ,F优于G
5.4 ROOT Guard
5.4.1 防止接入端口上的交换机成为根交换机
5.4.2 工作原理:当一个端口启用RootGuard特性,则当它收到一个比根桥BID更优的BPDU时,它会立即堵塞该端口,使之不能形成环路或改变交换网络结构。
5.4.3 Switch(config-if)#spanning-treeguard root(DP)
5.5 showspanning-tree summary
6 6.避免转发环路和黑洞
6.1 环路防护
6.1.1 通过避免桥接环路的产生,来提高二层网络的稳定性
6.1.2 接口下:spanning-treeguard loop
6.1.3 全局:spanning-treeloopguard default
6.2 UDLD
6.2.1 要shutdown noshutdown
6.2.2 端口下:udld portaggressive
6.3 对比
loopguard |
UDLD |
Configuration |
Per port |
Per port |
配置范围 |
Per VLAN |
Per Port |
自动恢复 |
Yes |
Yes, errdisable超时特性 |
是否能防止单向链路失效? |
Yes, 当在根端口和替代端口激活后 |
Yes, 当在所有链路激活时 |
当在软件方面出现问题时是否能保护? |
Yes |
No |
当出现链路物理故障时能否保护 |
No |
Yes |