文章目录
- 一、二层环路带来的问题
- 二、生成树定义
- 三、STP相关概念
- BPDU(Bridge Protocol Data Unit)
- 定义
- 分类
- 用来选举的参数
- 四、STP的选举机制
- 五、STP初始化流程
- 交换机端口状态
- 六、STP计时器
- 七、STP拓扑变更机制
- 八、STP的问题
- 九、RSTP(Rapid Spanning Tree Protocol)
- 十、MSTP(Multiple Spanning Tree Protocol)
- 十一、STP常用命令
首先可以看下思维导图,以便更好的理解接下来的内容。
一、二层环路带来的问题
在网络中,二层环路是指交换机之间存在多条路径,导致数据在环路上不断循环,引发问题。这些问题包括:
广播风暴: 环路会导致广播帧在网络中无限循环,使网络中的每个交换机都不断收到相同的广播消息,占用带宽并导致网络拥堵。
MAC地址表漂移: 环路上的交换机可能因为广播风暴不断更新其MAC地址表,而这些表的更新会在环路中不断传播,造成网络不稳定,严重影响数据转发。
二、生成树定义
生成树协议(Spanning Tree Protocol,STP)被设计用来解决二层环路问题。它通过在网络中选择一个主干路径,将其他冗余路径进行屏蔽,以确保网络中不存在活动的环路。
三、STP相关概念
BPDU(Bridge Protocol Data Unit)
定义
桥协议数据单元,用于传递STP协议相关信息。
分类
配置BPDU:用于传递STP的配置信息。
TCN BPDU(Topology Change Notification BPDU):用于通告拓扑变更信息。
用来选举的参数
桥ID:由优先级和MAC地址组成,优先级默认32768。
根桥ID:拥有最小桥ID的交换机成为根网桥。
根桥开销(RPC):从交换机端口到根网桥的路径开销。
转发桥ID:指示数据帧从源交换机到目标交换机的路径。
指定端口ID:用于在物理段上选举指定端口。
四、STP的选举机制
- 选举根网桥: 所有交换机中选举一个根网桥,规则是Bridge ID 最小的交换机成为根网桥,Bridge ID 由优先级和MAC地址组成。
- 选举根端口和指定端口:
根端口: 到达根网桥开销最小的端口。
指定端口: 在每个物理段上选举出一个,到达根网桥开销最小的端口。
- 选举闭塞端口: 剩下没有角色的端口就是闭塞端口(Blocked Port)。
五、STP初始化流程
交换机端口状态
交换机端口状态包括:disable、blocking、listening、learning 和 forwarding。
- disable: 禁用状态,被关闭的端口。
- blocking: 闭塞状态,在此状态下,端口能接收BPDU,但不发送BPDU,不学习MAC地址,不转发数据。
- listening: 监听状态,接收并发送BPDU,不学习MAC地址,不转发数据,持续15秒。
- learning: 学习状态,接收并发送BPDU,学习MAC地址,不转发数据,持续15秒。
- forwarding: 转发状态,接收并发送BPDU,学习MAC地址,转发数据。
六、STP计时器
- Hello Time(2秒): 配置BPDU的发送周期。
- Max Age(20秒): 判断链路故障的时间,相当于10个Hello Time周期。
- Forwarding Delay(15秒): 状态切换延迟。
七、STP拓扑变更机制
- 1.当Max Age超时或有接口变更为转发状态,判断拓扑变更发生,交换机向根网桥发送TCN BPDU。
- 2.收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,直到到达根网桥为止。
- 3.根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU。
- 4.交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒。
八、STP的问题
STP存在一些问题,如:
- 收敛速度慢,故障切换时间长: 在STP中,网络中断的恢复速度较慢,需要等待Max Age的时间。
- 大量主机频繁上下线导致TCN BPDU发送: 当网络中的主机频繁上下线,会导致大量的TCN BPDU发送,影响网络性能。
九、RSTP(Rapid Spanning Tree Protocol)
RSTP是快速生成树协议,相较于STP,它带来了以下改进:
- 端口状态减少到3种: 替代了STP中的listening和learning状态,只有blocking、forwarding 和 disabled。
- 端口角色增加到4种:
根端口和指定端口与STP相同。
闭塞端口细分为两种:备份端口和替代端口,提高了冗余路径的利用。- 边缘端口机制: 当链路激活时,边缘端口会立即进入forwarding状态,不参与STP计算。边缘端口的UP/DOWN不会触发拓扑变更,建议将连接PC的端口配置为边缘端口。
十、MSTP(Multiple Spanning Tree Protocol)
MSTP是多生成树协议,它将多个VLAN捆绑到一个生成树实例,每个实例分别独立计算生成树,从而实现不同VLAN的流量负载均衡。
十一、STP常用命令
[h3c]display stp #查看STP相关信息
[h3c]display stp brief #查看STP端口状态
[h3c]stp global enable #全局启用STP
[h3c-GigabitEthernet 1/0/1]undo stp enable #关闭端口上STP
[h3c]stp mode 'stp/rstp/mstp' #更改STP模式,默认模式是mstp
[h3c]stp priority 'priority' #更改交换机优先级
[h3c-GigabitEthernet 1/0/1]stp cost 'cost' #更改接口生成树的cost
[h3c-GigabitEthernet 1/0/1]stp edged-port #配置端口为边缘端口
如有不详或错误,敬请指出。