计算机网络 --- STP

STP --- 生成树协议

二层设备连接成环遇到的问题:

1.广播风暴 --- 广播帧在二层环路中形成顺时针和逆时针两重环路,无限循环,极大的消耗设备资源

2.MAC地址表的翻摆(MAC地址表的飘移)

3.多帧复制

生成树协议就是,在二层交换网络中,逻辑上阻塞部分接口,实现根交换机到所有节点的唯一且最短的路径(最短路径树),形成一个没有环路的拓扑,当最佳路径出现故障时,个别阻塞端口打开,形成备份路径

STP --- 标准的生成树协议 --- 802.1D --- IEE组织 --- 公有协议

PVST、PVST+ --- 思科的私有协议

RSTP --- 快速生成树 --- 802.1W --- 公有协议

MSTP --- 多生成树协议 --- 802.1S --- 公有协议

802.1D标准生成树协议

BPDU --- 生成树的数据包

配置BPDU --- 协商生成树形结构时使用的BPDU

TCN BPDU --- 在拓扑结构发生变化时,传递变化信息的BPDU

配置BPDU

协议版本ID --- 802.1D标准的生成树 --- 0

802.1W快速生成树 --- 2

802.1S多生成树 --- 3

标志位 --- 占8位 --- 在802.1D中,仅使用最低位(TC位)和最高位(TCA位),其中中间6位没有启用

根网桥ID --- 拓扑中为根的交换机的网桥ID --- 802.1D生成树中,一个拓扑中仅生成一棵树

**网桥ID ---**所有拓扑中的交换机都需要一个身份标识,使用网桥ID来标识

8个字节构成 --- 2个字节 + 6个字节

(优先级)(MAC地址 )

如果交换机中存在多个MAC地址,则将选规择数值最小的成为网桥ID中的MAC地址

**RPC ---**根路径开销 --- 当前交换机达到根网桥的距离开销

**接口ID ---**2个字节 --- 前4位 + 12位

(优先级)(接口编号)

以上四个参数将参与生成树的角色选举

消息寿命 --- 每经过一个交换机转发会加1,存在一个MAX-HOP为20,当超过该值时,将不再认可该BPDU

TCN BPDU

配置BPDU的工作过程

配置BPUD的发送,使得网络中所有交换机均收到其他设备配置BPDU,之后,基于数据报中参数进行比对,选举出网桥,之后,所有非根网桥不再发送配置BPDU,仅根网桥周期性发送BPUD,其他网桥仅转发,周期2S,最大老化时间为20S

TCN BPDU

TCN BPDU --- 本地链路发生故障后,STP重新收敛,为了快速刷新全网所有交换机MAC地址表,将向本地所有STP接口发送TCN BPDU;邻居交换机收到TCN BPDU之后,会先回复一个TCA位置1的配置BPDU,代表确认,之后,继续逐级向上传递TCN BPDU,最终发送到根网桥处,根网桥收到后,也会进行TCA的确认,之后,发送一个TC位置1的配置BPDU,逐级转发到所有交换设备上,收到TC位置1的配置BPDU的设备,会临时将MAC地址表的老化时间从300S修改为15S

1.根网桥(RB)

选举方法:比较配置BPDU中的BID

8个字节构成 --- 2个字节 + 6个字节

(优先级)(MAC地址)

先比较优先级,选择优先级数值较低的作为根网桥

优先级我们只使用了前4位二进制,后面12位二进制 --- 系统拓展ID(在802.1D中没有使用) 所以,优先级在进行修改时,必须按照4096的倍数来进行修改;存在默认优先级32768;如 果优先级相同,则比较MAC地址,选择MAC地址数值较小的作为网桥

2.根端口(RP)--- 每一个非根网桥都需要选举一个距离根网桥最近的端口作为根端口(有且仅有一个),用来接收根网桥发送的配置BPDU

