以太网 传统STP生成树简介、STP工作方式简单介绍

news2024/11/19 23:38:48

2.10.0 以太网 传统STP生成树(简介、工作方式)

作用:

STP(Spanning Tree Prortoco)生成树协议,它的出现解决了交换机网络环路的问题。

交换机网络中收到BUM帧的时候,将会进行泛洪的操作,而在环形的交换网络中,这种泛洪操作将会引起广播风暴!

广播风暴不仅会降低交换机的处理性能,还会造成MAC地址在不同端口之间替换,从而使得正常的数据也无法进行正常的转发,这种现象称为:MAC地址飘移

BUM帧:广播帧(Broadcast)、未知单播帧(Unknow unicast)、组播帧(Multicast)

广播风暴:二层帧头中没有可以防止数据帧无限转发的字段,所以交换机收到广播帧后无限的进行转发从而产生广播风暴

细讲一下MAC地址飘移的过程:

在没有启动STP协议时的 “环形交换网络” 出现BUM帧:

  • 当PC1访问PC2时,需要发送ARP请求对方地址,因此产生一个ARP广播帧发送到交换网络中。
  • LSW收到广播帧,向LSW1、LSW3转发,LSW3收到广播帧后又向LSW2、LSW1转发,因此就陷入了无限转发ARP帧的情况。
  • 因为无限转发的原因,LSW1不断的从e0/0/1、e0/0/2口收到PC1数据帧,因此PC1MAC地址也在e0/0/2、e0/0/1口上不断变化。
  • 这种不断变化的现象就是MAC地址飘移

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过抓包可以看到交换设备不断的接收到ARP的广播帧
在这里插入图片描述

STP的工作方式:

STP生成树,如其名一般在逻辑上看开启了STP协议的交换网络就像一棵倒立的树状型。

在开启了STP协议的交换网络会根据选举的规则将环形网络的部分端口进行阻塞,破坏了环型也就防止了环路的产生。

