STP的功能
防止广播风暴的产生[路由环路],在逻辑上断开环路
当线路出现故障时被阻塞接口又重新激活恢复通信,又起到一个备份线路的作用
生成树算法
选择根网桥(Root Bridge)
选择根端口(Root Port)
选择指定端口(DP Designated Ports)
选择根网桥
先对比网桥优先级,优先级的值越小越优先
如果优先级一致,就去看网桥MAC地址,值越小越优先
选择根端口
到根网桥最小路径开销
直接网桥ID最小
端口ID最小
带宽与路径成本的关系
带宽越高成本越低
链路带宽(Mbps) | 路径成本 |
---|---|
10 | 100 |
100 | 19 |
1000 | 4 |
10000 | 2 |
选择指定端口
BPDU 网桥协议数据单元
STP选举是通过交换BPDU报文实现的
*(选举):哪些端口阻塞、哪些端口转发
BPDU封装在以太网帧中(802.3 | 802.2)
对于所有参与STP的SW(交换机),都是通过数据消息的交换来获得网络中其他SW的信息
BPDU 的功能
选举根桥,确定冗余路径位置,通过阻塞特定的端口来避免环路,通告网络的拓扑变更监控生成树的状态
BPDU每2秒由根桥发送一次
[最小bridge-id的交换机成为网桥]=网桥优先级+MAC
最初,每个交换机都认为自己是根,所以都会发送BPDU
比较最小的BID选一个根桥,此时只有根桥发送BPDU
非根桥只转发,转发只修改bridge-id和cost字段
(cost)为路径成本
STP的收敛
端口角色
RP | 根端口 | 非根网桥上只有一个选举到达根网桥上路径开销最小的根端 |
---|---|---|
DP | 指定端口 | 非根网桥上需要转发数据的端口,也是指定端口 |
AP | 预备端口 | 接口状态为Blocking状态,只收BPDU不发BPDU |
STP状态
状态 | 用途 |
---|---|
转发(Forwarding) | 发送/接收用户数据 |
学习(Learning) | 构建网桥表 |
侦听(Listening) | 构建“活动”拓扑 |
阻塞(Discarding) | 只接收BPDU |
禁用(Disable) | 不转不学不参与 |
关于阻塞Blocking为Cisco,这里使用的是华为所以是Discarding