STP选举规则
STP Election Process
802.1D STP
802.1D是第一个生成树版本,不支持VLAN。选举过程如下
- 选择一个根桥
- 选择根端口
- 选择指定端口
- 选择关闭端口(剩下的最后一个端口)
Root Bridge Select
选举根桥首先是比较Bridge ID,谁的Bridge ID更小,则谁优先被选择成为根桥。
Bridge ID = Priority ( 32768 by default ) + MAC ( base MAC address )
首先比较优先级,如果优先级相同其次比较base MAC address
Bridge ID共8字节,其中MAC地址占6字节,Priority占2字节,Priority的默认值为2字节表达数范围(0 - 32768)的中间值。
当交换机第一次启动,它会假设自身为根桥,它会将自身的Bridge ID放入向外发送的BPDU中的Root Bridge ID和Bridge ID中。
当它收到一个更小的Bridge ID,它会将该ID写入自身发送的BPDU中,然后将更新后的BPDU通告给其他的交换机。
通过不断交换BPDU和比较Bridge ID则会选举出最终的根桥。
根桥会生成Configuration BPDU,并每隔2秒钟通过可用路径发送出去。其余的交换机不能生成BPDU,只能对根桥发送的BPDU进行转发
(转发的BPDU数据包中的桥ID为转发者的桥ID)。
Root Port Select
根桥上没有根端口,每一个交换机只有一个根端口(802.1D)。
- 根端口是离根桥最近的端口。
- 根端口一般面向根桥。
- 选举过程
选举到根桥最小路径开销的端口
- 根桥发送的BPDU中包含的Cost为0。
- 交换机收到BPDU后会检查进方向端口速率得出Cost,然后将BPDU中的Cost进行叠加,再转发BPDU。(下图右侧规则已过时)

更小的发送者的桥ID
更小的发送者的端口优先级(Default 128)
更小的发送者的端口ID
Designated Port
每个物理网段都会生成一个指定端口,根桥上的所有端口都是指定端口。
- 更小的到根桥路径开销
- 更小的交换机桥ID
Bloking Port
性质
- Receive BPDUs
- 丢弃所有数据
- 不发送任何数据
STP选举规则的更多相关文章
- HCNA Routing&Switching之STP选举规则
前文我们了解了二层环路对网络带来的影响,以及STP工作流程和BPDU数据包结构和相关字段的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15121317. ...
- HCNA Routing&Switching之STP端口状态、计时器以及拓扑变化
前文我们了解了STP选举规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15131999.html:今天我们来聊一聊STP的端口状态.计时器.端口状 ...
- BPDU报文(传统STP)
BPDU字段包含的信息: Protocol ID 协议ID Version STP版本(三种) STP(802.1D)传统生成树 值为0 RSTP(.1W)快速生成树 值为2 MSTP(.1S)多生成 ...
- STP理论基础
目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...
- STP协议-进阶
一 STP的选举规则1.在交换网络中选举一个根桥(Root Bridge)比较Bridge ID桥ID(优先级+MAC地址)越小越优 为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交 ...
- Ceph剖析:Leader选举
作者:吴香伟 发表于 2014/09/11 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Paxos算法存在活锁问题.从节点中选出Leader,然后将所有对数据 ...
- STP(Spanning Tree Protocol)
STP生成树协议 问题 为了提高网络的可用性,需要进行冗余和备份.但是冗余路径会产生环路 环路会导致以下问题 广播风暴:由于交换机会对广播.多播.和未知目标MAC的单播包进行泛洪,在存在环路的情况 ...
- OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证
链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2* ...
- Zookeeper 源码(五)Leader 选举
Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举 ...
- OSPF-DR与BDR的选举及作用
IERS-DR与BDR的选举及作用 一.问题引出 在运行OSPF的MA网络中包括广播型和NBMA网络会存在两个问题: 1).在一个有n个路由器的网络中,会形成(n*(n-1))/2邻居关系. 2).邻 ...
随机推荐
- Git reset 的hard、soft、mixed参数对比
目录 分区概念 1. --soft参数 2. --mixed参数 3. --hard参数 分区概念 先要清楚在本地,git会分三个区:工作区.暂存区.本地库. 当使用去做版本移动的时候,那么在使用[- ...
- goframe v2.1.0 gf-cli的使用
目录 1.视频教程 2.官方文档 3.下载 linux系统安装环境 windows系统安装环境 4.创建项目 5.启动项目 6.交叉编译 7.gen命令的使用 8.orm的操作 1.视频教程 http ...
- 纯JavaScript制作动态增加的网页数字
看到别的网页上打开,会显示一个动态的数字,感觉这个效果增加了网页的灵动感.就尝试着写代码,最终实现的方法: 会从0增加到一个数值,实现的代码: <!-- html 部分 --> <d ...
- 超级详细的Oracle安装图文详解!手把手教会您从下载到安装!
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485532&idx=1 ...
- GEOJSON 的渲染实例
createGeojson:function(arr) { let geoArr=[]; for(let i=0;i<arr.length;i++) { let obj={ "type ...
- warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&f);
这个是C语言当中常见的错误,意思是 对于输入的scanf参数的内容,没有进行类型判断,所以才会产生这个问题. 解决方法: 1.添加if判断方式 1 if(scanf("%d",&a ...
- 用 C 语言开发一门编程语言 — 交互式解释器
目录 文章目录 目录 前言 环境 编译型 vs 解释型 实现交互式解释器 使用 GNU Readline 函数库 前言 通过开发一门类 Lisp 的编程语言来理解编程语言的设计思想,本实践来自著名的& ...
- apisix~集成服务发现注册中心
摘要 当业务量发生变化时,需要对上游服务进行扩缩容,或者因服务器硬件故障需要更换服务器.如果网关是通过配置来维护上游服务信息,在微服务架构模式下,其带来的维护成本可想而知.再者因不能及时更新这些信息, ...
- Istio(十二):Istio问题排查
目录 一.模块概览 二.Envoy基础 2.1 Envoy 基础 三.Envoy示例 四.调试备忘录 4.1 配置 4.2 运行时 4.3 检查 Envoy 日志 4.4 配置 istiod 日志 一 ...
- 将.net core api 部署成windows服务
将.net core api 部署成windows服务 参考 https://blog.csdn.net/qq_38762313/article/details/103311944 将NSSM解压 ...