以下是STP的选举规则:

  1. 选举根桥(即STP生成树的根部

    • 网络中选举根桥使用:设备优先级、MAC地址
    • 设备优先级默认为32768,优先级越小越优先
    • 优先级一样的情况下MAC地址小的更优先
    • 如图:LSW1的设备优先级更高,成为STP中的根桥

在这里插入图片描述

  1. 选举根端口(选举出距离根桥最近的端口)

    • 基于选举出来的根桥,计算非根桥设备到根桥设备之间的距离,距离的总合叫作根路径开销RPC(Root Path Cost)。
    • 默认根桥的接口开销为0,通过接收根桥的STP BPDU时来判断距离根桥的远近。
    • 如图:根桥发送的STP BPDU中路径开销会累加“接收端口”的开销,最终开销越小,说明该端口就是根端口。

在这里插入图片描述

  1. 选举指定端口

    • 默认情况下根桥所有端口都是指定端口
    • 非根桥设备的所有端口也是指定端口,但会因为端口选举的原因某些端口将会成为根端口、阻塞端口…
  2. 选举阻塞端口

    • 当两台非根桥设备连接的对端都是指定端口时,将会进行阻塞其中一个端口
    • 阻塞规则:
    • (1)比较设备优先级+MAC地址,MAC地址和优先级越小,越是能成为指定端口
    • (2)比较端口优先级+端口序号,端口序号越小,优先级越大,越是能成为指定端口
      • 端口优先级默认128,
      • 端口优先级的表示(前4bit是接口优先级、低12bit是接口编号)
      • 128.22[默认优先级128,接口号e0/0/22]
      • 个别端口如eth-trunk接口会默认分配一个接口编号
      • 为什么端口优先级的步长是16?
      • 已知PID占位4个字节(16bit)
        • xxxx 0000,0000 0000
        • 前4bit为优先级,后12bit为端口编号
        • 当第4个x置1,以每8位为一组数,也就是0001 0000 = 16
        • 当第3个x置1,也就是0010 0000=32.0
    • (3)如果存在多台交换的时候,就需要结合根桥ROOT所在位置决定
    • 如图:因为LSW2的设备优先级更高,LSW3比不过设备优先级,所以其对应的端口将被阻塞。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS 父选择器,:has()

在CSS Selectors 4规范中,CSS 引入了一个名为 的新选择器:has(),它最终让我们可以选择父级。这意味着我们可以选择具有特定元素的父元素。目前Safari和Chrome105已经支持。 父选择器如何在 CSS 中工作 在 CSS 中,如果我们想要选择某些东西&a…

【Pygame小游戏】史上最全:《唐诗三百首》合集,每一首都是精华,果断收藏~(学诗+锻炼记忆+Python诗句填空小程序上线啦)

前言 岁岁年龄岁岁心,不负时光不负卿 哈喽!我是你们的栗子同学,今天给大家来点儿有趣的—— 有句话说:“读史使人明智,读诗使人灵秀。”唐诗本来就是中国文化的绚丽瑰宝,是每个人都 该学习的人生必修课。…

蚂蚁三面遭分布式血虐,意外收获史诗级分布式笔记手册,从基础到进阶收获满满

学习分布式系统设计的难题在于,这个过程存在一个环境障碍,工作中只有一些中大规模的互联网企业,才有开发大规模分布式系统的场景和需求。这就造成目前只有少数身在一线互联网公司的架构师和开发者,才有机会接触并掌握分布式系统设…

Spring Security入门学习

认识Spring Security Spring Security 是为基于 Spring 的应用程序提供声明式安全保护的安全性框架。Spring Security 提供了完整的安全性解决方案,它能够在 Web 请求级别和方法调用级别处理身份认证和授权。因为基于 Spring 框架,所以 Spring Security…

树莓派Pico开发板与大功率MOSFET/IGBT器件驱动控制24V直流电机技术实践

摘要:本文在介绍MOSFET器件和IGBT器件作为电子开关基本原理的基础上,讲述了Pico与MOSFET&IGBT器件驱动控制24V直流电机硬件接口技术,最后给出了Pico开发板GP15端口控制24V直流电机启停的MicroPython测试程序。 一、实验设备和元器件清单 …

[附源码]Nodejs计算机毕业设计基于Java的智慧停车软件Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

React 入门:实战案例 TodoList 对组件的 props 进行限制

文章目录安装 prop-types 库给组件的 props 添加限制给 Header 组件添加限制给 List 组件添加限制给 Item 组件添加限制验证 props 限制完整代码Header 组件完整代码List 组件完整代码Item 组件完整代码本文实现对组件的 props 进行属性的类型和必要性的限制。为什么要对 props…

双十二买什么数码产品比较值?入手超值的数码好物盘点

2022年双十二正式开启倒计时模式,最近看到很多人问什么数码产品值得入手。现如今,数码产品已经贯彻在我们生活的方方面面,在此,我来给大家盘点几款入手超值的数码好物,可以当个参考。 一、蓝牙耳机 推荐产品&#xf…

JUC(6) : LockSupport | 优雅的线程通信工具

一、前言 前文介绍了 CompletableFuture 和 线程池的几种对线程的管理方式后,本质上,通过这些工具,可以直接帮我们对线程进行很好的管理和运作,什么时间需要启动哪个线程,以及线程的执行顺序等。毕竟,线程…

视频监控在油气长输管道巡护管理的应用解决方案

一、方案背景 由于油气产地与消费中心位置的不一致性,常常需要采用长距离的油气管道运输。从偏僻的矿区到繁华的街市,管道架设的环境十分复杂,一旦发生危险,后果将不堪设想。因此,为确保管道安全运行,消除…

redis高可用之主从复制,哨兵,集群

目录 前言 一、主从复制 1、主从复制的作用 2、主从复制流程 3、部署Redis 主从复制步骤 3.1 环境准备 3.2 首先要搭建redis,并关闭防火墙 3.3 修改Redis 配置文件(Master节点操作) 3.4 修改Redis 配置文件(Slave节点操作) 3.5 验证主从效果 二、哨兵 1…

App逆向案例 X嘟牛 - Frida监听 WT-JS工具还原(一)

App逆向案例 X嘟牛 - Frida监听 & WT-JS工具还原(一) 提示:文章仅供参考,禁止用于非法途径; 文章目录App逆向案例 X嘟牛 - Frida监听 & WT-JS工具还原(一)前言一、资源推荐二、App抓包分…

基于android平台的语音机器人服务娱乐系统

分 类 号:TP311 学校代码:11460 学 号:10130920 本科生毕业论文 基于android平台的语音机器人服务娱乐系统 Robot Entertainment Service System Based on Android Platform 所在系(院): 学 生&…

如何通过快解析建设“智慧工地”,实现远程管理维护

A企业是我国某大型房地产企业,早在几年前就实现了全国化布局,目前除了住宅开发与销售、商用地产开发与销售及持有运营业务外,还涉猎房地产金融、物业服务与社区经营等领域。作为中国房地产的知名企业,从2020年起,A企业…

CentOS虚拟机搭建Hadoop集群

注:本文是对 https://www.bilibili.com/video/BV1CU4y1N7Sh 的实践。 环境 CentOS 7.7JDK 8Hadoop 3.3.0 准备 VMWare的网络设置:略。 准备好3台虚拟机,其IP地址分别为 192.168.88.151 、 192.168.88.152 、 192.168.88.153 &#xff0c…

RK3399 Android 8.1 开机动画制作全流程详解

文章目录一、开机动画包二、开机动画图片三、desc.txt编写规范四、开机动画临时生效五、开机动画内置系统一、开机动画包 N个文件夹和一个desc.txt。文件夹中是开机动画的图片资源,按照文件名顺序播放。desc.txt是开机动画的播放规范。压缩包必须是zip,…

力扣(LeetCode)1781. 所有子字符串美丽值之和(C++)

模拟 & 哈希集合 使用哈希集合,开字符集,下标对应小写字母顺序,值对应字符出现次数。 所有子字符串,根据示例看出,是连续子字符串。那么枚举起点,再枚举子字符串长度,就是所有连续子字符串…

web网页大作业:基于html设计与实现的茶文化网站12页(带psd)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

如何使用PyMySQL模块进行增删改查?

在正式动手之前,我们需要先安装 PyMySQL 模块。 (1)使用 pip 安装, 清华镜像: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql (2)使用 conda 安装 conda install pymysql Step2: …

毕业/课程设计——基于STM32的智能灯光控制系统(智能家居、手机APP控制、语音控制)

文章首先介绍本系统所包含的功能,主要包含六方面功能,之后逐步分享开发过程,其流程如下:点亮灯带(三极管)→调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添…