STP --- 生成树协议
设备冗余
网关冗余
线路冗余
UPS冗余
二层环路问题:
1,广播风暴 --- 广播帧在二层环路中将形成顺时针和逆时针两层环路,无限循环,最终将导
致设备宕机,网络瘫痪。
2,MAC地址表的翻摆(MAC地址表的漂移) ---- 因为两个方向的循环不断出现,将导致
MAC地址表不断被刷新
3,多帧复制
生成树 --- 在二层交换网络中,逻辑上阻塞部分接口,实现从根交换机到所有节点的最短路
径,生成一个没有环路的树形拓扑。当最佳路径出现故障时,则个别阻塞端口打开,实现备份
链路的效果。
802.1D生成树 --- STP --- 最早的生成树
PVST,PVST+ --- 思科私有协议
802.1W生成树 --- RSTP --- 快速生成树
802.1S生成树 --- MSTP --- 多生成树
802.1D生成树
注意:因为生成树需要交换机彼此之间进行沟通和交流,所以,支持生成树的交换机需
要具有MAC地址才行。
BPDU --- Bridge --- 桥
--- PDU --- 协议数据单元 --- 跨三,四层封装的协议
配置BPDU,TCN BPDU
协议ID --- STP为
协议版本 --- 802.1D --- 0
--- 802.1W --- RSTP --- 2
--- 802.1S --- MSTP --- 3
BPDU类型 --- 配置BPDU --- 0x00
TCN BPDU --- 0x80
标志 --- 8位 --- 在802.1D中只使用了两位,最高位(TCA)和最低位(TC)。
根网桥ID --- RID --- 为根的交换机的BID
网桥ID --- BID --- 每台交换设备的身份标识。8个字节
8个字节 --- 2个字节 --- 优先级
--- 6个字节 --- MAC地址 --- 如果设备存在多个MAC地址,则将选择其中
MAC地址最小的作为自己的桥ID中的MAC地址。
根路径开销 --- RPC --- 发出该BPDU设备到达根网桥的开销值。
接口ID --- PID --- 用来区分和标识交换机的不同接口
2个字节 --- 前4位 --- 优先级
后12位 --- 厂商定义的接口标识
这四个参数将参与生成树的角色选举。
消息寿命 --- 最大值 --- 20 --- 当收到一个消息寿命大于20的BPDU,将不再处理,相当于设
置里一个工作半径。
TCN BPDU
协议ID --- STP为
协议版本 --- 802.1D --- 0
--- 802.1W --- RSTP --- 2
--- 802.1S --- MSTP --- 3
BPDU类型 --- 配置BPDU --- 0x00
TCN BPDU --- 0x80
配置BPDU --- 只有根网桥可以发送。在交换网络初始状态,所有交换机都认为自己是根网
桥,所以,都会发送配置BPDU,所有设备接收到其他设备的BPDU后,将进行参数比较,之
后,基于数据中的参数,选出根网桥(在802.1D生成树中,一个交换网络仅生成一棵树),
所有的非根网桥,将不再发送配置BPDU,只有在接收到根网桥发送的配置BPDU后,转发。
根网桥发送周期为2S,MAX AGE 20S。
TCN BPDU
TCN BPDU --- 本地链路发生故障后,STP重新收敛,为了加快MAC地址表的老化,所以,
将向本地所有STP接口发送TCN BPDU。邻居收到TCN BPDU后将回复一个TCA标记置1的配
置BPDU表示确认,之后,再逐级向上转发,最终根网桥获取到TCN BPDU。之后,根网桥将
发送TC置1的配置BPDU,逐级传递。所有收到TC置1的配置BPDU后,将临时的把MAC地址
表的老化时间从300S改为15S。
根网桥 --- RB
根端口 --- RP
指定端口 --- DP
非指定端口 --- NDP
1,选择根网桥 --- 在802.1D生成树中,一个交换网络有且仅有一颗树,一棵树仅有一个根网
桥。
选举方法:比较配置BPDU中的BID == 优先级 + MAC地址
1,先比较优先级,优选优先级较小的为根网桥
16位二进制构成 --- 0 - 61440,默认值为32768。优先级在修改时,必须按
照4096的倍数修改。 --- 16位二级制,仅使用前4位作为优先级,后面12位
为
系统拓展ID
。(802.1D和802.1W中均未使用。)
2,优先级相同,再比较MAC地址,则优选MAC地址最小的作为根网桥
2,选择根端口 --- 每一台非根网桥需要选举一个距离根网桥最近的端口作为根端口,其作用
是用来接收根网桥发送的BPDU。
默认情况下,华为设备采用的是802.1t的标准。
[Huawei]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
1,先比较接口接收到根网桥BPDU时的RPC值,优选最小的作为根端口。
2,如果存在多个端口收到BPDU时的RPC相同的话,则优选对端BID小的设备对应的端
口为根端口。
3,如果对端的BID也相同,则看对端接口的PID,优选PID小的对应的端口为根端口。
4,如果对端的PID也相同,则需要比较自己本端的PID,优选PID小的作为根端口。
接口ID --- PID --- 用来区分和标识交换机的不同接口
2个字节 --- 前4位 --- 优先级 --- 取值范围 --- 0 - 240,默认值为128。接口优先
级在配置的时候,需要注意以16为倍数进行配置。
后12位 --- 厂商定义的接口标识
比较时,先比较优先级,优选优先级小的。如果优先级相同,则比较厂商定义的接
口标识,优选接口标识小的。
3,选择指定端口 --- 每一条链路都需要选择一个端口作为指定端口。指定端口主要为了转发
根网桥发送的配置BPDU。
1,首先比较两个端口在发出根网桥的配置BPDU时的RPC。
2,如果发出的RPC相同时,则将比较两台设备的BID,优选BID小的设备对应的端口为
指定端口。
3,如果BID也相同,则比较PID,优选PID小的作为指定端口。
4,如果本地的PID也相同,则直接阻塞该接口。
4,所有没有角色的端口均为非指定端口,非指定端口需要逻辑上阻塞。
接口的状态
禁用状态 --- 1,接口关闭;2,接口未运行生成树
阻塞
--- Blocking ---- 是接口打开后进入的第一个状态 --- 不能发送BPDU和业务数据,只能
侦听BPDU。
20S后,将进入到下一个状态
侦听 --- listening --- 进行角色选举。 ---- 15S,时间到达后进入下一个状态。 --- 之所以给
一个比较长的时间进行选举,目的是为了让所有的接口角色都选举完成,避免出现临时环路。
角色选举完成后,所有的非指定端口将退回到阻塞状态。
学习 --- learning --- 依旧不能转发业务数据,仅学习MAC地址表。 --- 15S ---- 目的为了减
少未知单播的泛洪。
转发
--- Forwarding --- 可以转发业务流量,可以学习MAC地址,可以接收和发送BPDU。
802.1D生成树的收敛时间 --- 30S,50S
首次收敛 --- 50S
结构突变
1,根桥故障 --- 50S
2,直连链路故障 --- 30S
3,非直连链路故障 --- 50S
STP配置
[sw1]stp mode ? --- 注意:华为设备默认使用的是MSTP
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
[sw1]stp mode stp
[sw1]stp enable --- 激活STP功能 --- 注意:华为设备默认开启
[sw1]display stp --- 查看STP信息
[sw6]stp priority ?
INTEGER<0-61440> Bridge priority, in steps of 4096
[sw5]stp priority 28672 --- 抢占模式选举
[sw1]display stp brief --- 查看接口信息
[sw1]stp root primary --- 将该设备置为生成树的根网桥 --- 相当于将优先级改为0
[sw2]stp root secondary --- 将该设备置为生成树的备份根网桥 --- 相当于将优先级改为4096
[sw1-GigabitEthernet0/0/1]stp port priority ? --- 修改PID中的优先级
INTEGER<0-240> Port priority, in steps of 16
[sw1-GigabitEthernet0/0/1]stp cost ? --- 修改接口的开销值
INTEGER<1-200000000> Port path cost