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

H3CNE--12.生成树协议

生成树协议技术背景如下图可以理解为是一个网状结构的网络可靠性很高挂了一根线另一根可以正常用但是会产生环路给每台交换机添加两台PC分别命名为A,B,C,D此时如果两台交换机刚刚开机A要和C通信此时SW1不认识C那么收到A的包后会广播发包从三口发出去但是根据交换机的工作原理收到一个广播包会直接进行广播那么在SW2上会再次广播此时不仅C收到了右侧的4口也收到了于是又发回SW1然后SW1 收到了再次广播依次循环这个包会在两个交换机来回转发消耗交换机的资源这就是广播风暴在交换机的学习中这个包的目的是C当广播从3出去C回一个包此时交换机学习C在3号口但是等下一次从4口传入的时候又会更新表因为交换机不支持一个mac对应多个端口于是这个C的MAC地址在地址表中反复跳来跳去叫做“MAC震荡”如果断掉一根线确实可以实现解决上述的两个问题但是就不能支持原本的目的——网络备份所以就需要一个东西解决这个问题那就是生成树协议生成树定义STPSpanning Tree Protocol生成树协议是用于在局域网中消除数据链路层物理环路的协议。通过在桥之间交换BPDUBridge Protocol Data Unit桥协议数据单元来保证设备完成生成树的计算通过它会把某个端口阻塞起来保证只有一条物理链路来传输数据阻塞并非将端口断掉只是一般数据不从阻塞口走当不阻塞的线路出故障或者断掉那么就会停止阻塞走原阻塞端口来实现网络中的网络备份STP相关概念BPDU在BPDU之前补充一下生成树协议是阻塞一个端口实现网络内无环路但是端口的选择肯定不是随机选择的是有选举机制和选举规则一般会选一个较差的端口定义桥协议数据单元用于传递STP协议相关报文分类配置BPDU用于传递STP的配置信息TCN BPDU用于通告拓扑变更信息配置BPDU他的存在类似于自我介绍每个交换机会将自己的链路情况和接口情况比如速率啊会通知给其他交换机他是一个数据帧用于传达自己的选举信息TCN BPDU用来告诉生成树协议网络拓扑的变更比如多了一条新的百兆口的链路生成树协议可能会重新选举挑选出被阻塞的端口STP的选举机制在所有交换机中选举出一台作为根网桥Root bridge)每台非根网桥交换机选举出一个根端口Root port每个物理段上选举出一个指定端口Designated port)剩下没有角色的端口就是阻塞端口Blocked Port选出根网桥选举规则桥IDbridge id 简称BID小的优先Bridge id的组成桥的优先级这个桥的MAC地址优先级默认32768必须是4096的倍数可以手动改假设有如下拓扑数字是桥优先级字母假设是MAC地址根据选举桥ID小的优先那么可以排除SW3再看MAC地址AC所以就是SW1会被选举为根网桥选出根端口非根网桥即不是根网桥的设备对应刚刚拓扑结构中的SW2和SW3选举规则到达根网桥开销小的有限对端交换机BID小的优先端口ID小的优先开销 cost代表路径耗费的代价和成本带宽越大开销越小比如还是如下拓扑在前面已经将A选举为根网桥那么根端口从B和C两台交换机中选择在B上很明显看出g0/1口比g0/2口到跟网桥的开销更小在C上则是g0/2的开销更小那么B的g0/1和C的g0/2就是被选举的根端口但是又有一种情况假设在同一交换机上两个端口到根网桥的开销相同的情况在原有拓扑下新增一台交换机则SW4到根网桥的两个端口开销一致此时开销就不足够比对了需要用到选举规则的第二条对端交换机BID小的优先根据选举规则那么应该选择g0/1端口为根端口至于第三种选举规则存在即合理确实有存在开销一致BID相同的情况比如在刚刚的交换机下方再加一台交换机用两根线相连此时针对SW5来讲两个端口的开销一致BID相同那么此时只能选择端口号小的端口为根端口所以SW5交换机的根端口就是g0/1一台交换机不可能有两个相同所以依次的排序选择就可以做到选出根端口选出指定端口就是在每个物理段上选举出一个指定端口每个物理段可以理解为每根网线上选出一个指定口选举规则和根端口选举规则类似他是根据线来选择端口根据选举规则看下面的拓扑图对交换机A来看指定端口就是g0/1和g0/2针对B和C之间的线来讲两侧开销一致比较BID很明显左侧的BID较小所以指定的口就是B的g0/2口交换机sw2和sw4的连线选择的端口就是sw2的g0/3同理sw3和sw4之间的线指定端口就是sw3的g0/3口那么四和五之间的线端口就都是sw4的两个接口所有指定口就是如下画框的内容那么剩下的没有杯选择成根端口和指定端口的端口就会设定为阻塞口那么根据刚刚的选择来看被阻塞的端口极速sw3的g0/1口sw4的g0/2口sw5的g/2口STP初始化流程主要是看交换机端口状态的变化交换机会有五个状态disable一般来说当端口被shutdown或者断开连接了就是这个状态没什么好说的后面三个是重点blocking交换机在刚刚开机的那一瞬间时候所有交换机会处于blocking状态无法转发此时可以接受BPDU但不发送BPDU不学习MAC地址不转发数据这个状态相当于是在说他能听别人在说什么自我介绍但是他自己不自我介绍类似于在监听一样监听的原因是阻塞端口总会要打开的当他收到要他打开的信息他就会打开所以需要监听listening但是刚刚的阻塞状态只会维持一瞬间之后后全部变成listening状态也就是监听状态接收并发送BPDU不学习MAC地址不转发数据持续15s这个状态其实就是在完成前面的STP选举的时候的状态选出跟网桥选出根端口选出指定端口都是在listening状态下进行这里的15s是雷打不动的固定15s无论是在15s之前选完也要用15s如果选举超时到了15s还是没选举出来依旧进入下一步但是这个时间可以改但是一般不改learning接收并发送BPDU,学习MAC地址不转发数据持续15s这里学习MAC地址其实用不了15s这里依旧留了15s是为了给前面没有选举出来的情况继续选举forwarding接收并发送BPDU学习MAC地址转发数据结束了learning状态的15s后就进入到最终的转发状态STP计时器Helo time之所以在选举结束后依旧需要每隔两秒发送一个BPDU是因为确认这条线路是否还活着确定网络是否挂掉的方式是看对方是否每隔2秒给自己发送BPDUmax age叫做最大生存时间如果连续10个周期都没收到对方发来的消息就说明该条线路挂掉了那么生成树就会重新选举根端口fowrading delay他指的是发现故障后将阻塞端口切换到正常转发的状态所需要的最大时间问题一所以当一个线路坏了最大需要的时间就是max age的20s加上选举的30s最久情况就是需要等待50s才能正常运行如果一开始就知道是挂在哪里那么只需要选举就行那么要的最短时间就是30s所以这也是生成树的一大缺点变更时间过长STP的另一问题上图中四台交换机练成一个环路选定阻塞口味sw4的2口那么如果A要给B通信就会是A——SW1——SW2——SW4——B这大概就是正常流程但是当SW2和SW4之间的线断掉了那么就会30-50s内选举结束然后开放SW4的2号口但是这一切的变更最多是50s此时A发送一个包给B底下链路的变更SW1是不清楚的所以他收到这个包之后依旧会发送给SW2但是这条路已经不通了因为变更只花了最多50s但是MAC地址的更新时间是300S也就是如果B300S都没发送来信息SW1才会更新MAC地址表这就回到300s内A发出的消息B收不到除非此时B主动找ASW1才会发现变更才会更新MAC地址表STP拓扑变更机制刚刚上述的问题的解决方式就是STP衍生出的STP拓扑变更机制MAX age超时/有接口变更为转发状态判断为拓扑发生变更向跟网桥发起TCN BPDU用于告知拓扑结构变化的包收到TCN BPDU的交换机继续向跟网桥转发TCN BPDU到达跟网桥位置跟网桥收到TCN BPDU后向所有端口发起TC置位的配置BPDU交换机收到TC置位配置BPDU后MAC地址表的老化时间缩短到15sBPDU只有根网桥可以发其他交换机只能转发所以发现问题的交换机需要向上传递TCN BPDU到根网桥只有根网桥可以做决策跟网桥收到后会发出一个置位BPDU也就是每2秒发送的那个BPDU包中会有一个TC控制位跟网桥收到出问题的TCN BPDU后就会发送一个配置BPDU并把包中的TC控制位设置为1是为了告诉其他相连交换机的老化时间设置为15s把问题解决STP的问题前面提过的变更时间太长了刚刚用TCN BPDU来解决慢的问题但是又衍生了一个新问题如果一个交换机连接一个PC如下图如果PCB关机了那么SW4的g0/3口会认为是有拓扑变更就会开始发TCN BPDU如果这个台电脑经常开机关机就会导致网络中TCN BPDU和TC置位BPDU大量发送但是在实际工作用已经几乎不用生成树协议了因为太过时了就算要用也会用RSTP和MSTPRSTP在NE中不做重点要求只做理解RSTP叫做快速生成树协议端口状态减少到三种端口角色增加到四种端口和指定端口不变边缘端口机制当链路激活边缘端口立即进入转发状态不参与STP计算边缘端口UP/DOWN不会触发拓扑变更建议把链接PC的端口配置为边缘端口这里选择的备份就是在选择根端口和指定端口的时候同时选择出来备份端口如果挂了就直接切换备用的用于加快更新速度因为在原本STP情况下如果根端口或者指定端口挂了需要话费30s来重新选举但是RSTP提前选择好了备份主端口挂了就用备份的他的边缘端口机制也解决了前面提到的PC频繁上下线导致TCN BPDU和置位BPDU在网络内到处都是的情况MST中文叫多生成树协议同时解决了STP和RSTP的问题——资源浪费因为如果阻塞端口那么被阻塞的设备就被浪费了也就是将流量和指定VLAN 范围绑定每一段的VLAN 是走某一条资源另外一段走另外一条资源实现资源的不浪费实验实验部分可以参考邓方鸣老师的STP实验文档

