生成树协议

生成树协议
二层环路带来的问题:广播风暴、MAC地址表震荡
生成树定义
- STP(Spanning Tree Protocol),用来解决二层环路问题
STP
STP相关概念
BPDU
定义:桥协议 数据单元,用于传递STP协议相关报文
STP二层组播:01-80-C2
分类:
- 配置 BPDU 用于传递STP的配置信息
- TCN BPDU 用于通告拓扑变更信息
STP的选举机制
1.在所有交换机中选举出一台作为根网桥(Root bridge)
选举规则Bridge-id小的优先Bridge-id定义Bridge-id,用来标识交换机身份格式优先级+Mac地址,优先级默认为32768,必须是4096的倍数
2.每台非根网桥(交换机)选举出一个根端口(Root Port)
选举规则
- 到达根网桥开销小的优先
- 对端交换机Bridge-ID小的优先
- 端口ID小的优先
开销 Cost,代表路径耗费的代价和成本,带宽越大,开销越小
3.每个物理段上选举出一个指定端口(Designated port)
选举规则
- 到达根网桥开销小的优先
- 本机Bridge-ID小的优先
- 端口ID小的优先
4.剩下没有角色的端口就是阻塞端口(Blocked Port)
STP初始化流程
交换机端口状态
- 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的问题
- 收敛速度慢,故障切换时间长
- 网络中大量主机频繁上下线,会导致TCN BPDU以及TC置为BPDU大量发送
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 配置端口为边缘端口
RSTP
定义: 快速生成树协议,与STP基本思想一致,可兼容STP运行
与STP的区别
端口状态减少到三种
Discarding 不发送BPDU,不学习MAC地址,不转发数据
Learning 发送BPDU,学习MAC地址,不转发数据
Forwarding 发送BPDU,学习MAC地址,转发数据
端口角色添加到四种
根端口和指定端口不变
阻塞端口细分为2种
- 替代端口(Alternata port)根端口的备份
- 备份端口(Backup Port)指定端口的备份
RSTP的快速收敛机制
- 边缘端口机制
当链路激活,边缘端口立即进入转发状态,不参与STP计算
边缘端口UP/DOWN不会触发拓扑变更
边缘端口收到BPDU,会转变为非边缘端口
- 根端口的快速切换
- 根端口故障后,如果新的根端口对端的指定端口处于转发转发状态,则新的根端口立即进入转发状态
- 指定端口的快速切换 P/A机制
- i. SW1新增链路或故障链路恢复,指定端口要进入转发状态之前,向对端SW2发送Proposal报文
- ii. SW2收到Proposal报文后,立即进行同步操作
- 同步是指阻塞除边缘端口以外的所有端口,为了防止环路
- iii. 同步完成后,向对端SW1发送Agreement报文
- iv. 收到Agreement报文后,SW1的指定端口进入转发状态
RSTP的拓扑改变处理机制
处理机制
- 只有非边缘端口转变为Forwarding,才产生拓扑改变
- 拓扑变更后,向所有其他指定端口和根端口发送TC置位BPDU
- 收到TC置位BPDU,清楚其他所有端口学习的MAC地址
注意
- 由于每台交换机都可以主动发起RST BPDU,所以取消了TCN机制
MSTP
STP/RSTP的缺陷:所有VLAN共享一颗生成树
阻塞链路被完全浪费,无法实现不同VLAN在多链路上负载分担
定义
- 多生成树协议
- 基于实例计算出多颗生成树,实例间实现负载分担
基本概念
MSTP配置要点
MST配置完成或修改MST配置后,一定要激活配置才能生效
MSTP兼容性
STP保护机制
相关命令
[h3c]stp-region-configuration #进入MST域配置模式
[h3c-mst-region]region-name 'name' #配置MST域名
[h3c-mst-region]revision-level 'level' #配置修订级别
[h3c-mst-region]instance 'instance-id' vlan 'vlan-list' #配置实例和VLAN映射关系
[h3c-mst-region]active region-configuration #激活MST配置
[h3c]stp instance 'instance-id' root 'primary/secondary' #配置交换机为实例的主备根
[h3c]display region-configuration #查看MST域配置













