23、90秒快速“读懂”STP(生成树)工作原理

https://www.toutiao.com/i6794982558787437063/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1617936510&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&use_new_style=1&req_id=20210409104830010212205202442C6BF5&share_token=4F957CF5-2AFA-42B4-845A-2C3195600C02&group_id=6794982558787437063

交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但同时也会带来环路问题

1、广播风暴

根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧

2、MAC地址表震荡

交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。 此过程不断重复,从而导致MAC址表震荡

STP(SpanningTree Protocol)生成树协议的作用

STP通过阻塞端口来消除环路,并能够实现链路备份的目的。

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

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

STP的操作

1、选举一个根桥

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

3、每个段选举一个指定端口

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

STP通过构造一棵树来消除交换网络中的环路。

每个STP网络中,都会存在一个根桥其他交换机非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,交互的这种信息被称为BPDU。BPDU中包含交换机在参加生成树计算时的各种参数信息。

STP中定义了三种端口角色:指定端口根端口预备端口

指定端口:

是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。 一般情况下,根桥的每个端口总是指定端口。

根端口:

是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。

预备端口:

既不是指定端口也不是根端口,预备端口将被阻塞。

根桥选举

每一台交换机启动STP后,都认为自己是根桥。

STP中根桥的选举依据:

1、桥优先级(Bridge Priority)

2、48位的MAC地址

STP中的每个交换机都会有一个桥ID(Bridge ID)。桥ID 由16位的桥优先级(Bridge Priority)48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0-65535,默认值为32768。

优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。

根端口选举

非根交换机在选举根端口时分别依据:

1、根路径开销(Root Path Cost)

2、对端BID(Bridge ID)

3、对端PID(Port ID,有端口优先级和端口号构成)

4、本端PID

交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC (Root Path Cost,根路径开销),并生成无环树状网络。

根桥的根路径开销是0

指定端口选举

非根交换机在选举指定端口时分别依据:

1、根路径开销(Root Path Cost)

2、BID(Bridge ID)

3、PID(Port ID)

未被选举为根端口或指定端口的端口为预备端口,将会被阻塞。

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

23、90秒快速“读懂”STP(生成树)工作原理相关推荐

  1. 以太网数据帧的报尾封装字段是什么_16、90秒快速“读懂”数据包的封装、解封装...

    数据转发过程概述 数据包在相同网段内或不同网段之间转发所依据的原理基本一致. 一.数据帧封装 TCP封装(四层) 当主机建立了到达目的地的TCP连接后,便开始对应用层数据进行封装. 主机A会对待发送的 ...

  2. 一文读懂keepalive的工作原理

    keepalive是基于vrrp协议实现接入层高可用组件,避免系统的单点故障. 工作原理 要想理解keepalive的原理,就需要理解vrrp协议的工作原理. 概念解释: Vrrp(Virtual R ...

  3. 一文读懂闪电网络工作原理

    一   引言 了解比特币的人都知道,比特币网络的拥堵问题由来已久,转账高手续费.速度缓慢严重制约了比特币的发展.关于扩容的争论喋喋不休,共识分歧严重,造成了多次比特币分叉.目前来看,社区共识无法达成一 ...

  4. 一文读懂 DevSecOps:工作原理、优势和实现

    由于 DevOps 方法的广泛采用以及由此产生的快速产品交付和部署,许多部门已采用更敏捷的方法来开发生命周期.在满足市场速度和规模要求的同时,设计安全的软件一直是现代 IT 公司共同面临的问题.结果, ...

  5. 继电器rc吸收电路取值_一文读懂继电器的工作原理以及驱动电路

    继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种"自动开关".故在电路中起 ...

  6. 教你读懂Ajax的工作原理

    Ajax的工作原理 1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛 ...

  7. 一文彻底读懂三极管的工作原理,最通俗的解释,看完就明白了!

    我们在上学时候都学过三极管,书上是这样介绍的 三极管,全称应为半导体三极管,也称双极型晶体管.晶体三极管,是一种控制电流的半导体器件.其作用是把微弱信号放大成幅度值较大的电信号,也用作无触点开关. 三 ...

  8. 快速读懂Http3协议总结

    <网络编程懒人入门(十二):快速读懂Http/3协议,一篇就够!> 什么是 http3 当IETF正式标准化HTTP/2时,Google正在独立构建一个新的传输协议,名为gQUIC.它后来 ...

  9. 如何快速读懂开源代码?

    文章目录 **RUN起来** **调试** **把控关键数据结构和函数** **从小的开始** **关注一个模块** **工具** **一.阅读开源代码存在的一些误区** 二.阅读代码的心态 **三. ...

最新文章

  1. 条件随机场(CRF)相对于HMM,MEMM的优势
  2. (47)System Verilog 类中变量随机激励inside运算符
  3. mysql数据库导入导出_windows系统以及linux系统下的操作---linux工作笔记042
  4. Javascript中常用的经典技巧
  5. iOS开发之App开发团队必须知道的 iOS 11 更新点几iPhoneX的屏幕适配
  6. 最简单的Rest服务
  7. vue热敏打印机_java+lodop+vue+热敏打印机,打印图片
  8. 区块链底层平台有哪些 区块链底层平台搭建
  9. 认知升级:从首席架构师到CTO
  10. Flutter 桌面应用调研
  11. zabbix图形中文字显示方框或乱码问题
  12. FFmpeg提取视频中的音频
  13. 实现iframe嵌套bilibili视频
  14. 对学计算机学生礼仪,计算机系学生分会社团部主持人和礼仪队选拔大赛计划1.doc...
  15. 2019 互联网月饼哪家强?阿里走情怀;百度最土豪;浪潮最高冷;抖音最创意 ............
  16. matlab通信系统仿真设计课程设计,基于matlab的FM通信系统仿真设计与实现_课程设计报告...
  17. FPGA(九)RTL代码之五(基本电路设计2)
  18. Mybatis通用Mapper实战
  19. 中国石油大学《安全系统工程》 ​​​​​​​第三阶段在线作业
  20. java实验:计算长方体的体积+线性表的操作

热门文章

  1. 详解Python的max、min和sum函数用法
  2. 饥荒显示服务器建立时遇到问题,饥荒显示创建服务器遇到问题重试 | 手游网游页游攻略大全...
  3. 计算机科学导论数据运算,补基础:自学:计算机科学导论 第四章 数据运算(示例代码)...
  4. JSP环境搭建和入门
  5. php 正则匹配所有路径,与文件路径匹配的PHP正则表达式
  6. 1流式细胞术荧光比值计算_浅谈流式细胞仪的工作原理和应用
  7. ipython版本_1. Python版本的选择与安装
  8. unity常连接mysql,Unity使用BestHttp插件时Socket.IO保持长连接的问题
  9. python 小甲鱼——面向对象笔记
  10. 计算机系统一级免费,计算机系统一级ms_office课件第一章.pptx