113229250.pngSpanningTreeProtocol

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----RIDPriority32768+MAC

2.2 选择所有非根桥的根端口

2.2.1 Cost ofpath --到达根桥(Root)开销最小的端口为根端口(每台交换机有且只有一个)

2.2.2 10MB =100 100MB=19 1G=4 10G=1

2.2.3 相同则比较上游交换机的 BIDPriority +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 提高收敛速度(PortfastUplinkfastBackbonefast

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-Forwarding50s

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)可以包含多个VLAN1-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——BlockingALT——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 rootDP

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