STP生成树协议的原理的讲解——二层交换技术

一、生成树协议的由来:由于网络中会存在单点故障而导致网络无法访问,系统瘫痪,因此在网络中提供冗余链路即引入备份链路来解决单点故障问题,但是------这样做的好处是:减少单点故障,增加网络可靠性;缺点是:产生交换环路,会导致广播风暴多帧复制MAC地址表抖动。因此生成树协议是为了提供冗余链路,解决环路问题

二、名词解释:

根桥:树的特点则是有根节点的,而这里的根桥就是相当于树的根节点。以根桥为起始点发散出去。

BID:选择根桥就需要交换机自我选择,需要交换机们的通信,这些信息被称为BPDU(桥协议数据单元),每两秒发送一次,BPDU的包含信息比较多,BID就是其中的一种。BID最小的就是根交换机ID。BID=桥优先级+桥Mac地址,一般交换机的桥优先级都是一样的(32768),所以一般比较Mac地址的大小。

根端口:不是根桥的交换机,选择一个端口用来连接根桥。根端口只能在非根交换机上选

指定端口:每两个交换机之间的链路上选择一个端口。

三、STP选择的步骤:

    1 .选择根桥;

      起始各个交换机都认为自己是根桥,然后进行互发帧进行根桥PK。BID最小的交换机为根交换机,BID由交换机优先级(2字节)和Mac地址(6字节)组合而成。先看优先级,优先级小的为根交换机;当优先级相等,看MAC地址,MAC地址小的为根交换机。

    2. 选择根端口(RP);

       本交换机各端口到达根交换机路径的开销—到达根桥的链路开销之和,找到一条开销最小的路径,交换机的这个端口就是根端口;如果路径开销相同,则比

### STP生成树协议工作原理详解 #### 一、概述 STP(Spanning Tree Protocol),即生成树协议,旨在解决二层交换网络中存在的环路问题。通过构建一棵无环的逻辑树形结构,确保数据帧在网络中不会因循环而无限转发。 #### 二、基本概念 - **选举**:整个生成树的核心是选出一个作为节点的设备——通常称为。所有其他交换机会基于此调整自身的端口角色与状态[^2]。 - **路径成本计算**:每条链路上都有相应的开销值,用于衡量到达的距离远近程度。较低的成本意味着更优的选择路线[^1]。 - **端口角色定义** - **根端口 (Root Port)** :通往方向最近的那个接口; - **指定端口 (Designated Port)** :负责向下游传递配置消息并最终通达终端主机或下级交换机的出口; - **替代/备份端口 (Alternate/Backup Ports)** :处于阻塞模式以防备主要通信通道失效时启用备用方案。 #### 三、操作流程解析 1. 初始化阶段: 所有参与者的初始默认设置均为预备状态(Port State=Listening),此时它们会监听来自邻居的信息包(Bridge Protocol Data Unit,简称BPDU)以收集必要的参数如优先级、MAC地址等信息以便后续处理决策过程[^4]。 2. BPDU交互: 设备之间定期发送BPDU报文来进行协商沟通,其中包含了关于当前所处位置以及距离节点多远的关键细节描述。依据接收到的数据更新本地记录表项,并据此判断是否有必要改变现有状况从而优化整体性能表现[^3]。 3. 状态迁移机制: 经过一轮或多轮的消息交流后,各成员能够确定自己在整个体系内的确切身份定位及其关联属性特征。对于那些被选作传输媒介的角色而言,则需进一步经历Learning期用来学习MAC地址映射关系直至最后进入Forwarding正常运作时期;而对于其余非活跃参与者来说则保持Blocking静默姿态等待时机到来替换受损环节恢复连贯性。 ```python def stp_operation(): while True: receive_bpdu() update_spanning_tree_info() if is_root_bridge(): send_configuration_bpdus_to_all_ports() determine_port_roles_and_states() transition_ports_based_on_new_state() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值