华为---STP协议简介(一)

news2024/11/20 15:21:52

生成树协议简介

什么是生成树协议

        STP(Spanning Tree Protocol)是一种由交换机运行的、用来解决交换网络中环路问题的数据链路层协议。为提高网络可靠性,交换网络中通常会使用冗余链路,但是冗余链路会给交换网络带来环路风险,导致广播风暴以及MAC地址表不稳定等问题,影响用户通信质量。生成树协议STP可以在提高可靠性的同时又能避免环路带来的各种问题。

        注:屏蔽双绞线(ShieldedTwisted Pair)、信令转接点(SignalTransfer Point)等术语的缩写也是STP,应分清此 STP与彼 STP。


        没有冗余链路时,如上图所示某条链路出现故障,该链路交换机下的终端业务会中断。

        有冗余链路时,如上图所示某条链路出现故障,该链路交换机下的终端业务会中断,因为还有冗余链路保障网络连通;但是产生了环路。

生成树协议两个主要功能

  1. 消除环路:通过阻断冗余链路来消除网络中可能存在的环路。
  2. 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络通信。

网络环路产生的问题

        在有环路的交换网络中,会导致Mac地址表翻摆、广播风暴、多帧复制等问题。


名词解释

        桥(网桥):交换机早期的名字;
        桥(交换机)的Mac地址:每台交换机都有多个转发端口,每个端口有1个Mac地址,通常把端口编号最小的那个端口的Mac地址作为交换机的Mac地址;
        桥ID(BID):由桥优先级(2个字节,即16位二进制数)和桥Mac地址(6个字节,即48位二进制数)组成,优先级可以人为设置,取值范围是0~65535,步长为4096,默认为0x8000(十进制为32768);
        端口ID(PID):运行STP交换机的每个端口都有一个端口ID, 端口ID由端口优先级和端口号(即端口编号,如Ethernet0/0/3的端口编号为3)组成。 端口优先级取值范围是0到240, 步长为16, 即取值必须为16的整数倍,默认端口优先级为128;
        STP交换机:运行生成树协议的交换机;
        BPDU(Bridge Protocol Data Unit)网桥协议数据单元:是STP交换机相互交互的数据帧,BPDU是由STP交换机产生、交互和处理的,不是计算机等终端设备。


生成树协议工作原理

        STP协议的基本原理:在一个具有物理环路的交换网络中,交换机通过运行STP协议,自动生成一个没有环路的工作拓扑。该无环工作拓扑也称为STP树(STPTree),树节点为某些特定的交换机,树枝为某些特定的链路。一棵STP树包含唯一的一个根节点,任何一个节点到根节点的工作路径不但是唯一的,而且是最优的。当网络拓扑发生变化时,STP树也会发生相应变化。

生成树的产生过程

        交换网络中选举1台根桥(交换机) --> 非根桥(交换机)选举1个根端口 --> 选举指定端口 --> 阻塞剩余端口。

1.交换网络中选举1台根桥(交换机)

        根桥:网桥ID最小的为根桥,根桥是整个交换网络的逻辑中心,但不一定是物理中心,当网络拓扑发生变化时,根桥也可能发生变化。

        如上图所示,交换机默认优先级为32768,所有交换机优先级相同,则需要通过比较交换机Mac地址确定根桥,经过比较,交换机SW的BID最小,所以选举为根桥。

        如上图所示,对部分交换机优先级修改,交换机SW优先级最高(即,优先级值最小),交换机SW被选举为根桥。

2.非根桥(交换机)选举1个根端口

        根端口:是STP协议为非根桥选举出来的连接向根桥的端口,每台非根桥只能有1个根端口,根桥没有根端口。
       每台非根桥的STP交换机有多个用于连接网络的端口,通过比较每个连接网络端口的端口开销、端口对端网桥ID、端口对端端口ID来选举出1个根端口,以保证这个端口上的链路为到根桥的唯一1条最优路径。

        非根桥:没有被选举为根桥的STP交换机称为非根桥。
        端口的根路径开销(RPC-Root Path Cost):在运行STP协议的网络中,STP交换机端口到根桥的累计路径开销称为这个端口的根路径开销。
        端口的根路径开销与链路上的各个端口转发速率有关,端口转发速率越高开销越小。
        BID选举规则:先比较交换机优先级后比较交换机Mac地址,如果有1个优先级最高(优先级值最小)的交换机,则不需要再比较交换机Mac地址部分;如果有多个优先级最高(优先级值最小)的交换机,则需要再比较交换机Mac地址部分。
        PID选举规则:先比较交换机端口优先级后比较交换机端口号,如果有1个优先级最高(优先级值最小)的交换机端口,则不需要再比较交换机端口号部分;如果有多个优先级最高(优先级值最小)的交换机端口,则需要再比较交换机端口号部分。