相关文章:

H3CNE--12.生成树协议

生成树协议 技术背景 如下图可以理解为是一个网状结构的网络,可靠性很高,挂了一根线,另一根可以正常用,但是会产生环路 给每台交换机添加两台PC,分别命名为A,B,C,D 此时如果两台交换机刚刚开机,A要和…...

2026年国产算力产业指南:自主软硬件+开源生态,产业链核心标的梳理

摘要:本报告系统分析了国产算力在内外双驱下的崛起路径、技术突破与生态构建,让行业从业者与投资者深入了解自主算力的核心竞争力与产业机遇。依托Chiplet、超节点等技术突破,华为昇腾、寒武纪等企业实现AI芯片性能跃升,软件生态通…...

工业园区智能巡检方案:攻克设备密集、高危区域作业、违规难管控痛点

传统工业园区巡检面临着严峻挑战:设备密集导致人工巡检耗时费力,易遗漏关键隐患;高危区域人工作业风险极高,易引发安全事故;违规作业、外来人员闯入、消防通道堵塞等问题难以实时管控;巡检数据分散&#xf…...

AF555 α-银环蛇D素,AF555-α-BTX荧光标记的光谱特性

银环蛇D荧光标记AF555,AF555-a-Bungarotoxin,AF555 α-银环蛇D素,AF555标记α-银环蛇D素,AF555-α-BTX在神经科学及细胞生物学的研究领域,对乙酰胆碱受体(Acetylcholine Receptors, AChRs)的分布…...

