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

生成树协议 STP(spanning-tree protocol)

、STP作用

1、消除环路:通过阻断冗余链路来消除网络中可能存在的环路。

2、链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。

二、STP选举机制

1、目的:找到阻塞的端口

2STP交换机的角色根交换机非根交换机

3STP的选举字段

STP的选举是通过比较BPDU(Bridge Protocol Date Unit 桥协议数据单元)的字段

BPDU主要比较以下字段:

 ①根桥ID(根桥的桥ID)(Root Bridge ID)

桥ID=桥优先级+MAC地址

桥优先级:默认32768,范围0--65535,步长4096(0-61440),越小越优

MAC地址:dis stp//dis interface +接口号,越小越优

②根路径开销(Root Path Cost)默认接口开销为20万

非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC(Root Path Cost,根路径开销)

③桥ID(Bridge ID)

桥优先级+MAC地址

④接口ID(Port ID)

接口优先级+接口号

接口优先级:默认128,范围0-240,步长16,越小越优

接口号: 越小越优

4、选举过程

①选举一个根桥交换机。

②每个非根交换机选举一个根端口。

根端口是非根桥到根桥开销最小的端口。

A、端口的根路径开销、对端BID(Bridge桥 ID)、对端PID(Port ID)和本端PID

③每个链路选举一个指定端口。

累计路径开销、桥ID、端口ID

每个链路都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。

④阻塞非根、非指定端口。

三、过程演示

1、选举根交换机  (先比较Root Bridge ID的优先级,若优先级一样再比较MAC地址)

在选举出根交换机之前,所有的交换机都会认为自己是根交换机,每个都会发送BPDU,

通过比较BPDU的Root Bridge ID字段,从图中可知LSW1的MAC地址最小最优先,所有LSW1为根交换机。

2.每个非根交换机选举一个根端口。

根端口是非根桥到根桥开销最小的端口。

A、端口的根路径开销、对端BID(Bridge桥 ID)、对端PID(Port ID)和本端PID

3.每个链路选举一个指定端口。

累计路径开销、桥ID、端口ID

每个链路都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。

4.选举出阻塞端口

最后,除了根端口,和指定端口,剩下的接口就是阻塞端口啦。

相关文章:

生成树协议 STP(spanning-tree protocol)

一、STP作用 1、消除环路:通过阻断冗余链路来消除网络中可能存在的环路。 2、链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。 二、STP选举机制 1、目的:找到阻塞的端口 2、STP交换机的角色&am…...

【LeetCode】312.戳气球

题目 有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i 1] 枚硬币。 这里的 i - 1 和 i 1 代表和…...

商业数据分析概论

🐳 我正在和鲸社区参加“商业数据分析训练营活动” https://www.heywhale.com/home/competition/6487de6649463ee38dbaf58b ,以下是我的学习笔记: 学习主题:波士顿房价数据快速查看 日期:2023.9.4 关键概念/知识点&…...

Golang GUI框架

Golang GUI框架fyne fyne简介第一个fyne应用fyne应用程序和运行循环fyne更新GUI内容fyne窗口处理fyne解决中文乱码问题fyne应用打包fyne画布和画布对象fyne容器和布局fyne绘制和动画fyne盒子布局fyne网格grid布局fyne网格包裹布局fyne边框布局fyne表单布局fyne中心布局fyne ma…...

LeetCode刷题笔记【24】:贪心算法专题-2(买卖股票的最佳时机II、跳跃游戏、跳跃游戏II)

文章目录 前置知识122.买卖股票的最佳时机II题目描述贪心-直观写法贪心-优化代码更简洁 55. 跳跃游戏题目描述贪心-借助ability数组贪心-只用int far记录最远距离 45.跳跃游戏II题目描述回溯算法贪心算法 总结 前置知识 参考前文 参考文章: LeetCode刷题笔记【23】…...

游戏出现卡顿有哪些因素

一、服务器CPU内存占用过大会导致卡顿,升级CPU内存或者优化自身程序占用都可以解决。 二、带宽跑满导致卡,可以升级带宽解决。 二、平常不卡,有大型的活动的时候会卡,这方面主要是服务器性能方面不够导致的,性能常说…...

学习Bootstrap 5的第八天

