【HCIA】09.STP

news2024/10/7 15:08:26

STP的选举之发波原理

  1. 设备启动之后,经过选举会分别显示出它们的等级(最强,次强,最弱)
  2. 选出等级之后,两两设备开始互相发波,等级强的设备会将弱的设备的光顶回去
  3. 此时两两设备之间的波就是单方向的,即强设备向弱设备发波
  4. 发波的口被称为指定端口(DP)
  5. 收波的口被称为根端口(RP),并且一个设备只有可以收波的口,因为S3有两个收波的口,但是S3上面的收到最强的波来自S1,所以6口也为根端口。
  6. 剩余的4口就是阻塞端口(BP)。

STP的基本概念

802.1d,生成树协议,延迟需要到30~50s。

桥ID

桥ID(Bridge ID,BID),决定波的强弱。每一个设备都有一个唯一的桥ID。

  • IEEE 802.1D标准中规定BID由16位的桥优先级(Bridge Priority)(默认32768)与桥MAC地址构成。
  • 优先级越小越优先,值必须是4096的倍数。
  • 每一台运行STP的交换机都拥有一个唯一的BID。
  • BID桥优先级占据高16bit,其余的低48bit是桥MAC地址。
  • 在STP网络中,BID最小的设备会被选举为根桥。

先比优先级,优先级越小越优先,如果优先级相同,则比MAC地址,MAC地址越小越优先。综上比出,BID最小的设备就是根桥。

根桥

  • STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。
  • 根桥是一个STP交换网络中的“树根”。
  • STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。
  • 在STP网络中,桥ID最小的设备会被选举为根桥。
  • 在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

COST开销

  • 每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。
  • 接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。
  • 接口带宽越大,则Cost值越小。
  • 用户也可以根据需要通过命令调整接口的Cost。
  • 一般选举出根桥之后,带宽相同则比较桥ID,带宽不同则比较开销。

RPC

  • 在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC。
  • 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。
  • 从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC,并生成无环树状网络。根桥的根路径开销是0。

Port ID

  • 运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口(一般用于交换机之间两条线互联)。
  • 接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接口编号。
  • 端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍
  • 运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。缺省情况下,端口优先级是128。
  • 一般比较I的是发送方的ID。

BPDU

  • 为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU中。
  • BPDU有两种类型:配置BPDU和TCNBPDU。
  • 配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
  • TCNBPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

配置BPDU的报文格式

配置BPDU的比较原则

对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是配置BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥ID”、“根路径开销”、“网桥ID”以及“接口ID”,这四个字段便是交换机进行配置BPDU比较的关键内容。

STP按照如下顺序选择最优的配置BPDU:

  1. 最小的根桥ID
  2. 最小的RPC
  3. 最小的网桥ID
  4. 最小的接口ID

在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。

STP的计算过程

在交换网络中选举出一个根桥

  • 选举过程:
    • STP交换机初始启动之后,都会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己为根桥。因此,此时BPDU中的根桥ID为各自设备的网桥ID。
    • 当交换机收到网络中其他设备发送来的BPDU后,会比较BPDU中的根桥ID和自己的BID。
    • 交换机不断交互BPDU,同时对BID进行比较,最终选举一台BID最小的交换机作为根桥,其他的则为非根桥。