SW4交换机根端口选举


如上图所示,SW4交换机到根桥SW有3条路径,路径开销分别为:

  1. SW4:GE 0/0/1-->SW:GE 0/0/2,SW4的E0/0/1端口路径开销为20000。
  2. SW4:GE 0/0/2-->SW2:GE0/0/2-->SW2:GE 0/0/1-->SW:GE 0/0/1
    SW4的E0/0/2端口路径开销为20000+20000=40000

  3. SW4:Ethernet 0/0/3-->SW3:Ethernet 0/0/2-->SW3:Ethernet 0/0/3-->SW2:Ethernet 0/0/2-->SW2:GE 0/0/1-->SW:GE 0/0/1
    SW4的E0/0/1端口路径开销为200000+200000+20000=420000

        注:从最后1条路径可以看出,路径开销不是SW4交换机和SW交换机之间的4个端口(SW3:Ethernet 0/0/2、SW3:Ethernet 0/0/3、SW2:Ethernet 0/0/2、SW2:GE 0/0/1)各自开销的累加,而是SW4交换机和SW交换机之间各个交换机之间路径(SW4-SW3、SW3-SW2、SW2-SW共3条路径)开销累加之和。

从3条路径开销得知SW4的GE 0/0/1端口路径开销最小,所以SW4交换机的根端口为GE 0/0/1。


SW3交换机根端口选举


如上图所示,SW3交换机到根桥SW有4条路径,路径开销分别为:

  1. SW3:E 0/0/2-->SW4:E 0/0/3-->SW4:GE 0/0/1-->SW:GE 0/0/2
    SW3的E 0/0/2端口路径开销为200000+20000=220000

  2. SW3:E 0/0/3-->SW2:E 0/0/2-->SW2:E 0/0/1-->SW:E 0/0/1
    SW3的E 0/0/3端口路径开销为200000+20000=220000

  3. SW3:E 0/0/3-->SW2:E 0/0/2-->SW2:GE 0/0/2-->SW4:GE 0/0/2-->SW4:GE 0/0/1-->SW:GE 0/0/2
    SW3的E 0/0/3端口路径开销为200000+20000+20000=240000

  4. SW3:E 0/0/2-->SW4:E 0/0/3-->SW4:GE 0/0/2-->SW2:GE 0/0/2-->SW2:GE 0/0/1-->SW:GE 0/0/1
    SW3的E 0/0/2端口路径开销为200000+20000+20000=240000

从4条路径开销得知SW4的E0/0/1端口路径开销最小的有2个,开销值都为220000,则需要比较BID(桥ID)来确定根端口。

SW3交换机去往根桥方向的相邻交换机ID为:SW2的ID为32768.4c1f-cc6b-343a,SW4的ID为32768.4c1f-cc6b-641e,SW2的BID小,则与SW2相连的SW3的E 0/0/3端口为SW3的根端口。


SW7交换机根端口选举

        SW7交换机到根桥SW有4条路径(跟SW3交换机相似,此处省略),端口路径开销和BID都相同,则需比较端口ID(PID)来确定根端口。

        SW7交换机去往根桥方向的相邻交换机端口ID为:SW3的Ethernet0/0/1端口ID为128.1,SW3的Ethernet0/0/4端口ID为128.4,SW3的Ethernet0/0/1端口ID小,则与SW3相连的SW7的E 0/0/1端口为SW7的根端口;
        如果手动修改SW3的Ethernet0/0/1端口ID为64.1,SW3的Ethernet0/0/4端口ID为48.4,SW3的Ethernet0/0/4端口优先级高(48<64),则与SW3相连的SW7的E 0/0/2端口为SW7的根端口;

        注:上图中,如果SW3和SW7之间用集线器HUB相连,则 SW7交换机Ethernet0/0/1端口和Ethernet0/0/2端口去往根桥方向的相邻交换机端口ID都为SW3的Ethernet0/0/1端口,PID是相同的,这种情况下则需要比较SW7自己的Ethernet0/0/1端口和Ethernet0/0/2端口PID来确定根端口。因为集线器HUB在实际应用中很少用,在此不再赘述。

