以太网 传统STP生成树的BPDU介绍、STP端口状态介绍与切换过程,STP详细的工作过程。

news2024/11/18 11:43:27

2.10.1 以太网 传统STP生成树(STP BPDU、STP端口状态、STP工作过程)

STP生成树协议的之间的交互通过STP BPDU(根协议数据单元,Bridge Protocol Data Unit)进行。

传统STP生成树

  • 2.10.1 以太网 传统STP生成树(STP BPDU、STP端口状态、STP工作过程)
    • STP BPDU主要分为:
    • STP BPDU报文格式:
    • STP端口状态:
      • 已禁用(disable)
      • 阻塞(bloking)
      • 侦听(listening)
      • 学习(learning)
      • 转发(forwarding)
    • STP工作过程:
      • 选举根桥(Root Bridge)
      • 选举根端口(RP,Root Port)
      • 选举指定端口(DP,Designated port)
      • 选举阻塞端口

STP BPDU主要分为:

  • 配置 BPDU(Configuration BPDU),是STP进行拓扑计算的关键。

  • 拓扑改变 BPDU(Topology Change Notification BPDU),网络拓扑发生变更时触发。

STP BPDU报文格式:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

STP端口状态:

当交换机开启STP协议之后,交换机所有端口将需要经历5种端口状。

进行端口状态划分与切换的原因:

  • STP需要经历一个计算的过程,而不同端口状态下需要经历的时长也不同,为的就是能让STP有一个计算的过程。

  • 如果设备接入直接使用,将会因为STP没有来的及计算拓扑变更而造成短暂的环路。

STP有哪些端口角色:

  • 已禁用(disable)

    • 没有启用STP协议时所处的状态
    • 处于禁用状态的交换机端口不会参与生成 树,并且也不会转发帧。
    • 当交换机端口被管理禁用时, 这个端口也会设置为禁用状态。
  • 阻塞(bloking)

    • 此状态下只接收BPDU,不发送BPDU,不学习MAC,不转发用户数据。
    • 接收BPDU的原因是为了进行端口选举。
    • 经过20秒的监听,如果没有被选为根端口或指定端口,将一直处于该状态下。
  • 侦听(listening)

    • 阻塞状态下的20秒监听发现自己比对端更优先,将成为侦听状态,向外发送BPDU。
    • 此状态下接收、转发BPDU,不学习MAC,不转发用户数据。
    • 经过15秒的监听,如果没有接收到更优的BPDU将成为根端口/指定端口,并进入学习状态。
  • 学习(learning)

    • 接收、转发BPDU,学习MAC,不转发用户数据。
    • 此状态下能够接收到用户的数据,不转发数据但记录端口传来的数据帧源MAC地址。
    • 经过15秒的监听,如果没有接收到更优的BPDU将成为根端口/指定端口,并进入学习状态。
  • 转发(forwarding)

    • 接收、转发BPDU,学习MAC,转发用户数据

在这里插入图片描述

STP工作过程:

  1. 选举根桥(Root Bridge)

    • 当设备刚启用STP启用的STP的设备刚开机时,设备默认自己是根桥,所有端口都不会阻塞,并主动向外发送BPDU。
    • BPDU中描述了自己的设备优先级MAC地址,设备优先级越小越优先,MAC地址越小越优先。
    • 如果15秒转发延迟之后没有收到比自己更优的BPDU信息,自己将稳做根桥。
  2. 选举根端口(RP,Root Port)

    • 设备成为根桥后将会定时向外发送BPDU,STP模式只有根桥发送BPDU

      • 定时器
      • Hello 计时器
        • 发送BPDU 的间隔。
        • 这个值默认为2秒,可修改为 1 到 10 秒之间的值,该值过小将增大网络的负载。
      • 转发延迟计时器
        • 转发延迟是在侦听学习状态中消耗的时间,通常是Hello的4倍。
        • 这个值默认为 15 秒,不过可以修改为4到 30 秒之间的值。
      • 最大老化时间计时器(在没有收到Hello报文时开始计时)
        • 这个值默认为 20 秒,不过可以修改为 6 到 40 秒之间的值
    • 非根桥设备通过接收根桥发来的BPDU计算出到达根桥的根路径开销

      • 端口链路的带宽将影响路径的开销,默认华为设备的参考带宽值为:
      • 修改开销标准:stp pathcost-standard <改变STP-Cost开销标准>
      • 直接修改开销:stp cost 10
        在这里插入图片描述
    • 根路径越小越优先,更具有优先级的端口将成为根端口。

  3. 选举指定端口(DP,Designated port)

    • 根桥所有端口都是指定端口
    • 非根桥所有端口,默认也是指定端口,但会因为端口的选举而出现根端口、阻塞端口等。
  4. 选举阻塞端口

    • 两台非根桥互连接口都是指定端口,将会选举出一个阻塞端口。
      • 华为设备中叫(AP,Alternate Port)其它设备中通常叫(BP,Backup Port)
      • DP与RP一样,可以向外发送BPDU。
      • 当DP收到BPDU之后,将进行一个对比,优先的将继续成为DP。
      • 次优的将成为RP,但因为一个设备只能有一个RP,所以只能成为RP的备用端口(AP/BP)
    • (1)比较设备优先级+MAC地址(MAC地址和优先级越小,越是能成为指定端口)
    • (2)比较端口优先级+端口序号(端口序号越小,优先级越大,越是能成为指定端口)
      • 端口优先级默认128,
      • 端口优先级的表示(前4bit是接口优先级、低12bit是接口编号)
      • 128.22[默认优先级128,接口号e0/0/22]
      • 个别端口如eth-trunk接口会默认分配一个接口编号
      • 为什么端口优先级的步长是16?
      • 已知PID占位4个字节(16bit)
        • xxxx 0000,0000 0000
        • 前4bit为优先级,后12bit为端口编号
        • 当第4个x置1,以每8位为一组数,也就是0001 0000 = 16
        • 当第3个x置1,也就是0010 0000=32.0
    • 优先级低的将成为阻塞端口。