关于举办2026年全国大学生智能汽车竞赛研讨会的通知

...

买房的决策

高端项目的业主主要是高净值的用户,本身对于价格没有那么敏感,也甘愿为高附加值(比如高端酒店式服务)的项目付费 我发现我作为 90 后,我是 1993 的。我觉得我们 1988 到 1993 这五年的一代人,是最后的接盘侠…...

别再把汇聚当核心!90% 网络架构问题,都源于这几个误区

深夜,某数据中心突发流量拥塞,核心交换机负载飙升至 90%,前端业务全部卡顿。运维团队紧急排查,发现罪魁祸首竟是——汇聚交换机开启了大量复杂策略,导致 BGP 会话中断,整网震荡。 这样的场景,几…...

OpenClaw在文档中声明对插件行为不承担责任,这种免责条款在法律上是否站得住脚?

在讨论OpenClaw这类技术平台在其文档中声明对插件行为不承担责任的法律效力时,需要先理解一个基本前提:技术领域的免责声明从来都不是一把万能保护伞。法律看待这类条款的角度,往往比开发者预想的要复杂得多。 很多开发者习惯在文档里加一段免…...

Qwen3 推理模式深度解析:从 Qwen2.5 的“隐式思考“到 Qwen3 的“原生推理“

本文基于对 Qwen 系列模型演进的深度分析,梳理了 Qwen2.5-7B 与 Qwen3-4B 在推理能力上的本质差异,以及 Qwen3 体系内部 Instruct 模型与混合模型 no_think 模式的微妙区别。 零、问题发现 在一次偶然听报告的机会,我听见讲解者说&#xff1…...

