关于stp生成树算法的一些原理

闲来无事,写些东西当作消遣;
可能有些差错,大佬勿怪。
stp协议是二层的一个非常重要的协议。
在逻辑上断开环路,防止广播风暴的产生;同时当线路故障,阻塞接口被**,恢复通信,起备份线路的作用。
一、stp选举就是选择AP(阻塞端口)的过程;
可分为三步
1)选择RB(根网桥):每个广播域选择一个RB
BID(网桥ID)最小
BID=网桥优先级+网桥mac地址
网桥优先级:
范围:0-65535
默认值:32768
步长:4096

2)选择RP(根端口):每个非根网桥上选择一个RP
此端口到达BID的路径成本之和最低
路径成本=带宽
1000M 成本20000
100M 成本200000
此端口直连BID最小
直连PID(端口标识)最小
PID=端口优先级+端口号
端口优先级: 取值范围 0-240 默认值128 步长 16

3)选择DP(指定端口):每条链路上选择一个DP
RB上的所有端口都是DP
此端口所在交换机到达RB路径成本最低
此端口所在交换机的网桥ID最小
PID最小

4)选择AP(阻塞端口):
剩下的都AP
关于stp生成树算法的一些原理
如上图:
display bridge mac-address //显示
网桥MAC地址
可通过以下命令进行验证
display stp brief//显示生成树信息摘要
Ethernet0/0/1 ROOT(根端口) FORWARDING(转发)
Ethernet0/0/2 ALTE(阻塞端口) DISCARDING(丢弃)
Ethernet0/0/3 DESI(指定端口) FORWARDING(转发)
阻塞之后相当于下图:
关于stp生成树算法的一些原理

二、生成树其它原理
1)BPDU
桥协议数据单元
运行了生成树协议的交换机会每隔两秒以组播的方式发送BPDU
类型:配置BPDU,拓扑变更BPDU

2)生成树端口状态
禁用 disabled 端口关闭
阻塞 blocking 只能接收BPDU
侦听 listening 能够接收和发送BPDU
学习 learning 构建mac地址表
转发 forwarding 转发数据帧

3)生成树计时器
hello时间:2秒
转发延迟:15秒
阻塞-----20秒----侦听-----15秒----学习----15秒----转发
最大老化时间:bpdu在交换机最大生存时间20秒
收敛时间:交换机端口从阻塞到转发的时间
stp:50秒 rstp:30秒
30-50秒

4.生成树的配置命令

[sw1]stp enable | disable //开启、关闭生成树协议
[sw1]display stp //查看生成树信息
[sw1]stp mode mstp 多生成树(默认模式) //设置生成树模式
stp 普通生成树
rstp 快速生成树

[sw1]stp priority 0 [0-61440] //设置网桥优先级
[sw1-Ethernet0/0/1]stp cost 20000 //设置端口的成本值
[sw1-Ethernet0/0/3]stp disable //禁用端口的生成树功能
(交换机连接PC机的端口)

5.mstp多生成树
创建多个生成树实例,让交换网络形成多个无环拓扑
实现负载均衡和容错。
2)配置多生成树:
[sw1]stp region-configuration //进入生成树区域配置
[sw1-mst-region]region-name jkl //为区域设置名称
[sw1-mst-region]instance 1 vlan 10 //创建生成树实例、指定的vlan
[sw1-mst-region]instance 2 vlan 20
[sw1-mst-region]active region-configuration //**生成树区域
交换机在每条路中都有自己独立的网桥ID
可以指定每条路的根网桥
[sw1]stp instance 1 priority 0 //指定sw1为实例1的根网桥
[sw2]stp instance 2 priority 0 //指定sw2为实例2的根网桥