在这里插入图片描述


一阵捣鼓下来,简单说下一些小细节:

  • DP收到对端传来的BPDU,发现自己是最优的没有成为RP,而是成为DP。与根桥所有端口都是指定端口前后呼应。
  • DP收到对端传来的BPDU,发现自己是次优的将成为RP,与根端口选举前后呼应,因为最优的BPDU都是从根端口中传来的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《码出高效》五 异常与日志

前言 本章主要是讲异常处理&#xff0c;关于异常主要有三个问题&#xff1a; 哪里发生异常 谁来处理异常 如何处理异常 围绕这三个问题就有了一套异常处理机制 异常分类 通常异常时针对不稳定代码的&#xff0c;并且需要区分类型 throw和throws的区别&#xff1a; 以此段代…

session条件竞争

PHP SESSION 的存储 Session会话存储方式 PHP将session以文件的形式存储服务器的文件中&#xff0c;session.save_path来控制 默认路径 /var/lib/php/sess_PHPSESSID /var/lib/php/sessions/sess_PHPSESSID /tmp/sess_PHPSESSID /tmp/sessions/sess_PHPSESSID session文件默…

PS图层+移动工具(2)复制删除快捷键 图层分组 前景色填充

查看此文前 你需要先读 PS图层移动工具(1)图层概念-拖动操作-移动工具基础 其实显示变换控件 这个配置相对 是容易造成错误操作 不小心就把文件拖动了 当我们想调这些时 可以直接 按住键盘上的 CtrlT 然后点击图层 这个操作框就出来了 然后调好之后 还是 直接用鼠标双击图层 就…

荧光染料Sulfo-Cyanine 7 Tyramide,Tyramide-Sulfo-Cy7,磺酸基-花青素Cy7 酪酰胺

一&#xff1a;产品描述 1、名称 英文&#xff1a;Sulfo-Cyanine 7 Tyramide&#xff0c;Tyramide-Sulfo-Cy7 中文&#xff1a;磺酸基-花青素Cy7 酪酰胺 2、所属分类&#xff1a;Cyanine 3、分子式&#xff1a;C43H51N3O8S2 4、分子量&#xff1a;802.01 5、质量控制&am…

二叉树的序列化与反序列化

二叉树的序列化与反序列化 通俗的说就是给定一个二叉树的根节点&#xff0c;用某种方法将树结构的信息存到一个字符串中&#xff0c;并且还可以用这一个字符串还原这棵树。 本文介绍两种方法&#xff0c;分别为递归法和迭代法。 剑指 Offer 37. 序列化二叉树 递归法 序列化&a…

final域的内存语义

重排序规则 1. 在构造函数内对一个final域的写入&#xff0c;与随后把这个被构造对象引用赋值给一个引用变量&#xff0c;着两个操作不能重排序 2. 初次读一个包含final域的对象的引用&#xff0c;与随后初次读取这个final域&#xff0c;这两个操作不能重排序 以下面实例作说明…

基于ssm作业管理系统

随着计算机以及网络的普及&#xff0c;教师与学生对辅助教学方式的要求也越来越高&#xff0c;在教学辅助方式上追求质量及效率。作为教学核心组成之一的作业管理也趋向更加便 捷快速的方式。 经过调查&#xff0c;现阶段高校进行作业管理的方式主要有三种&#xff1a; 情况一&…

