BPDU字段 全栈程序员-站长 • 2026年3月19日 上午11:39 • 未分类 • 阅读 2 BPDU字段字节字段描述 2 协议 ID 此处总为 01 版本 STP 的版本 802 1 为 01 消息类型 BPDU 的类型 配置 BPDU ox00TCN ox80 1 标志 TC TCA8RootIden 根 ID 根网桥的网桥 ID4PathPathC 路径开销到达根网桥的 STP 开销 8BridgeIdent 网桥 ID 转发根网桥 BPDU 的网桥的 ID 字节 字段 描述 2 协议ID 此处总为0 1 版本 STP的版本。802.1为0 1 消息类型 BPDU的类型(配置BPDU=ox00 TCN=ox80) 1 标志 TC/TCA 8 Root Identifier根ID 根网桥的网桥ID 4 Path Path Cost 路径开销 到达根网桥的STP开销 8 Bridge Identifier网桥ID 转发根网桥BPDU的网桥的ID 2 Port Identifier 端口 转发根网桥BPDU的网桥的端口ID 2 消息寿命 从根桥发出BPDU之后的秒数,每经过一网桥就减一。即为跳数 2 最大寿命 网桥交根桥看作不可用前保留根桥ID的最大时间 2 hello 时间 根桥连续发出BPDU的间隔 2 转发延迟 网桥监听与学习状态所停留的时间。 STP我们先来看一下他的四条工作机制:①在一个网络中只有且必须有一个为根网桥 ②每一个非根网桥有且只有一个根端口 ③每一个网段有且只有一个指定端口 ④所有非指定端口都因该阻塞掉 根据以上机制我们来模拟一下它的工作流程: 首先启动的时候每一台交换机都认为自己都是根桥,这样就进行选举(选举的原则是根据BPDU当中的Brideger Identifier来进行判断,当BID中的网桥的优先级相同时就根据MAC地址小的选为根桥Root Identifier);当选定根桥时再在非根桥的交换机上选定根端口(根据到根桥的路径开销值Root Path Cost来判定,选择路径开销值小的作为根端口)(上行交换机Bridger Identifier和上行端口的Port Identifier);为每一个网段选择一个指定端口(当一个网段出现俩个根端口时,根桥优先考虑.);断掉非指定端口.这样就逻辑上解除了环路问题. BPDU:中用到字段就是 1: 根桥 的BID 2: 到 根桥 的开销 3: 自己的BID 4: 端口ID 就是用这些从上都下比 如果已经匹配的话就选择完成如果不匹配的话就是按照数字向下走 本贴研究BPDU 的类型,如图所示 STP 工作正常 : BPDU 分为两种:Configuration BPDU (配置的BPDU) 和 TCN BPDU(拓扑变化的BPDU) 图中 我们以 CF BPDU 代替 配置BPDU ,UP BPDU 代替 拓扑变化 BPDU 以图示讲一下两种BPDU 的作用和应用 : < 1 > TCN BPDU —拓扑变化的BPDU 非根桥始发。当一台非根桥交换机,拓扑发生变化的时候,就会产生一个TCN BPDU,这个BPDU是告诉根桥的,也就是说只有根端口才会发送这类的BPDU,上行 。 < 2 > Configuration BPDU —配置BPDU 根桥始发。当根桥受到 TCN BPDU 后,会产生一个配置BPDU,告诉所有它知道的非根桥交换机,拓扑发生了变化。会发现这种的BPDU是通过指定端口始发和转发的,下行。 总结: 1、 RP 接收 配置BPDU ,发送 拓扑变化BPDU。 2、 DP 接收 拓扑变化BPDU ,发送 配置BPDU。 BPDU分为几种类型: configuration BPDU type:0x00 注意类型号 TCN BPDU type 0x80 这两种类型的BPDU是由BPDU协议字段中的TYPE决定的,具体字段内容如下: Bytes Field 2 Protocol ID 1 Version 1 Message Type 1 Flags 8 Root ID 4 Cost of Path 8 Bridge ID 2 Port ID 2 Message Age 2 Maximum Time 2 Hello time 2 Forward Delay STP在交换机之间运行,交换配置信息,就是靠BPDU实现的。 BPDU每隔2秒,以Multicast的方式发送,在designate port上被发送。 通过BPDU信息的交换,我们能够: 1、为整个STP网络找到一个root switch,也叫root bridge 2、为每个网段选举一个designate switch,或者说designate bridge 3、通过设置某些端口为backup状态,来打破环路 正常情况下, 交换机只会从它的Root Port上接收 configuration BPDU 包,但是绝不会主动发送 configuration BPDU 包给root bridge。 这里就需要提到第二种类型的BPDU包了,也就是Topology Change Notification(TCN) BPDU。 这样,当一台交换机检测到拓扑变化后,它就可以发送TCN给root bridge,注意TCN是通过root port向root bridge方向发出的. 当交换机从它的designate port接收到TCN类BPDU时,它必须为其做转发,从它自已的root port上发送出去TCN类型的BPDU包,这样一级一级地传到root bridge后,TCN的任务才算完成. 在以上的过程中,无论是哪台交换机从它的designate port上收到了TCN类型的BPDU包,它都 必须给一个回复,必须从designate port上发出TCA位被置1的normal configuration BPDU包,注意,这里是正常的configuration BPDU包.它的TCA位被置1,表明是要给TCN以回复的,但它跟TCN不是一类型的包. 那么当TCN传遍全网,直至到达ROOT BRIDGE后,r oot bridge也要做出一种回应,它会发出一个正常的configuration BPDU包,当然会有一些不同,就是包内的 TC字段会被置1,TC即topology change,表示发现拓扑变化.这个包会被所有交换机转发,同样的TC位会置1,直至传遍全网,所有交换机都得知拓扑变化为止. 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208416.html原文链接:https://javaforall.net 赞 (0) 0 0 关于作者 全栈程序员-站长 关注 133.5K 文章 3 粉丝 本网站汇聚当前互联网主流语音,持续更新,欢迎关注公众号“全栈程序员社区” 简单完整讲述Servlet生命周期 上一篇 2026年3月19日 上午11:39 接口ApplicationContext中的getBean()方法的详解 下一篇 2026年3月19日 上午11:39 相关推荐 Hadoop生态圈一览 Hadoop生态圈一览根据Hadoop官网的相关介绍和实际使用中的软件集,将Hadoop生态圈的主要软件工具简单介绍下,拓展对整个Hadoop生态圈的了解。这是Hadoop生态从Google的三篇论文开始的发展历程,现已经发展成为一个生态体系,并还在蓬勃发展中….这是官网上的Hadoop生态图,包含了大部分常用到的Hadoop相关工具软件这是以体系从下到上… 全栈程序员-站长 2022年5月21日 82 网页实时显示时间_html页面布局代码 网页实时显示时间_html页面布局代码在html页面实时显示系统时间桌面新建记事本,将下列代码复制粘贴,重命名后缀为.html,保存,用浏览器打开即可<html><head><metahttp-equiv=”Content-Type”content=”text/html;charset=utf-8″/><title>系统时间</title>… 全栈程序员-站长 2025年9月1日 15 【PMP】PMBOK第六版项目管理5大过程组10大知识领域知识点汇总 前后准备考试,历时一个月时间,最终完美pass第一章项目管理框架第二章、项目运行环境第三章项目经理的角色第四章、项目整合管理第五章项目范围管理第六章项目进度管理第七章项目成本管理第八章、项目质量管理第九章、项目资源管理第十章项目沟通管理第十一章项目风险管理第十二章、项目采购管理第十三章、项目相关方管理必须记住的知识点:规划成… 全栈程序员-站长 2022年4月8日 45 perf4j @Profiled常用写法「建议收藏」 perf4j @Profiled常用写法「建议收藏」perf4j@Profiled常用写法1、默认写法@Profiled日志语句形如:2009-09-0714:37:23,734[main]INFOorg.perf4j.TimingLogger-start[开始时间]time[执行耗时]tag[方法名]2、带logger标识@Profiled(logger=”test.PriceService”)由此产生… 全栈程序员-站长 2022年4月27日 28 组合模式解决什么问题_组合模式实例 组合模式解决什么问题_组合模式实例组合模式 Composite动机模式定义实例结构要点总结笔记动机在软件某些情况下,客户代码过多地依赖于对象容器复杂的内部实现结构,对象内部实现结构(而非抽象接口)地变化将引起客户代码地频繁变化.带来代码地维护性,扩展性等弊端如何将”客户代码与复杂地对象容器结构”解耦?让对象容器自己来实现自身地复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂地对象容器模式定义将对象组合成树形结构以表示”整体-部分”地层次结构.Composite使得用户对单个对象和组合对象地使用具有一致性(稳定)实例树形 全栈程序员-站长 2022年8月9日 7 jetty和tomcat优势比较 jetty和tomcat优势比较Jetty 和 tomcat 的比较 nbsp 相同点 1 nbsp nbsp nbsp nbsp nbsp nbsp Tomcat 和 Jetty 都是一种 Servlet 引擎 他们都支持标准的 servlet 规范和 JavaEE 的规范 nbsp nbsp 不同点 1 nbsp nbsp nbsp nbsp nbsp nbsp 架构比较 Jetty 的架构比 Tomcat 的更为简单 Jetty 的架构是基于 Handler 来实现的 主要的扩展功能都可以用 Handler 来实现 全栈程序员-站长 2025年7月22日 6 发表回复您的邮箱地址不会被公开。 必填项已用 * 标注昵称: 邮箱: 网址: 记住昵称、邮箱和网址,下次评论免输入 提交