3.选举指定端口

        指定端口用于确定除了根端口外要保留通信的端口,即连接两台STP交换机的两个端口,其中一个是指定端口,另外一个是根端口或者是阻塞端口。

指定端口举例说明

        上图按照根桥端口和根端口对端端口都是指定端口,标记出了部分指定端口;还剩下SW4:E0/0/3---SW3:E0/0/2、SW4:GE0/0/2---SW2:GE0/0/2、SW3:E0/0/1---SW7:E0/0/1共3条链路还没确定指定端口。

        按照端口根路径开销确定指定端口:
SW4:E0/0/3---SW3:E0/0/2链路:SW4:E0/0/3的RPC为20000,SW3:E0/0/2的RPC为220000,SW4:E0/0/3的RPC<SW3:E0/0/2的RPC,SW4:E0/0/3为指定端口。


SW4:GE0/0/2---SW2:GE0/0/2链路:SW4:GE0/0/2的RPC为20000,SW2:GE0/0/2的RPC为20000,SW4:GE0/0/2的RPC=SW3:GE0/0/2的RPC,需要比较各自交换机ID才能确定指定端口。SW2的ID为32768.4c1f-cc6b-343a,SW4的ID为32768.4c1f-cc6b-641e,SW2的BID小,则SW2:GE0/0/2为指定端口。

SW3:E0/0/1---SW7:E0/0/1链路:SW3:E0/0/1的RPC为220000,SW7:E0/0/1的RPC为420000,SW3:E0/0/1的RPC<SW7:E0/0/1的RPC,SW3:E0/0/1为指定端口。

4.阻塞剩余端口

        阻塞端口用于切断网络环路,在交换网络中,STP交换机通过交互BPDU消息,如果发现有环路,则选择地阻塞某些端口,最终将环路网络修改成逻辑上无环路的树形网络结构。

 

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

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

相关文章

Coupang真的好做吗?韩国Coupang入驻流程——站斧浏览器

coupang真的好做吗&#xff1f; Coupang自开放全球注册以来&#xff0c;一直备受跨境电商各平台卖家的关注&#xff0c;那么作为一颗跨境电商的新星&#xff0c;真的值得做吗&#xff1f; 不到一年的关注度遭到如此众多的跨境卖家追捧的平台&#xff0c;火是有他的原因的&…

【C++】C++STL详解(四)—— vector的模拟实现

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 【C】CSTL详解&#xff08;三&am…

pdf文件可以压缩大小吗?pdf压缩方法分享

在日常生活和工作中&#xff0c;我们经常需要处理大量的PDF文件。有时候&#xff0c;一个PDF文件的大小可能超过了几十MB&#xff0c;甚至无法通过电子邮件发送。那么&#xff0c;如何有效地压缩PDF文件大小呢&#xff1f;本文将为你介绍三个简单易行的方法&#xff0c;帮助你轻…

​2:DDD概念大白话

产品代码都给你看了&#xff0c;可别再说不会DDD&#xff08;二&#xff09;&#xff1a;DDD概念大白话 # 这是一个讲解DDD落地的文章系列&#xff0c;作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云&#xff08;https://www…

uni-app打包iOS ipa文件后不上架App store为用户提供下载解决过程记录

写在前面&#xff0c;itms-services协议是什么 itms-services协议是苹果提供的一种让iOS应用在用户设备上无线安装或升级的协议。 具体来说: itms-services表示iOS应用无线安装服务的URL方案,格式为:itms-services://?actiondownload-manifest&urlMANIFEST_URL其中MANIF…

28 WEB漏洞-XSS跨站之WAF绕过及安全修复

目录 常规WAF绕过思路标签语法替换特殊符号干扰提交方式更改垃圾数据溢出加密解密算法结合其他漏洞绕过 自动化工具说明强大的fuzzing引擎安全修复方案演示案例&#xff1a; 常规WAF绕过思路 标签语法替换 xss的效果可以由多个代码来实现&#xff0c;就类似于我们使用到的其它…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项&#xff1a;指定…

爬虫抓取数据超时是什么原因?如何解决爬虫抓取数据超时问题?

网络爬虫是一种自动化程序&#xff0c;它可以在互联网上抓取数据并将其存储在本地数据库中。然而&#xff0c;有时候&#xff0c;网络爬虫会遇到超时错误&#xff0c;导致无法成功抓取数据。那么&#xff0c;网络爬虫抓取数据显示超时是什么原因呢&#xff1f; 网络连接问题 网…

