网络协议——STP协议是什么?是如何实现的?
作者:Insist--
个人主页:insist--个人主页
作者会持续更新网络知识和python基础知识,期待你的关注
目录
一、STP协议是什么
二、为什么需要STP协议
三、STP的实现过程
编辑
1、选举跟桥
2、给非跟桥交换机选举跟端口
3、给每个网段选举指定端口
4、阻塞预备端口
四、STP的应用
1 .企业网络
2.数据中心
前言
本文将给大家讲解STP协议是什么?是如何实现的?以及STP协议的应用场景。
一、STP协议是什么
STP(全称:Spanning Tree Protocol),翻译过来就是生成树协议,以太网交换网中,为了进行链路备份提高网络可靠性,通常会使用冗余链路,但是使用冗余链路会在交换网络上产生环路,引发广播风暴,以及MAC地址表不稳定等故障现象,从而导致用户通信质量差,甚至通信中断,为了解决网络中的环路问题,提出了生成树协议(STP)。
STP协议主要作用:
①逻辑上断开环路,防止广播风暴的产生。
②当线路故障,阻塞接口被激活,恢复通信,起到备份线路的作用。
二、为什么需要STP协议
上面说过,在二层网络中,为了提高网络可靠性,会在交换机之间建立多条链路,但通过这种方式建立的链路有一个非常致命的问题,那就是会产生环路。网络产生环路后,就会产生广播风暴和MAC地址震荡。而应用STP协议就可以解决这一问题。
三、STP的实现过程
下面将给大家讲解STP技术是怎样实现阻塞端口,从而防环的呢?
1、选举跟桥
如上图,让这三台交换机连接起来,开启STP技术后,三台交换机之间就会发送数据包(也叫BPDU),然后在BPDU里面比较它们的桥ID,桥ID包括它的优先级和Mac地址,优先级比较是越小越优,经过比较后,最优(最小)的就是跟桥。
2、给非跟桥交换机选举跟端口
根端口是非根桥交换机用来接收来自根桥交换机方向的BPDU,因此首先需要计算流量从根交换机到达非根交换机上的哪个端口开销( Cost )最小,简单来说就是,如果根交换机要发送BPDU到某台非根交换机,发送到该非根桥交换机的哪个端口最省时省力。如果开销都一样,再看每个端口上一级(及发送者)的桥ID,如果桥ID也一样,在比较上一级发送者的发送端口优先级,如果优先级一样,再比较发送端口的MAC地址。
3、给每个网段选举指定端口
根桥上的端口都是指定端口。在每个网段上,选择一个指定端口。在非根桥上的指定端口,选择要求是,根路径成本较低,所在交换机的网桥ID值较小,端口ID值较小。
4、阻塞预备端口
所有的端口都有自己的角色了,比如跟端口,指定端口等等,那么最后肯定还是有某个端口没有角色的,这个没有角色的端口就会被阻塞掉,这就是它的实现过程。
四、STP的应用
1 .企业网络
在企业网络中,STP协议是必不可少的。企业网络通常由多个交换机组成,如果没有STP协议的保护,就会出现环路,导致网络拥堵,甚至崩溃。STP协议可以自动计算网络中的最短路径,并将环路剔除,从而保证网络的正常运行。
2.数据中心
在数据中心中,STP协议同样是必不可少的。数据中心通常由大量的服务器和交换机组成,如果没有STP协议的保护,就会出现环路,导致数据中心的服务中断,影响业务的正常运行。STP协议可以自动计算网络中的最短路径,并将环路剔除,从而保证数据中心的正常运行。
相关文章:
网络协议——STP协议是什么?是如何实现的?
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、STP协议是什么 二、为什么需要STP协议 三、STP的实现过程 编辑 1、选举跟桥 2、给非跟桥交换机选举跟端口 3、给每个网段选…...
【C++】智能指针 学习总结 |std::shared_ptr |std::unique_ptr | std::weak_ptr
文章目录 前言一、智能指针介绍二、普通指针和智能指针的比较案例三、std::shared_ptr四、std::unique_ptr五、std::weak_ptr六、std::shared_ptr |std::unique_ptr | std::weak_ptr三大智能指针的区别 前言 参考答案:chatgpt 一、智能指针介绍 智能指针是C的一种…...
iptables防火墙
文章目录 一.linux防火墙基础1.linux 包过滤防火墙概述1.1netfilter1.2 iptables 2.包过滤的工作层次2.1 通信的五元素和四元素 3.iptables 的表、链结构3.1 规则链3.2 默认包括5种规则链3.3 规则表3.4 默认包括4个规则表 二.数据包过滤的匹配流程1.规则表之间的顺序2.规则链之…...
properties、yaml作为配置文件的特点
说明:在软件开发中,经常需要把一些配置写在文件中,如数据库配置、MyBatis配置等。这样,后续如果数据库参数有改动,就可以避免直接对代码做修改,只要修改配置文件中关于数据库的配置。关于配置文件的选择&am…...
JavaSE-03 【流程控制语句】
文章目录 JavaSE-03 【流程控制语句】第一章 流程控制1.1 流程概述1.2 顺序结构 第二章 判断语句2.1 判断语句---if2.2 判断语句---if...else2.3 判断语句---if...else if ... else 第三章 选择语句3.1 选择语句--switch3.2 case的穿透性 第四章 循环语句4.1 循环概述4.2 循环语…...
笔记本电脑的BIOS是怎么保护安全的?
随着攻防技术的不断演进,像BIOS攻击、高级网络代码攻击等手段层出不穷,“受害者”也不仅限于企业级服务器、存储,很多魔爪也开始伸向了拥有商业机密数据的PC。 BIOS是Basic Input/Output System(基本输入/输出系统)的…...
Xubuntu之将rm删除内容移至回收站(一百七十七)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
STM32F407实现1588v2(ptpd)
硬件: STM32F407ZGT6开发板 软件: VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example,因为和F407差别很小,所以就打算用这个demo移植到手头的开发板上。因为目前只需要…...
架构师如何找到自己的商业模式
作为一个架构师,必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等等,都是非常有限的。但架构活动就是要在这些限制条件之下&#…...
SQLServer2022安装(Windows),已验证
一、SQLServer2022下载 1、官网下载地址 SQL Server 下载 | Microsoft 2、下载安装包 2.1、选择Developer版本,立即下载。 2.2、打开下载文件夹,双击运行SQL2022-SSEI-Dev.exe 尝试运行SQL2022-SSEI-Dev.exe,会收到以下信息:“…...
facenet, dlib人脸识别,人体检测,云数据库mysql,QQ邮箱,手机验证码,语音播报
目录 部分代码展示: 录入部分 识别部分编辑 活体检测部分编辑 同步到云数据库MySQL 其他操作 部分图片展示: 完整代码加ui链接: 涉及到的一些知识点的文章 部分代码展示: 录入部分 识别部分 活体检测部分 同步到云数…...
Spring Boot 面试题——定时任务
目录 1.什么是 cron 表达式?如何使用?2.Scheduled 注解有什么作用?3.介绍一下 spring-boot-starter-quartz。4.在 Spring Boot 中如何实现定时任务?4.1.使用 Schedule 注解4.2.Quartz 框架 1.什么是 cron 表达式?如何使…...
总建面64万平,配3所幼儿园+54班九年制学校,坪山江岭竹元规划
近日,坪山区城市更新和土地整备局发布,关于《坪山区马峦街道江岭竹元片区城市更新单元规划》已通过深圳市城市规划委员会法定图则委员会审批。现予以公告。 项目位于坪山区马峦街道,南邻南坪快速路,北邻比亚迪路,东西两…...
python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹
目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2 直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因: 没有提前安装这个bs4 模块 2.3 如何提前知道我的python环境…...
windows平台python脚本执行环境搭建笔记
1.python脚本环境下载 这里是原始发布源: https://www.python.org/downloads/release/python-3114/https://www.python.org/downloads/release/python-3114/安装时记得添加进系统path,这样你可以随时调用python环境。 2.扩展模块的安装 step1.找到py…...
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
MyBatis的动态SQL 1、if标签的用法2、choose标签的用法3、where标签4、set标签5、trim的用法6、foreach标签7、bind标签 使用过JDBC或者是其他的ORM框架的开发者都知道,在很多操作中都需要去根据具体的条件进行SQL语句的拼接,并且在有些时候一些标点符号…...
基于Java+Springboot+Vue的二次元商城网站设计与实现
博主介绍:✌擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案…...
MyBatis操作数据库实现
说明:MyBatis是作用于三层架构开发,数据访问层(Data Access Object)的框架,用于访问数据库,对数据进行操作。 一、环境搭建 首先,创建一个SpringBoot模块,然后把MyBatis的环境搭建…...
Git GitLab 使用及规范
Git 基本操作 Git安装配置及基本使用 从官网下载安装包,手动完成安装。打开Git Bash命令行工具,执行命令ssh-keygen -t rsa -C Email-Addresss生成一个密钥对。登录到GitLab,点击右上角你的用户头像,点击Edit Profile settings&…...
【SpringCloud——Sentinel】
一、什么是雪崩? 微服务调用链路中的某个服务发生故障,引起整个链路中的所有微服务都不可用,这就是雪崩。 二、解决雪崩问题的常见措施 1、超时处理 设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休…...
LinkedIn内容自动化发布:基于Node.js与Playwright的实战指南
1. 项目概述:为什么我们需要一个LinkedIn帖子自动化工具?如果你在运营个人品牌、管理公司账号,或者从事市场营销、招聘工作,那么对LinkedIn这个平台一定不陌生。它早已不是单纯的求职网站,而是全球最大的职业社交与内容…...
5G与4G LTE互操作:无缝衔接,共筑通信新生态
5G与4G LTE互操作:无缝衔接,共筑通信新生态 在移动通信技术日新月异的今天,5G作为新一代通信技术,正逐步融入我们的生活,与4G LTE形成互补共存的局面。5G与4G LTE之间的互操作,不仅关乎用户体验的连续性&am…...
智算解构像素 实景生长孪生:摒弃人工建模冗余流程,开辟视频孪生快速规模化落地路径
智算解构像素 实景生长孪生副标题:摒弃人工建模冗余流程,开辟视频孪生快速规模化落地路径前言传统数字孪生落地始终深陷人工建模周期长、成本高、流程冗余、更新滞后的固化瓶颈。依赖外业测绘、人工描模、素材拼接、后期修模,环节繁琐、交付周…...
一本通题解——从递推公式到状态转移:破解“位数问题”中的数字计数
1. 从具体问题到通用模型:理解数字计数的本质 遇到"统计N位数中偶数个3的个数"这类问题时,很多初学者会陷入暴力枚举的思维陷阱。我刚开始刷题时也犯过这个错误——试图手动列出所有两位数来验证样例。这种方法的局限性在N1000时就会暴露无遗…...
LDO噪声特性分析与测量优化指南
1. LDO噪声特性与测量基础低噪声线性稳压器(LDO)作为电源管理系统的核心器件,其噪声特性直接影响着精密模拟电路、射频系统和传感器等关键模块的性能表现。与开关电源不同,LDO通过线性调节方式工作,避免了高频开关噪声…...
Windows Cleaner:如何系统性地解决Windows磁盘空间管理难题
Windows Cleaner:如何系统性地解决Windows磁盘空间管理难题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款基于Python和PyQt5框…...
Godot 4中构建真实水体渲染:从PBR原理到性能优化实践
1. 项目概述:从像素到波光,在Godot中构建真实水体如果你正在用Godot引擎开发一款开放世界游戏、一个宁静的模拟场景,或者任何需要水体表现的项目,那么“水”的质量几乎直接决定了场景的沉浸感上限。静态的、像果冻一样的平面贴图早…...
【c++面向对象编程】第3篇:类与对象(二):构造函数与析构函数
目录 一、一个让人头疼的问题 二、构造函数:对象出生时的“第一声啼哭” 1. 最基本的构造函数 2. 带参数的构造函数(重载) 3. 初始化列表:更高效的初始化方式 三、默认构造函数:那个“看不见”的函数 四、析构函…...
Java多线程:从入门到进阶
Java多线程:从入门到进阶 1. 引入:为什么需要多线程? 1.1 单线程的瓶颈 假设你要下载三个文件,单线程的做法是:一个个下载,总时间 文件1 文件2 文件3。 downloadFile1(); // 等待完成 downloadFile2();…...
企者不立,跨者不行,SAP UI5 开发里的克制、分寸与长久之道
老子这句话放到 SAP UI5 开发里看,并不是在劝开发者不进取,也不是叫我们少写功能、少做创新。它真正提醒的是,企业级前端开发最怕一种姿态,脚尖踮得很高,步子跨得很大,心里急着证明自己聪明,手上急着把每一个需求都做成个性化杰作。SAP UI5 最终运行在 SAP Fiori Launch…...