目录 加载器 彩色加载器 实例 闪烁加载器 实例 加载器大小 实例 加载器按钮 实例 分页 分页的基本结构 实例 活动状态 实例 禁用状态 实例 分页大小 实例 分页对齐 实例 面包屑(Breadcrumbs) 实例 加载器 彩色加载器 在 Bootstr…...

vue中自定义指令

什么是指令 在Vue.js中,指令是一种特殊的 token,用于在模板中以声明式方式将响应式数据绑定到 DOM 元素上,从而实现与 DOM 元素的交互和操作。指令以 “v-” 前缀开始,后跟指令的名称,例如 v-model、v-bind 和 v-on。…...

Python:安装Flask web框架hello world

安装easy_install pip install distribute 安装pip easy_install pip 安装 virtualenv pip install virtualenv 激活Flask pip install Flask 创建web页面demo.py from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello World! 2023if _…...

小程序点击复制功能制作

在wxml文件中添加一个按钮或需要点击的元素&#xff0c;并绑定点击事件监听器2 <button bindtap"copyText">点击复制</button> 2 在对应的js文件中定义点击事件处理函数&#xff0c;并在函数中调用小程序的API进行复制操作&#xff0c; copyText(e){co…...

20230909java面经整理

1.java常用集合 ArrayList动态数组&#xff0c;动态调整大小&#xff0c;实现List接口 LinkedList双向链表&#xff0c;实现list和queue接口&#xff0c;适用于频繁插入和删除操作 HashSet无序&#xff0c;使用哈希表实现 TreeSet有序&#xff0c;使用红黑树实现 HashMap无序&…...

常用的css命名规则

一、命名规则说明&#xff1a; 1&#xff09;、所有的命名最好都小写 2&#xff09;、属性的值一定要用双引号(“”)括起来 3&#xff09;、给图片加上alt标签 4&#xff09;、尽量使用英文命名原则 5&#xff09;、尽量不缩写&#xff0c;除非一看就明白的单词 二、相对网页外…...

【Linux编程Shell自动化脚本】03 shell四剑客(find、sed、grep、awk)

文章目录 一、find1. 常用expression2. 时间参数3. 其他选项参数3.1 查找深度3.2 执行命令 二、sed1. 常用命令选项2. 常用动作脚本命令2.1 s 替换2.2 已匹配字符串标记&2.3 在当前行前后插入文本 a\ 和 i\2.4 p 打印指定行2.5 匹配行的方式2.5.1 以数字形式指定行区间2.5.…...

java的springboot框架中使用logback日志框架使用RabbitHandler注解为什么获取不到消费的traceId信息?

当使用 Logback 日志框架和 RabbitMQ 的 RabbitHandler 注解时&#xff0c;如果无法获取消费的 traceId 信息&#xff0c;可能是因为在处理 RabbitMQ 消息时&#xff0c;没有正确地将 traceId 传递到日志中。 为了将 traceId 传递到日志中&#xff0c;你可以利用 MDC&#xff…...

初探Vue.js及Vue-Cli

一、使用vue框架的简单示例 我们本次的vue系列就使用webstorm来演示&#xff1a; 对于vue.js的安装我们直接使用script的cdn链接来实现 具体可以参考如下网址&#xff1a; https://www.bootcdn.cn/ 进入vue部分&#xff0c;可以筛选版本,我这里使用的是2.7.10版本的&#xff…...

大数据课程K21——Spark的SparkSQL基础语法

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的SparkSQL通过方法来使用; ⚪ 掌握Spark的SparkSQL通过sql语句来调用; 一、SparkSQL基础语法——通过方法来使用 1. 查询 df.select("id","name").show()…...

【实践篇】Redis最强Java客户端(三)之Redisson 7种分布式锁使用指南

文章目录 0. 前言1. Redisson 7种分布式锁使用指南1.1 简单锁&#xff1a;1.2 公平锁&#xff1a;1.3 可重入锁&#xff1a;1.4 红锁&#xff1a;1.5 读写锁&#xff1a;1.6 信号量&#xff1a;1.7 闭锁&#xff1a; 2. Spring boot 集成Redisson 验证分布式锁3. 参考资料4. 源…...

卫星通话过后,卫星导航产业被彻底激活

华为新手机发布后&#xff0c;其主打的卫星通话功能备受热议。在卫星产业链发展的背后&#xff0c;下一个大产业在哪里让人颇为好奇。 目前&#xff0c;卫星导航颇被看好&#xff0c;或将引领下一个技术狂潮。它的特点是产业大、发展快、参与者多。继电动汽车、新能源和芯片产…...

