路由技术基础:STP生成树协议详解、STP工作原理与选举过程。
原创STP:生成树协议,默认收敛速度30-50s
作用:通过阻塞特定端口来防止二层交换机环路,进而实现冗余和备份。
交换机环路带来的问题:
1、广播风暴
2、MAC地址表不稳定
3、网络卡顿
4、网络不稳定等
5、交换机CPU和内存占用增加
华为交换机默认自动运行STP的MSTP技术,默认开启防环。
STP种类:
1、传统STP
2、RSTP:快速生成树协议,Rapid STP,可向下兼容传统STP,加快STP收敛。
3、MSTP:多生成树协议,Multi STP(针对多VLAN)
STP工作原理
整体思路:再同广播域内,先选出那些接口不被阻塞,最终剩下的接口全部阻塞。
STP选举过程
整个交换网络选举根桥(根交换机-Root),桥ID较小的交换机选为根桥,根桥的接口都是指定端口(DP Design Port),用于发送STP BPDU报文。
非根桥上选举根端口,到达根桥最近的端口当选为根端口(RP,Root Port),通过比较对端桥ID选举,用于接收STP BPDU报文。
每条链路有且仅有一个指定端口,桥ID较小的交换机的端口当选为指定端口。
剩余的接口全部被阻塞,阻塞端口简称:Block Port或NDP或AP,阻塞端口只能接收BPDU报文。
指定根桥的方法:
修改桥优先级:stp priority 0 #值越小越优先,默认32768
执行:stp root primary #交换机自动降低优先值,使自己成为根桥,通常将核心设置为根桥。
RPC:到根桥的距离开销
开销值Cost:计算到达根桥的cost值,链路根端口cost累加即可,华为默认千兆接口开销为20000,百兆接口开销值200000,根桥发送端口开销默认为0,只有根端口的cost才会参与影响链路开销值。开销值相同时对比对端桥ID。
源MAC为发送者MAC,目的MAC始终为 01:80:C2:00:00:00 属于组播MAC,适用于STP。
STP中选举过程对比,值越小越优先。
桥ID(BID)=桥优先级 + 桥MAC ,优先级默认32768,桥MAC是主板MAC,格式:32768.MAC地址
端口ID(PID)=端口优先级+端口ID,端口优先级默认128,端口ID就是端口编号,例如:E0/0/3,ID=3
BPDU:Bridge Protocol Data Unit,就是STP报文,由根桥每隔2秒发送一次,报文包含BID,链路开销COST
STP状态:
Disable ——>Blocking——>Listening——>Learning——>Fowarding
端口角色:
RP:根端口 DP:指定端口 AP:阻塞端口/预备端口
根端口选举规则:
RPC——>对端BID——>对端PID——>本段PID
指定端口选举
RPC——>本端BID——>本端PID
STP edge-port
将终端接口配置为边缘端口,边缘端口不参与生成树计算,加快网络收敛。边缘端口一旦收到BPDU报文后将自动取消边缘端口属性。
各类型端口收发规则:
端口类型 | 发送数据 | 接收数据 | 发送配置BPDU | 接收配置BPDU |
RP (根端口) | 是 | 是 | 否 | 是 |
DP (指定端口) | 是 | 是 | 是 | 否 |
AP (阻塞端口) | 否 | 否 | 否 | 是 |
BPDU保护:
开启保护后一旦边缘端口收到BPDU报文,边缘端口将被shutdown,边缘端口属性不变
stp bpdu-protecetion #开启BPDU保护功能
配置命令
<> dis stp brief #查看端口STP信息 [] undo stp enable #禁用STP [] stp priority 0 #指定桥优先值为0,越小越优先 [] stp root primary #交换机自动降低优先值,使自己成为根桥。 <> dis bridge mac-address #查看桥MAC,即主板MAC地址 [] stp bpdu-protecetion #开启BPDU保护功能 [int] stp edged-port enable #开启边缘端口属性 [int] stp edged-port disable #取消边缘端口属性 [] stp edged-port default #所有端口设置为边缘端口