随着OpenClaw生态壮大,是否会形成新的数字垄断——不是OpenClaw本身垄断,而是围绕它的一批商业服务商垄断?

在技术领域待得久了,总会遇到一些似曾相识的循环。当人们谈论OpenClaw生态的壮大时,那种兴奋感背后,其实藏着一种熟悉的影子。生态的繁荣往往伴随着某种集中,这几乎成了一条隐形的规律。问题不在于OpenClaw本身会不会垄断——它开…...

3dmax,云渲染中如何用Vray调节木饰面材质的方法?详细操作指南!

今天我们来看一篇关于3Dmax材质如何调节的操作,如果你也遇到了这样的情况,可以跟着操作看能不能解决。PS:如果本地渲图很吃力,可以试试国内极具性价比的云渲染平台-渲染100,注册使用渲染码就会获得测试币,拿…...

Git误操作急救手册大纲,一招在手走遍天下

Git误操作急救手册大纲常见误操作场景误删分支或提交:git branch -D或git reset --hard导致代码丢失误提交敏感信息:密码、密钥等被提交到仓库冲突处理失误:合并或变基时错误解决冲突错误覆盖远程分支:git push --force导致团队协…...

当机器翻译遇上“语感危机“:Lingualite 的多智能体答案

一、行业的三道伤口任何一个在跨境业务或学术场景中打过硬仗的人,都对翻译的痛点有切身体会。出海品牌的文案窘境。 某国产新能源品牌在欧洲官网上用通用机翻把"颠覆性体验"译成了字面意义的"破坏性经验",被当地媒体截图嘲讽。一次普…...

华为校招备考攻略:岗位、机考、面试、避坑,一篇讲透

华为校招备考攻略:岗位、机考、面试、避坑,一篇讲透 数据来源:华为官方招聘信息、华为 2024 年年报、公开岗位信息与近年公开面经整理 | 更新时间:2026 年 3 月 校招大礼包获取:获取方法 华为面试里,挺常见…...

androidstudio历史版本

网址 Android Studio 下载档案 |安卓开发者https://developer.android.google.cn/studio/archive...

前端面试全家桶,从求职准备到面试演练2023年|价值1299元|课件齐全|39章完结无密

这是一篇为你定制的导读文章,旨在帮助你跳出“题海战术”的误区,真正实现从“背诵答案”到“构建体系”的思维跃迁。 拒绝知识碎片:如何将“面试全家桶”内化为技术架构图 《硬核前端备战:面试全家桶构建系统化技术思维》&#xf…...

使用WSL2安装Ubuntu子系统

1. 确认安装环境 打开任务管理器,确认虚拟化已启用 然后系统内搜索“启用或关闭Windows功能”,开启“适用于Linux的Windows子系统”和“Hyper-V”两项,点击确认等待系统重启 2. 更新及选择WSL子系统 使用管理员打开Power Shell,…...

SEO_本地中小企业快速见效的SEO操作指南(455 )

SEO:本地中小企业快速见效的SEO操作指南在当今互联网时代,为了在竞争激烈的市场中脱颖而出,本地中小企业必须掌握一些有效的SEO操作技巧。SEO,即搜索引擎优化,是提升企业网站排名、增加流量和最终提升销售的关键。本文将从问题分析…...

监控行业90%的人还在用落后的方案,视频孪生颠覆传统监控使用模式

盯着屏幕上密密麻麻的九宫格监控画面,你是不是也常有这样的困惑——这个十字路口的东西南北到底怎么对应?这个画面和旁边那个画面到底是什么逻辑关系?每次遇到突发事件,保安人员需要盯着几十块屏幕,在脑海里拼凑出现场…...

