文章目录
一、STP概念
1、什么是生成树协议
- 防止交换机冗余链路产生环路,避免广播风暴
二、STP工作原理
1、选择根网桥(交换机)
- 比较网桥ID,网桥ID较小的为根交换机
- 网桥ID(网桥的优先级+网桥的MAC地址)
- 网桥优先级,默认是32768,可以由管理员进行更改(更改时注意需要设置为4096的倍数)
- 网桥ID(网桥的优先级+网桥的MAC地址)
- 根网桥上的端口是不可能被阻塞的
2、选择根端口
- 根路径成本最少
- 直连网桥ID最小
- 端口ID最小(端口的ID默认是128)
3、选择指定端口
- 根网桥上的所有端口全是指定端口
- 在每个网段上选择一个指定端口
- 非根网上选指定端口
- 根路径成本最少
- 网桥ID最小的
- 端口ID最小(端口的ID默认是128)
4、没有被选中的端口就是阻塞端口
三、STP其他概念
1、STP的收敛
- 收敛(整个网络达到一致的情况)
- 交换机的端口的五种状态
- 禁用:down
- 阻塞:不能发送数据,也不会进行mac地址学习,只会去侦听网络的BPDU(拓扑变更通告)
- 侦听:可以收发BPDU,但不会进行MAC地址学习
- 学习:可以收发BPDU并可以进行MAC地址学习,不会转发数据
- 转发:正常转发业务数据
- 计时器
- Hello Timer(Hello时间):STP交换机发送BPDU的时间间隔,当网络拓扑稳定之后,该计时器的修改只有在根桥修改才有效。根桥会在之后发出的BPDU种填充适当的字段以向其他非根桥传递该计时器修改信息。但当拓扑变化之后,TCN BPDU的发送不受这个计时器的管理
- Forwarding Delay Timer(转发延时):指一个端口Listening和Learning的各自时间,默认为15秒,即Listening状态持续15秒,随后Learning状态再持续15秒。这两个状态下的端口会处于Blocking状态,这是STP用于避免临时环路的关键
- Max Age(最大老化时间):端口会根据接收到的BPDU存储所接收到的最好的四个信息(根桥BID、累计根路径开销、发送者BID和发送端口PID)。每次接收到合适的BPDU,端口都会启动这个Max Age计时器。超过这个Max Age时间端口接收不到合适BPDU,就会认为网络直径过大。这个时间默认为20秒
四、配置
1、单生成树(交换机上只有一个vlan)
- 设置网桥优先级
SW2(config)#spanning-tree vlan 1 priority 4096
- 指定SW3的F0/3接口为阻塞
- 设置SW1的网桥优先级为8192
SW1(config)#spanning-tree vlan priority 8192
- 设置SW1的网桥优先级为8192
2、多生成树(交换机上有多个vlan)
3、其他配置
- 直接指定根网桥
Switch(config)#spanning-tree vlan 1 root primary
- 修改端口成本(端口成本由带宽决定)
Switch(config-if)#spanning-tree vlan 1 cost 19
- 修改端口优先级
Switch(config-if)#spanning-tree vlan 1 port-priority 64