在每台非根桥上选举出一个根接口

  • 什么是根端口?
    • 一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优且唯一的,就必须从该非根桥设备的端口中确定出一个被称为“根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。
    • 在选举出根桥后,根桥仍然持续发送BPDU,而非根桥将持续不断的收到根桥发送的BPDU。因此,在所有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的BPDU。
    • 即:根端口保证了交换机与根桥之间工作路径的唯一性和最优性。
  • 选举过程:
  1. 交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“RootID、RPC、BID、PID”等关键字段,端口会针对这些字段进行PK。
  2. 首先比较根路径开销(RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越优选,因此交换机会选RPC最小的端口作为根端口。
  3. 当RPC相同时,比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优选,因此交换机会选上行设备BID最小的端口作为根端口。
  4. 当上行交换机BID相同时,比较上行交换机的PID,即比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口。
  5. 当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口。

在每条链路上选举出一个指定接口

  • 每个链路(Link)选举一个指定端口,用于向这个链路发送BPDU。
  • 选举过程:
  • 指定端口也是通过比较RPC来确定的,选择RPC最小的作为指定端口,如果RPC相同,则比较BID和PID。

非指定端口被阻塞

  • 确定了根端口和指定端口之后,交换机上所有剩余的非根端口和非指定端口统称为预备端口,即阻塞端口。

STP的接口状态

  • 侦听状态下保持15s,为了选出哪些端口为指定和根端口。选出来的端口开始进入学习状态。
  • 学习状态下保持15s,开始学习MAC地址。

[Huaiwei]display stp brief[Huaiwei]display stp brief

STP的接口状态迁移

拓扑变化

直连链路故障

  • 直连链路故障,备用端口会经过30s后恢复转发状态。

非直连链路故障

  • 非直连故障会导致50s左右的恢复时间。

拓扑变化导致MAC地址表错误

  • 拓扑变更以及MAC地址表项更新的具体过程如下:
    • SW3感知到网络拓扑发生变化后,会不间断地向SWB发送TCNBPDU报文。
    • SW2收到SW3发来的TCNBPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCNBPDU报文。
    • SW2向根桥转发TCNBPDU报文。
    • SW1把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300s修改为Forward Delay的时间(默认为15s)。
    • 最多等待15s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。

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

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

相关文章

家政服务小程序软件解决方案

家政服务小程序软件是近年来随着人们对家政服务需求的增长而逐渐兴起的一种数字化服务解决方案。通过小程序软件,用户可以轻松预约家政服务,包括保姆、月嫂、钟点工等,而且价格透明、服务规范,大大提高了用户对家政服务的满意度。…

神经网络结构可视化-netron

网址:https://netron.app/ 点选择模型,将oonx文件拉到netron界面,即可 输出; 如何将pytorch模型转换为onnx的格式? 在测试(训练好的模型)里输入代码 to_onnx(model, 3, 28, 28, output/params.onnx)其…

【Linux】十分钟理解动静态库

目录 一 前置概念二 静态库2.12.22.3放入指定路径2.4 第三方库的使用 四 动态库3.1 环境变量3.2 软链接方案3.3 配置文件方案 一 前置概念 我们在VS2022下安装开发环境实际上就是安装编译器软件、安装要开发的语言配套的库和头文件。我们使用编译器有语法的自动提醒功能&#…

python常用库之colorama (python命令行界面打印怎么加颜色)

文章目录 python常用库之colorama (python命令行界面打印怎么加颜色)背景colorama介绍colorama使用colorama打印红色闪烁打印颜色组合 python常用库之colorama (python命令行界面打印怎么加颜色) 背景 在Python开发项目过程中,为了方便调试代码,经常会…

Java中Map中10w条数据用什么循环性能最好呢?

加油,新时代打工人! 1、java中List集合三种获取集合元素方式 2、Java中Map使用增强for循环和迭代器获取key和value 选择合适的循环方式,让性能最优! public class Test2 {public static void main(String[] args) {//初始化 10w…

vue upload 上传下载

目录 上传 下载 对象/文件流 download处理返回 文件流 axios.post 封装axios 1.请求设置类型responseType: blob 2.若有请求拦截(直接返回即可) 3.download 4.请求下载 相关基础 blob MIME vue 实现文件上传、下载的方法 - 掘金 上传 submitAddFile(){var form…

基础算法-【离散化】

离散化的本质:是建立了一段数列到自然数之间的映射关系(value -> index),通过建立新索引,来缩小目标区间,使得可以进行一系列连续数组可以进行的操作比如二分,前缀和等… 相应的算法模板: v…

【Linux】—— 进程地址空间

序言: 在上篇中,我们讲解了关于进程优先级的概念。本期,我将给大家介绍的是关于进程地址空间的话题。 目录 (一)程序地址空间回顾 (二)代码演示 (三)进程地址空间的引…

【力扣算法08】之 5. 最长回文子串 python

文章目录 问题描述示例1示例2提示 思路分析代码分析完整代码详细分析 运行效果截图调用示例运行结果 完结 问题描述 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例1 输入:s…

【网络编程】Linux服务器程序规范相关内容

文章目录 1、日志1.1、syslog()函数 2、用户信息2.1、UID、EUID、GID、EGID 3、进程间关系3.1、进程组3.2、会话 4、服务器程序后台化(守护进程) 1、日志 Linux提供一个守护进程rsyslogd来处理系统日志,系统日志中包括用户进程产生的日志以及…

VUE2基础-Vue实例

Vue 实例 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: var vm new Vue({// 选项 }) 虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变量名…

交换:交换机相关技术(二层技术)

目录 VLAN:虚拟局域网 VLAN种类: 接口分配链路类型 接口划分VLAN 跨网段的通讯 VLAN:虚拟局域网 LAN :局域网 MAN:城域网 WAN:广域网 1.一个VLAN相当于一个广播域 VLAN:通过路由器和交换机…

PADS Logic如何对原理图页面进行操作呢?

在绘制复杂的原理图时,会根据功能模块来将原理图进行分页处理,在绘制原理图过程中,会对原理图页面进行一些处理,操作方法如下所列: 1、页面拷贝与粘贴:在原理图中选中需要复制的元件走线等,左击…

Git常用命令及在Idea中如何使用创建分支等,详讲带图[保姆级]

文章目录 Git在Git命令行中执行下面命令:设置基本信息获取Git仓库Git 工作区 暂存区 版本库概念工作状态远程仓库操作分支操作标签分类 Idea中使用推送到远程仓库(提交并且推送)分支操作 Git 在Git命令行中执行下面命令: 设置基本信息 设置用户信息 git config --global use…

阿里巴巴开源的Spring Cloud Alibaba手册在GitHub上火了,完整版开放下载

“微服务架构经验你有吗?” 前段时间一个朋友去面试,阿里面试官一句话问倒了他。实际上,不在BAT这样的大厂工作,是很难接触到支撑千亿级流量微服务架构项目的。但也正是这种难得,让各个大厂都抢着要这样的人才&#x…

Bash 第十行

195 第十行 给定一个文本文件 file.txt,请只打印这个文件中的第十行。 示例: 假设 file.txt 有如下内容: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 你的脚本应当显示第十行: Line 10 来源:…

NITIRE 2023官方的PSNR及SSIM计算代码

NITIRE 2023官方的PSNR及SSIM计算代码 问题描述 做图像复原任务时,总避免不了计算PSNR和SSIM等图像质量评估指标,但是网上实在是太多计算这类指标的代码了,不同代码计算的结果还可能存在差异。有使用matlab计算SSIM的,也有使用py…

7月23作业

2.作业 platform驱动实现 platform.c #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/device.h> #include <linux/cdev.h> #include <linux/slab.h> #include <linux/io.h> #include&l…

CDN技术(Content Delivery Network,内容分发网络)分布式网络架构(CND与P2P(Peer-to-Peer)区别)

文章目录 CDN是什么&#xff1f;CDN的优势CDN的应用1. 静态内容加速2. 动态内容加速3. 视频流媒体4. 软件分发5. 游戏加速6. 移动应用加速 CDN收费吗&#xff1f;CND与P2P区别什么是静态内容和动态内容&#xff1f; CDN是什么&#xff1f; CDN&#xff08;Content Delivery Ne…

七大排序算法——直接选择排序,通俗易懂的思路讲解与图解(完整Java代码)

文章目录 一、排序的概念排序的概念排序的稳定性七大排序算法 二、直接选择排序核心思想代码实现 三、性能分析四、七大排序算法 一、排序的概念 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递…