Huawei\]stp pathcost-standardr? dot1d-1998 IEEE 802.1D-1998 dot1t IEEE 802.1T legacy Legacy 1.优先比较接口接收到的配置BPDU时的开销值,选择开销值最小的接口作为根接口 2.如果一台设备存在接口到达根网桥开销大小相同时,则可以比较其对端(上级)设备的 BID,选择对端设备BID小的对应的接口为根接口 3.如果对端的BID也相同,则比较对端的PID,优先选择对端PID较小的所对应的端口为根端口 接口ID --- 2个字节 --- 前4位 + 12位 取值范围0 - 240,默认以16为步调递增,初始默认值为128 4.如果对端的PID也相同,则比较本端的PID,优先选择本端PID小的端口为根端口 3.指定端口(DP)--- 每一条链路上选择仅有一个端口作为指定端口,指定端口用来转发根网桥发送的配置BPUD 所有根端口对端的端口一定是指定端口,并且,根网桥的所有接口都是指定端口 1.优先比较两个端口在转发根网桥BPDU时RPC的大小,优先选择RPC小的作为指定端口 2.如果两个端口发出的RPC相同,则比较本地的BID,选择本地设备BID小的对应的端口作为 指定端口 3.如果本地的BID也相同,则比较本地的PID,优先选择本地PID小的端口作为指定端口 4.如果本地的PID也相同,则直接阻塞该接口 4.非指定端口(NDP)--- 所有没有角色的端口,都是非指定端口,非指定端口需要被阻塞 接口的状态 ![](https://i-blog.csdnimg.cn/direct/1170782624d6428a90eecfe4f51e93a6.png) 禁用状态 --- 1.物理接口关闭;2.接口禁用生成树 阻塞状态 --- 所有接口启用生成树后,首先进入到阻塞状态中,在这个状态下,仅能侦听BPDU,不能转发BPDU,也不能转发业务数据帧,不能学习MAC地址 这样的状态将持续20S,超过最大老化时间后,接口进入到下一个状态 侦听状态 --- 会收发BPDU,但是不能转发业务帧,也不能学习MAC地址 --- 15S 该状态主要目的就是进行角色选举 指定端口和根端口将进入到下一个状态,而非指定端口,将退回到阻塞状态 这里给15S的侦听时间,主要是为了避免临时环路的出现 学习状态 ---可以正常收发BPDU,依然不转发业务帧,但是会学习业务帧的MAC地址到本地的MAC地址表中 --- 15S --- 该状态的主要目的是尽量减少未知单播的泛洪 转发状态 --- 可以正常转发BPDU,可以转发业务帧,也可以学习MAC地址 一次完整的收敛 --- 50S 结构突变的场景 --- 50S,30S 1.根桥故障:50S 2.直连链路故障:30S 3.非直连链路故障:50S 生成树的配置 1.启动生成树协议(华为设备默认开启生成树) \[Huawei\]stp enable 2.选择生成树的协议版本 \[Huawei\]stp mode stp --- 华为设备默认选择的是MSTP \[SW1\]display stp brief --- 查看生成树接口状态及角色 \[SW2\]stp priority 4096 --- 修改BID中优先级的命令 \[SW1\]stp root primary --- 将该设备设置为生成树的主根 --- 相当于将优先级设置为0 \[SW1\]stp root secondary --- 将设备设置为生成树的备份根 --- 相当于将优先级设置为4096 \[SW1-GigabitEthernet0/0/1\]stp port priority INTEGER\<0-240\> Port priority, in steps of 16 \[SW1-GigabitEthernet0/0/1\]stp cost ? --- 修改接口的开销值 INTEGER\<1-200000000\> Port path cost

相关推荐
JS_SWKJ1 小时前
网闸≠防火墙:我们拆解了数据包的“物理摆渡“全过程
网络·安全·web安全
上海云盾第一敬业销售1 小时前
游戏开服即“炸服“?CC攻击成游戏行业隐形杀手
服务器·网络·游戏
JiaWen技术圈1 小时前
HTTP/3 协议基础
网络·网络协议·http
Shadow(⊙o⊙)1 小时前
进程分析—从操作系统到Linux内核深入
linux·运维·服务器·开发语言·网络·c++·后端
Wild API1 小时前
API中转站多模态接入怎么选:文本、图片、音频不要混在一起测
网络·人工智能·ai
轻颂呀1 小时前
深度理解TCP(backlog、连接机制、抓包实践)
网络·网络协议·tcp/ip
剑锋所指,所向披靡!1 小时前
计算机网络互联
计算机网络
苍煜11 小时前
Docker容器网络详解+端口映射原理(系列第二篇:实战核心)
网络·docker·容器
初願致夕霞12 小时前
基于系统调用的Linux网络编程——UDP与TCP
linux·网络·c++·tcp/ip·udp