【算法训练-链表 七】【排序】:链表排序、链表的奇偶重排、重排链表

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【链表的排序】&#xff0c;使用【链表】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&am…...

LGB的两种写法

方法一 import lightgbm as lgb import pandas as pd from sklearn.model_selection import train_test_split, KFold from sklearn.metrics import accuracy_score# 读取训练集和测试集数据 train_data pd.read_csv(train.csv) test_data pd.read_csv(test.csv)# 分割特征和…...

3步掌握BilibiliDown:从视频下载到音频提取的完整攻略

3步掌握BilibiliDown&#xff1a;从视频下载到音频提取的完整攻略 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/b…...

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果:使用Typora风格进行优雅排版

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果&#xff1a;使用Typora风格进行优雅排版 不知道你有没有过这样的经历&#xff1a;辛辛苦苦写了一大堆技术笔记&#xff0c;代码片段、命令、思路混杂在一起&#xff0c;过几天自己再看&#xff0c;都感觉像在看天书。或者&…...

交叉调整率差的5大根源—变压器、绕组、反馈、拓扑、元件

Q1&#xff1a;导致交叉调整率差的第一大根源是什么&#xff1f;变压器漏感与绕组耦合不良。漏感使能量不能完全传递到辅路&#xff0c;各绕组漏感不一致&#xff0c;负载变化时电压漂移更明显。耦合系数越接近 1&#xff0c;交叉调整率越好。Q2&#xff1a;绕组绕制方式对交叉…...

动态对抗Zygisk-IL2CppDumper:Unity游戏安全新策略

1. 认识Zygisk-IL2CppDumper的攻击原理 如果你开发过Unity游戏&#xff0c;一定对IL2CPP不陌生。这是Unity官方推荐的脚本后端&#xff0c;它把C#代码转换成C代码再编译为本地机器码&#xff0c;相比Mono模式确实安全不少。但最近一年&#xff0c;一个叫Zygisk-IL2CppDumper的工…...

PvZ Toolkit:突破植物大战僵尸限制的终极修改器

PvZ Toolkit&#xff1a;突破植物大战僵尸限制的终极修改器 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 副标题&#xff1a;面向全阶段玩家的游戏体验增强工具&#xff0c;让每一场攻防战尽在掌…...

Java网络编程实战:从零实现一个支持视频通话的聊天室

最近在学习Java网络编程&#xff0c;恰好之前写过一个基于TCP的多人聊天室&#xff0c;一直想给它加上视频通话功能。经过几天的折腾&#xff0c;终于把UDP视频流和TCP信令成功整合到了一起。这篇文章会完整记录开发过程、踩过的坑以及最终的代码实现 一、项目背景与目标 原有…...

别再折腾环境变量了!WIN10下搞定Modelsim 10.5许可证的终极保姆级教程

WIN10下Modelsim 10.5许可证配置的终极解决方案 如果你正在为Modelsim 10.5在WIN10系统下的许可证问题而头疼&#xff0c;尝试了各种破解方法却依然无果&#xff0c;那么这篇文章就是为你准备的。作为一名长期与EDA工具打交道的工程师&#xff0c;我深知许可证配置不当带来的挫…...

128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析

128K上下文开源代码模型&#xff1a;DeepSeek-Coder-V2赋能开发者的技术解析 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在软件开发效率日益成为竞争力核心指标的今天&#xff0c;开发者面临着代码生成质…...

PPTist:5分钟掌握专业级在线PPT制作,免费开源的高效演示解决方案

PPTist&#xff1a;5分钟掌握专业级在线PPT制作&#xff0c;免费开源的高效演示解决方案 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿&#xff08;幻灯片&#xff09;应用&#xff0c;还原了大部分 Office PowerPoint 常用功能&#xff0c;实现在线PPT的编…...

Z-Image Turbo与Vue3前端框架集成实战

Z-Image Turbo与Vue3前端框架集成实战 本文详细介绍了如何在Vue3项目中集成Z-Image Turbo图像生成API&#xff0c;通过WebSocket实现实时图像生成功能&#xff0c;并提供完整的组件封装方案。 1. 引言 前端开发者经常面临一个挑战&#xff1a;如何在Web应用中集成强大的AI图像…...