SSM学生宿舍管理系统(附源码)

本次介绍的是一个基于SSMJSP开发的学生宿舍管理系统的设计与实现&#xff0c;界面简洁、程序逻辑清晰&#xff0c;适合作为毕业设计的模板参考&#xff01; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家 …

阿里妈妈star论文重点记录

论文地址&#xff1a;https://arxiv.org/pdf/2101.11427.pdf 1&#xff1a;业务实际应用 自 2020 年底以来&#xff0c;STAR 已部署在阿里巴巴展示广告系统&#xff0c;点击率提升8.0%和RPM增加6% 2&#xff1a;特点 星型拓扑促进跨多个domain的有效信息转换&#xff0c;在…

MATLB|抽水蓄能电站系统的最优竞价策略研究

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清…

Python自动化测试面试题——接口篇

目录 网络模型 OSI有哪几层,分别包含哪些协议? 协议 TCP,UDP的区别? TCP如何确保可靠传输? 三次握手与四次挥手? HTTP有哪些请求方法? HTTP常见的状态码有哪些? GET和POST的区别? Cookie和Session的区别? Token和Session的区别? HTTP和HTTPS的区别? 接口…

JavaScript(二):变量、数据类型、类型转换

变量一、变量的使用1.声明变量2.赋值3.变量的初始化4.变量的更新5.同时声明多个变量6.声明变量的特殊情况7.变量的命名规则二、数据类型数字型1.数字型Number2.数字型范围3.数字型的特殊值4.isNaA()字符串型String1.字符串型格式2.字符串型引号嵌套3.字符串转义符4.字符串长度5…

R语言相关分析和稳健线性回归分析

介绍 下面以物种多样性为例子展示了如何在R语言中进行相关分析和线性回归分析。 怎么做测试 相关和线性回归示例 Data read.table(textConnection(Input),headerTRUE) 数据简单图 plot(Species ~ Latitude, dataData, pch16,xlab "Latitude", ylab "Specie…

web前端期末大作业:体育网页主题网站设计——体育兵乓球5页面HTML+CSS+JavaScript

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

ES运维常用指令,常用的故障诊断指令,es集群健康状况、集群节点分配信息、分片分配信息、分片未分配问题诊断、集群开启密码访问

目录 查询集群的健康状况 查看集群中所有节点的分配信息 查询集群/索引的文档总计数 查询集群的分片分配信息 查询集群中索引的分片数、文档数或集群中包含哪些索引 查询集群的快照存储信息 查看集群状态信息 查看集群统计信息 查看集群中所有节点的节点属性 查询分片…

javaScript 进阶之路 --- 《手写“回调地狱”》

前言&#xff1a; 可能初次看到这个标题&#xff0c;你会有些惊讶。我们不是要实现“手写 Promise ”吗&#xff1f;怎么变成了手写“回调地狱”了&#xff1f;“我老早看视频学习的时候就知道&#xff0c;我们要避免写成“回调地狱的格式&#xff0c;怎么到你这还要手写这玩意…

论文投稿指南——中国(中文EI)期刊推荐(第5期)

&#x1f680; EI是国际知名三大检索系统之一&#xff0c;在学术界的知名度和认可度仅次于SCI&#xff01;&#x1f384;&#x1f388; 【前言】 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。其中&#xf…

智能优化算法:蜣螂优化算法-附代码

智能优化算法&#xff1a;蜣螂优化算法 摘要&#xff1a;蜣螂优化算法( Dung beetle optimizer, DBO), 是由 Jiankai Xue 等于2022 年提出的一种群体智能优化算法。其灵感来源于蜣螂的生物行为过程&#xff0c;具有寻优能力强&#xff0c;收敛速度快的特点。 1.蜣螂优化算法 …

一款很火的智能化 Shell 工具多色彩优化命令显示结果可以替换系统默认的 Shell 工具,支持多平台免费开源使用

一款很火的智能化 Shell 工具多色彩优化命令显示结果可以替换系统默认的 Shell 工具&#xff0c;支持多平台免费开源使用。 Nushell&#xff0c;它是用Rust写的&#xff0c;安全性提高的同时&#xff0c;Bug率也降低了&#xff0c;NuShell 专注于实现以下目标&#xff1a; 1、…

【云原生】Prometheus AlertManager讲解与实战操作

文章目录一、概述二、AlertManager 架构三、AlertManager 部署1&#xff09;下载2&#xff09;配置3&#xff09;启动服务4&#xff09;与Prometheus集成四、在Prometheus中设置告警规则五、AlertManager 告警通道配置一、概述 Prometheus 包含一个报警模块&#xff0c;就是我们…