KMeans算法全面解析与应用案例

目录 一、聚类与KMeans介绍聚类的基础概念KMeans算法的重要性 二、KMeans算法原理数据集和特征空间距离度量算法步骤 三、KMeans案例实战案例背景&#xff1a;客户细分数据集说明Python实现代码输出与解释 四、KMeans的优缺点优点计算效率高算法简单易于实现 缺点需要预设K值对…

8.2 Jmeter if控制器使用

前提:jmeter脚本需要用到if控制器,if判断如果查询不到,则去新增。 1、添加if控制器 线程组-->逻辑控制器-->如果(if)控制器 1)、Expression (must evaluate to true or false) :表达式(值必须是true或false),也就是说,在右边文本框中输入的条件值必须是true 或…

矢量图形编辑软件illustrator 2023 mac软件特点

illustrator 2023 mac是一款矢量图形编辑软件&#xff0c;用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator mac软件特点 矢量图形&#xff1a;illustrator创建的图形是矢量图形&#xff0c;可以无限放大而不失真&#xff0c;这与像素图形编辑软件&am…

表名注解/主键注解/字段注解/乐观锁注解[MyBatis-Plus系列] - 第486篇

悟纤&#xff1a;师傅&#xff0c;脑瓜疼~ 师傅&#xff1a;徒儿这是怎么了&#xff1f; ​ 悟纤&#xff1a;师傅&#xff0c;你了解冷暴力吗&#xff1f; 师傅&#xff1a;略懂略懂。 悟纤&#xff1a;那冷暴力是怎么定义的&#xff1f; 师傅&#xff1a;冷暴力是暴力的一…

华为智能高校出口安全解决方案(2)

本文承接&#xff1a; https://qiuhualin.blog.csdn.net/article/details/131475315?spm1001.2014.3001.5502 重点讲解华为智能高校出口安全解决方案的基础网络安全&业务部署与优化的部署流程。 华为智能高校出口安全解决方案&#xff08;2&#xff09; 课程地址基础网络…

前端web常用的基础案例

html案例&#xff1a; <!DOCTYPE html> <html> <head><title>My Website</title> </head> <body><header><h1>Welcome to My Website</h1><nav><ul><li><a href"#">Home</a…

华为云API对话机器人CBS的魅力—要是有AI,我要做“李白”- 5分钟开发作诗机器人

云服务、API、SDK&#xff0c;调试&#xff0c;查看&#xff0c;我都行 阅读短文您可以学习到&#xff1a;人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…

【数据结构】排序合集(万字详解)

文章目录 前言插入排序希尔排序选择排序堆排序快速排序hoare原生版本挖坑法前后指针法三数取中优化随机数取key优化三路划分版非递归 归并排序递归非递归调整边界单次归并单次拷贝 总结 前言 排序&#xff0c;以字面意思来说就是通过特定的算法将一组或多组无序或者接近有序的…

Vue 组件开发总结

Vue 组件开发思路 1. 组件划分 首先&#xff0c;你需要明确定义组件的划分。将大型界面划分为小型、可重用的组件是一个关键步骤。这有助于提高代码的可维护性和可复用性。 2. 组件设计 在设计组件时&#xff0c;考虑组件的输入&#xff08;props&#xff09;和输出&#xf…

Redis_注册为服务

Redis注册服务 1、windowsR ---->services.msc 先查看服务中是否存在redis服务 不存在的话就找到redis解压目录 输入redis-server --service-install&#xff0c;展示如下即为成功 查看服务 此时已经注册成功服务。 卸载服务 使用redis-server --service-uninst…

攻防演练篇 | 企业安全运营之攻防演练——以攻促防

随着互联网技术的发展和企业信息化程度的提高&#xff0c;企业面临的网络安全威胁越来越多。**为了保护企业的信息安全&#xff0c;攻防演练已经成为企业安全运营中不可或缺的一部分。**攻击者通常会利用各种方法来破坏企业的安全系统和数据&#xff0c;因此企业需要像攻击者一…

蓝桥杯 题库 简单 每日十题 day9

01 特殊年份 问题描述 今年是2021年&#xff0c;2021这个数字非常特殊&#xff0c;它的千位和十位相等&#xff0c;个位比百位大1&#xff0c;我们称满足这样条件的年份为特殊年份。输入5个年份&#xff0c;请计算这里面有多少个特殊年份。 输入格式 输入5行&#xff0c;每行一…