STP Election Process

802.1D STP

​ 802.1D是第一个生成树版本,不支持VLAN。选举过程如下

  1. 选择一个根桥
  2. 选择根端口
  3. 选择指定端口
  4. 选择关闭端口(剩下的最后一个端口)

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选举规则的更多相关文章

  1. HCNA Routing&Switching之STP选举规则

    前文我们了解了二层环路对网络带来的影响,以及STP工作流程和BPDU数据包结构和相关字段的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15121317. ...

  2. HCNA Routing&Switching之STP端口状态、计时器以及拓扑变化

    前文我们了解了STP选举规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15131999.html:今天我们来聊一聊STP的端口状态.计时器.端口状 ...

  3. BPDU报文(传统STP)

    BPDU字段包含的信息: Protocol ID 协议ID Version STP版本(三种) STP(802.1D)传统生成树 值为0 RSTP(.1W)快速生成树 值为2 MSTP(.1S)多生成 ...

  4. STP理论基础

    目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...

  5. STP协议-进阶

    一 STP的选举规则1.在交换网络中选举一个根桥(Root Bridge)比较Bridge ID桥ID(优先级+MAC地址)越小越优 为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交 ...

  6. Ceph剖析:Leader选举

    作者:吴香伟 发表于 2014/09/11 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Paxos算法存在活锁问题.从节点中选出Leader,然后将所有对数据 ...

  7. STP(Spanning Tree Protocol)

    STP生成树协议   问题 为了提高网络的可用性,需要进行冗余和备份.但是冗余路径会产生环路 环路会导致以下问题 广播风暴:由于交换机会对广播.多播.和未知目标MAC的单播包进行泛洪,在存在环路的情况 ...

  8. OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证

    链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2* ...

  9. Zookeeper 源码(五)Leader 选举

    Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举 ...

  10. OSPF-DR与BDR的选举及作用

    IERS-DR与BDR的选举及作用 一.问题引出 在运行OSPF的MA网络中包括广播型和NBMA网络会存在两个问题: 1).在一个有n个路由器的网络中,会形成(n*(n-1))/2邻居关系. 2).邻 ...

随机推荐

  1. [Linux] IP 地址配置, 网络地址配置文件

    # 查看与配置网络状态命令 $ ifconfig # 临时设置 eth0 网卡的 IP 地址与子网掩码,netmask 可以省略 $ ifconfig eth0 192.168.0.100 netma ...

  2. [Blockchain] Cosmos Starport 101 - 为你的新数据类型 生成代码

    # 项目模板 $ starport app github.com/hello/planet --address-prefix your_new_prefix 项目目录结构的说明看这里: https:/ ...

  3. dotnet 6 已知问题 ManualResetEventSlim 的 Set 方法抛出空异常

    本文记录一个 dotnet 6 已知问题,此问题预计是在 .NET Framework 4.5 时就引入的,我没有考古在 .NET Framework 4.5 之前是否还存在此问题.当前这个问题在 . ...

  4. RT-Thread内存管理

    一.内存管理的特点 分配内存的时间必须是确定的.一般内存管理算法是根据需要存储的数据的长度在内存中去寻找一个与这段数据相适应的空闲内存块,然后将数据存储在里面.而寻找这样一个空闲内存块所耗费的时间是不 ...

  5. Java Collection接口下的“ List 集合” 与 “ Set 集合 ”

    Java Collection接口下的" List 集合" 与 " Set 集合 " 每博一文案 一个人最好的底牌,就这两个字: 靠谱,是最高级的聪明. 师父说 ...

  6. 【简说Python WEB】Flask应用的单元测试

    [简说Python WEB]Flask应用的单元测试 tests/test_basics.py import unittest from flask import current_app from a ...

  7. sqli-labs-master 第二,三,四关

    第二关: 判断注入类型:http://192.168.65.130/sqli-labs-master/Less-2/?id=1 --+ 原因:$sql="SELECT * FROM user ...

  8. Docker基础 ubuntu安装docker

    目录 如何在Linux深度系统deepin下安装docker 介绍 安装docker 在ubuntu的docker中运行ubuntu 在ubuntu的docker中运行centos 卸载docker ...

  9. 扩展实现Unity协程的完整栈跟踪

    现如今Unity中的协程(Coroutine)方案已显得老旧,Unitask等异步方案可以做到异常捕获等yield关键字处理起来很麻烦的问题, 并且Unity官方也在开发一套异步方案,但对于临时加入到 ...

  10. 解析 ABP vNext 依赖注入实现【属性注入】的原理

    前言 这几天闲来没事看看ABP vNext的文档和源码,关于关于依赖注入(属性注入)这块儿产生了兴趣. 我们都知道.Volo.ABP 依赖注入容器使用了第三方组件Autofac实现的.有三种注入方式, ...