TensorBoard 曲线“开头竖线/跳变”

在MMM2这个地图上异常结果如下:问题分析: (1)大概率没在跑 MMM2,通过查看日志,Experiment Parameters 里是:‘env_args’: {‘seed’: 2} 没有 map_name,这会让 sc2 环境回退到默认地图&#xf…...

智能员工时代已来:揭秘郑州OpenClaw技能深度定制如何重塑企业生产力

在人工智能浪潮席卷全球的今天,企业数字化转型已进入“深水区”。从最初的流程自动化,到如今追求深度智能与业务场景的精准融合,企业对大模型应用的需求正发生深刻变化。通用型AI助手虽能解决部分问题,但面对复杂的业务流程、独特…...

【samba】--- 创建任何人都能访问的 共享盘|保姆级避坑实操博文

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。 而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。 【samba】--- 创建任何人都能访问的 共享盘|保姆级避坑实操博文 开发环境 一、灵魂…...

[特殊字符] 模拟试卷一:C++核心与系统基础(90分钟)

📄 模拟试卷一:C核心与系统基础(90分钟) 一、单选题(每题2分,共20分) 1.在C11中,关于auto关键字,错误的是: A) auto x 5;推导x为int B) auto& y x;推导…...

CUDA C++ Best Practices Guide读书笔记

性能优化,量化意识为王。 阅读大纲目标:系统掌握 CUDA 优化知识,服务于 tiled 矩阵乘 FlashAttention 实现 策略:读一层、做一层,交替进行,不要先读完再动手Layer 1:GPU 执行心智模型 ✅ 章节&…...

Bean 的“出生证明”:BeanDefinition 解析与扫描机制深度剖析

欢迎来到 20年代——Spring 容器的“设计院” 在 Spring 的世界里,有一个常见的误区:认为 @Component 或 <bean> 标签一写,对象就立刻诞生了。大错特错!Spring 容器启动时,第一件事绝不是 new Object(),而是读图纸。这张图纸,就是 BeanDefinition。 BeanDefinitio…...

Android的配置笔记

MyAndroidApp A new Android project. 配置_笔记。 SDK的路径配置 。 在文件 {ProjectRootDir}/gradle/wrapper/gradle-wrapper.propertieslocal.properties 中的内容示例如下。 # You can first download the file to your local machine and then reference the local path. …...

锦江酒店数百家IT资产远程运维实践:从“救火”到“主动服务”

引言&#xff1a;酒店巨头的数字化新挑战 自1935年锦江茶室创立&#xff0c;到如今成为全球领先的酒店集团&#xff0c;锦江酒店&#xff08;以下简称“锦江”&#xff09;见证了中国酒店业的发展。在数字化浪潮中&#xff0c;锦江一直走在行业前列——从收购法国卢浮集团到搭…...

技术干货版|HLS 流媒体调试必备:m3u8live.cn 在线 M3U8 播放器,免安装一键验流

在直播、点播、Web 视频、在线教育、IPTV 等流媒体业务中&#xff0c;HLS&#xff08;M3U8&#xff09; 已经成为最主流、兼容性最强的传输协议。而日常开发、测试、运维里最高频的场景&#xff0c;就是快速校验一个 M3U8 地址是否有效、能否正常播放、哪里出了问题。 传统方式…...

文件io:一、io的引入与介绍

1.前言&#xff1a;在linux里&#xff0c;几乎所有的可操作设备或者接口都是文件。无需理解&#xff0c;只要记住即可。这些东西比如键盘&#xff0c;鼠标&#xff0c;硬盘&#xff0c;串口&#xff0c;触摸屏&#xff0c;显示器&#xff0c;网络通讯端口甚至是进程间的通讯管道…...

大数相加(高精度加法):C++实现详解

#include <bits/stdc.h> using namespace std;int main() {// 定义两个字符串接收数据string s1, s2;// 定义三个int数组&#xff0c;用于分别存储s1和s2以及s1s2的和int a1[505], a2[505], a3[505];// 输入数据cin >> s1 >> s2;// 翻转s1和s2for (int i 0;…...