当前位置: 首页 > backend >正文

STP协议中的四种端口状态

判断端口角色的例题:
在这里插入图片描述

STP ----端口状态

在这里插入图片描述

禁用:协议启动前的状态

这路需要讨论的两种情况:
[Huawei]undo stp enable — 禁用设备的stp协议
[Huawei-GigabitEthernet0/0/1]undo stp enable — 禁用对应接口的stp协议

这里牵扯到一个二层设备和三层设备在利用OSPF协议建立邻居关系的时候,有一点小问题,不能建立邻居关系是因为二层设备运行了stp协议阻塞了端口,防止环路,但是OSPF有自己的放环机制,所以就要关闭对应接口的STP协议
所以在对于二层设备连接三层设备时,建立关闭相应接口的stp协议

阻塞:在这个状态中,只能收BPDU,但是不能发送,当然也不能发送数据包

阻塞状态作用,所有运行STP协议的接口最先进入的状态,为了避免此时协议刚刚运行,还没有彻底收敛,就出现了环路,所以将所有的接口先进行阻塞。
在初次收敛(也就是在拓扑中第一次使用STP协议),因为这个时候所有的设备的接口都是阻塞的状态,这样所有的设备都处于一个只能收收BPDU的状态,不能发送。导致拓扑中并没有BPDu报文的传输,所以这里有一个最大寿命时间(也就是状态死亡时间,20s),如果20s内都没有收到任何的BPDU报文,那么就会视作根桥故障后转为侦听状态,变为主动发送BPDU报文的设备

默认存在时间为20s,后转为侦听状态。(因为根网桥一般为2s一发,因为10次传输都没收到的话,就是有问题了)

侦听:(进行角色选举的状态)

这里类似于逻辑断开,可以正常收发BPDU,但是不能收发相应的数据包
这个状态是STP进行角色选举的过程,一旦被选举成为根端口或者指定端口,就会转成下一个状态,非指定端口的话,会直接转为阻塞状态
这里的选举会有一个15s的选举时间,因为在一部分设备选举成功后,另外一部分设备才刚刚启动,如果选举时间过短,这样可能会导致临时环路,所以设置一个15s的选举时间,让整个拓扑中的所有设备都能进行参加选举,进行BPDU报文的交互。

AI举例:

如果STP中侦听状态的选举时间过短,确实有可能导致环路问题。以下通过一个简单的网络拓扑示例来说明:

假设一个网络中有三台交换机SW1、SW2和SW3,它们相互连接形成一个冗余链路的网络拓扑,如下所示:

       SW1/    \/        \SW2          SW3
  1. 正常选举过程(选举时间合适)

    • 在正常情况下,STP开始运行,交换机之间通过交换BPDU(Bridge Protocol Data Unit)来选举根桥、确定端口角色等。
    • 假设SW1的Bridge ID最优,被选举为根桥。SW2和SW3会分别根据到根桥(SW1)的路径开销来确定根端口和指定端口。
    • SW2到SW1的链路开销为10,SW2到SW3再到SW1的链路开销为20(假设每条链路开销为10)。因此,SW2会选择直接连接SW1的端口作为根端口,SW3同样会选择直接连接SW1的端口作为根端口。
    • 而SW2和SW3之间连接的端口,会有一个被选举为指定端口,另一个被阻塞,假设SW2与SW3连接的端口为指定端口,SW3与SW2连接的端口被阻塞,这样网络形成了无环的拓扑结构,数据能够正常转发。
  2. 选举时间过短的情况

    • 若侦听状态的选举时间过短,比如只有1秒。
    • 一开始,各交换机都宣称自己是根桥并发送BPDU。由于选举时间短,可能在第一秒内,SW2只收到了SW3发送的BPDU,且SW3在这个BPDU中宣称自己是根桥(因为信息还未充分交换)。
    • SW2根据这瞬间接收到的信息,在1秒的选举时间结束后,错误地认为SW3是根桥,并选择连接SW3的端口作为根端口。
    • 同时,SW3也可能因为类似原因,在短时间内只收到SW2宣称自己是根桥的BPDU,也错误地选择连接SW2的端口作为根端口。
    • 这样一来,SW2和SW3之间原本应该有一个端口被阻塞以防止环路的情况没有发生,两条链路都处于转发状态,从而形成了环路。
    • 例如,当有一个广播帧进入网络时,它会在SW2和SW3之间不断循环转发,导致广播风暴,严重影响网络性能,最终使网络无法正常工作。

所以,选举时间过短,交换机无法全面、准确地收集网络拓扑信息,可能做出错误的端口角色选举决策,进而引发网络环路问题。

学习:可以收数据包,但是不能发送数据包

也可以正常收发BPDU
这个设计主要是想起到一个优化的作用,让各个交换机,记录本设备对应PC端的MAC地址信息,形成初步的MAC地址表。这样在下一步的转发中,就能优化一些垃圾广播报文的数据,优化带宽。在学习状态中,默认一般持续15s,所以说这种状态是一种理想化的想法,因为在实际过程中,15s的时间作用不大。

转发:

进行正常的数据包的转发,和BPDU报文的收发

首次收敛

STP首次收敛至少需要50s才能完成收敛,收敛速度很慢:
阻塞 20s
侦听 15s
学习 15s

http://www.xdnf.cn/news/282.html

相关文章:

  • 熵权法+TOPSIS+灰色关联度综合算法(Matlab实现)
  • 在 Babylon.js 中实现智能异步资源加载队列管理
  • 力扣DAY56-59 | 热100 | 回溯:子集、电话号码的字母组合、组合总和、括号生成
  • 【裁判文书网DES3数据解密】逆向分析
  • windwos脚本 | 基于scrcpy,只投声音、只投画面
  • MySQL中高级语法
  • 博客标题栏添加一个 About Me
  • RUI桌面TV版最新版免费下载-安卓电视版使用教程
  • 二叉树理论基础
  • static关键字
  • qt QGroupButton 实现两个QPushButton的互斥
  • 动态计算FPS(每秒帧数)的方法
  • Jsp技术入门指南【六】jsp脚本原理及隐式对象
  • 关于AI提示工程的详解,分点说明其核心概念、关键技巧和应用场景
  • 语音合成之二TTS模型损失函数进化史
  • 极狐GitLab 项目和群组的导入导出速率限制如何设置?
  • Linux 文件查找终极指南:find, locate, grep 等命令详解
  • 18-算法打卡-哈希表-两数之和-leetcode(1)-第十八天
  • 智能体时代的产业范式确立,中国企业以探索者姿态走出自己的路
  • [密码学实战]详解gmssl库与第三方工具兼容性问题及解决方案
  • Python语言基础教程(上)4.0
  • 15.4K Star!Vercel官方出品,零基础构建企业级AI聊天机器人
  • 进程(转账,卖票)
  • C#核心笔记——(六)框架基础
  • 【MySQL】数据库和表的操作详解
  • 6.6 “3步调用ChatGPT打造高可靠Python调度器,零依赖实现定时任务自动化“
  • Linux工具学习之【vim】
  • 医学图像中的不同模态图像详细介绍
  • VirtualBox导入 .ova 文件出错,怎么解决
  • Java入门-Map双列集合