生成树协议
二层环路带来的问题:广播风暴、MAC地址表震荡
生成树协议:STP,用来解决二层环路问题
STP相关概念
BPDU
定义:桥协议数据单元,用于传递STP协议相关报文
分类:
配置BPDU:用于传递STP的配置信息
TCN BPDU:用于通告拓扑变更信息
STP的选举机制
在所有交换机中选举出一台作为根网桥(Root bridge) | 选举规则 | Bridge-id小的优先 |
Bridge-id | 定义: 桥ID,BID,用来标识交换机身份 | |
格式: 优先级大的优先 其次Mac地址小的优先 优先级默认32768,必须是4096的倍数 | ||
只有根桥才能产生BPDU | ||
每台非根网桥(交换机)选举出一个根端口(Root port) | 选举规则: 1.到达根网桥开销小的优先 2.对端交换机BID小的优先 3.端口ID小的优先 | |
开销: Cost,代表路径耗费的代价和成本,带宽越大,开销越小 | ||
每个物理段上选举出一个指定端口(Designated port) | 选举规则: 1.到达根网桥开销小的优先 2.本机BID小的优先 3.端口ID小的优先 | |
剩下没有角色的端口就是阻塞端口(Blocked Port) |
STP初始化流程
交换机端口状态
disable:禁用状态,被关闭的端口 | |
blocking:阻塞状态 | 接收BPDU,但不发送BPDU,也不学习Mac地址,不转发数据 |
listening:监听状态 | 开始选举根网桥和端口,接收并发送BPDU,不学习Mac地址,也不转发数据,持续15秒 |
learning:学习状态 | 接收并发送BPDU,学习Mac地址,也不转发数据,持续15秒 |
forwarding:转发状态 | 接收并发送BPDU,学习Mac地址,转发数据 |
STP计时器
Hello time | 2秒;配置BPTU的发送周期 |
Max age | 20秒;判断链路故障的时间,10个Hello time周期 |
Forwarding delay | 15秒;状态切换延迟 |
STP拓扑变更机制
1.Max age超时/有接口变更为转发状态,判断为拓扑发生变更,向根网桥发起TCNBPDU |
2.收到TCNBPTU的交换机继续向根网桥转发TCNBPTU,到达根网桥为止 |
3.根网桥收到TCN BPTU后,向所有端口发起TC置为的配置BPTU |
4.交换机收到TC置位的配置BPTU后,Mac地址表的老化时间缩短到15秒 |
STP的问题
收敛速度慢,故障切换时间太长
网络中大量主机频繁上下线,会导致TCNBPTU以及TC置位BPTU大量发送
RSTP,快速生成树协议
端口状态减少到3种 | ||
端口角色增加到4种 | 根端口和指定端口不变 | |
阻塞端口细分为两种 | 替代端口(Alternateport) 备份端口(Backupport) | |
边缘端口机制 | 当链路激活时,边缘端口立即进入转发状态,不参与STP计算 | |
边缘端口UP/Down不会触发拓扑变更 | ||
建议把连接PC的端口配置为边缘端口 |
MSTP,多生成树协议
将多个vlan捆绑到一个生成树实例,把每个实例分别独立计算生成树
基于STP计算结果不同,实现不同vlan的流量负载均衡
STP常用命令
display STP | 查看STP相关信息 |
display stp brief | 查看stp端口状态 |
stp global enable | 全局启用stp |
[h3c-Gigabit-Ethemet 1/0/1] undo stp enabel | 关闭端口上的STP |
stp mode 'stp'rstp'mstp' | 更改stp模式,默认模式是mstp |
stp priority ‘pritrity’ | 更改交换机优先级 |
stp cost ‘cost’ | 进入接口改生成树的开销cost |
stp edged-port | 配置端口为边缘端口 |