华为---RSTP(一)---RSTP简介

news2024/11/17 23:44:21

目录

1. STP(Spanning Tree Protocol,生成树协议)的作用

2. STP的缺点

2.1 STP网络拓扑收敛慢

2.2 STP网络链路故障,端口状态切换慢

 2.3 终端链路参与STP网络运算,浪费网络资源

2.4 STP网络拓扑变更机制复杂,效率低下

2.5 STP交换机端口角色偏少,角色转换缓慢

2.6 STP交换机端口状态偏多

3. RSTP和STP的不同之处

4. RSTP和STP端口状态对比

5. RSTP的端口角色

6. RSTP的BPDU格式

7. RSTP的P(Proposal)/A(Agreement)机制(请求/确认机制)

8. RSTP根端口快速切换机制

9.  RSTP次优BPDU处理机制

10. RSTP引入边缘端口

11. RSTP拓扑改变处理机制

12. RSTP配置命令


RSTP(Rapid Spanning Tree Protocol )快速生成树协议:RSTP由IEEE 802.1D-1998标准定义的STP(Spanning Tree Protocol,生成树协议)改进而来,最早在IEEE 802.1W-2001中提出,并且在IEEE 802.1D-2004标准中替代了原来的STP协议。

1. STP(Spanning Tree Protocol,生成树协议)的作用

  • 消除二层环路---通过阻断冗余链路来消除网络中可能存在的环路。
  • 链路备份---当活动链路发生故障时,激活冗余链路,及时恢复网络连通性。

2. STP的缺点

2.1 STP网络拓扑收敛慢

STP从初始状态(启动)到完全收敛(正常转发数据)至少需要30秒时间。

  1. 初始时,交换机之间会相互发送、监听BPDU,并计算生成树;
  2. STP算法是否已收集全STP网的BPDU?是采用被动等待计时器超时的方式来判断的,而后再进行计算;
  3. STP在启动过程中为了避免出现临时环路,必须等待计时器超时(15秒延时),确保整个STP网络所有节点都接收到了BPDU,整个STP网络端口状态都已确定,才能进行下一步(Mac地址学习);
  4. 在STP交换机进入转发数居前,还要根据接收到的BPDU构建Mac地址表,必须等待计时器超时(15秒延时),确保整个STP网络所有节点都构建了自己的Mac地址表,才进行数据转发。

2.2 STP网络链路故障,端口状态切换慢

        1)直连链路故障

  SW-C交换机感知到根端口故障(关闭SW-C交换机GE 0/0/1端口),SW-C交换机STP端口都进入Discarding状态(按照STP的5种状态来说,进入侦听Listening状态),持续15秒;再从Discarding状态转变为Learning状态,此状态持续15秒,最后从Lerarning状态转变为Forwarding状态,开始转发数据。由上述所得,此故障需要30秒STP网络才能恢复。

        2)非直连链路故障


        SW-B交换机根端口故障(关闭SW-B交换机GE0/0/1端口),无法接收到根桥SW-A交换机的Configuration BPDU ,会认为自己是根桥,SW-B交换机发送自己的Configuration BPDU给SW-C交换机,SW-C交换机无法直接感知到其他交换机端口故障,SW-C的阻塞端口GE0/0/2收到SW-B交换机的Configuration BPDU信息后,和根桥SW-A交换机发来的Configuration BPDU相比,SW-B交换机发送的Configuration BPDU为次优(SW-C交换机发现有2个根桥,对优先级低的根桥信息不处理),不作处理,等待20秒(Configuration BPDU 的最大生存周期Max Age默认为20s)还没收到根桥SW-A交换机的Configuration BPDU,SW-C的阻塞端口GE0/0/2就从Blocking转变为Discarding状态(按照STP的5种状态来说,进入侦听Listening状态),转变为指定端口,转发根桥SW-A交换机发送的Configuration BPDU(SW-B交换机GE0/0/2端口由指定端口转变为根端口),持续15秒后,SW-C交换机GE0/0/2端口从Discarding状态(STP的侦听Listening状态)转变为Learning状态,持续15秒,从Lerarning状态转变为Forwarding状态,开始转发数据。由上述所得,此故障需要约50秒STP网络才能恢复。

 2.3 终端链路参与STP网络运算,浪费网络资源

        在STP网络中,连接终端的链路也要参与STP构建,要等待至少30秒才能进入数据转发状态;实际上,只要确保STP交换机端口下连接的是终端设备,就不会出现网络环路,所以终端链路没有必要参与STP构建,等待计时器超时浪费时间。

2.4 STP网络拓扑变更机制复杂,效率低下

        先由变更点朝根桥方向发送TCN消息,收到该消息的上游交换机就会回复TCA消息进行确认;最后TCN消息到达根桥后,再由根桥发送TC消息通知设备删除桥MAC地址表项,机制复杂,效率低下。如果网络中的拓扑结构变化频繁,网络会频繁地失去连通性。

2.5 STP交换机端口角色偏少,角色转换缓慢

2.6 STP交换机端口状态偏多

RSTP是STP的改进版本,消除环路的基本思想与STP一致,具备STP所有功能,兼容STP。

3. RSTP和STP的不同之处

  • 减少了端口状态;
  • 增加了端口角色;
  • BPDU格式和发送方式不同;
  • 能快速收敛网络拓扑。

4. RSTP和STP端口状态对比

说明RSTP端口状态STP端口状态说明
不能进行MAC地址学习和转发用户数据帧。丢弃(Discarding)去能(Disabled)无法接收和发送任何帧,端口处于关闭(down)状态
阻塞(Blocking)只能接收STP协议帧(BPDU),不能发送STP协议帧,不能转发用户数据帧。
侦听(Listening)能接收和发送STP协议帧,不能进行MAC地址学习和转发用户数据帧。
不能进行MAC地址学习,能转发用户数据帧。学习(Learning)学习(Learning)能接收和发送STP协议帧,能进行MAC地址学习,不能转发用户数据帧。
能进行MAC地址学习和转发用户数据帧。转发(Forwarding)转发(Forwarding)能接收和发送STP协议帧,能进行MAC地址学习,能转发用户数据帧。

5. RSTP的端口角色

端口角色描述
根端口
Root Port
非根交换机上到根交换机开销最小的端口,处于转发状态。
指定端口
Designated Port
转发所连接的网段发往根交换机方向的数据;
从根交换机发往所连网段的数据,处于转发状态。
预备端口
Alternate Port
根端口备份端口,不处于转发状态。
备份端口
Backup Port
指定端口备份端口,不处于转发状态。

举例说明

 

        以上图为例,所有交换机都在STP模式下。




        在STP模式下端口角色虽然有Backup和Alternate角色,但是不起作用。

        将拓扑图中所有交换机都设置为RSTP模式后:

        模拟SW3的根端口出现故障,预备端口立刻转换为根端口,如下图所示:

        模拟SW2的指定端口出现故障,备份端口快速转换为指定端口,如下图所示:

6. RSTP的BPDU格式

RSTP的BPDU和STP相比不同之处有:

  • Protocol Version ID变为2;
  • BPDU Type变为2;
  • 使用了Flags字段的全部8位。

        在RSTP BPDU的FIags字段中,除TC以及TCA标志位,还包含PIA标志位、端口状态标志位以及端口角色标志位。

7. RSTP的P(Proposal)/A(Agreement)机制(请求/确认机制)

        P/A机制        P:Proposal-协商        A:Agreement-同意
        P/A机制要求两台交换设备之间链路必须是点对点的全双工模式,一旦P/A协商不成功,指定端口到转发状态就需要等待两个转发延时(30秒),协商过程与STP一样。

        RSTP选举原理和STP本质上相同:选举根交换机->选举非根交换机上的根端口->选举指定端口->选举预备端口和备份端口。

        但是RSTP在选举的过程中加入了“发起请求-回复同意”(P/A机制)这种确认机制,由于每个步骤有确认就不需要依赖计时器来保证网络拓扑无环后才去转发,只需要考虑BPDU发送报文并计算无环拓扑的时间(一般都是秒级)。解决了STP网络收敛慢问题。

        以下图为例,抓包查看数据。


        shutdown掉SW1交换机(根桥)E 0/0/1端口,然后再undo shutdown掉SW1交换机E 0/0/1端口,在SW2交换机E 0/0/1端口抓包,所抓数据如下:

        重启SW1交换机(根桥)E 0/0/1端口后,SW1交换机E 0/0/1端口为Discarding状态的指定端口,并立即发起请求(发送P置位BPDU),SW2交换机E 0/0/1端口回复确认(发送A置位BPDU),SW1交换机E 0/0/1端口变为Forwarding状态指定端口,并发送TC(Topology Change拓扑改变确认)置位的BPDU,最后进入正常转发状态。

        shutdown掉SW2交换机E 0/0/1端口,然后再undo shutdown掉SW2交换机E 0/0/1端口,在SW1交换机E 0/0/1端口抓包,所抓数据如下:


        重启SW2交换机E 0/0/1端口后,SW2交换机E 0/0/1端口为Discarding状态的指定端口,并立即发起请求(发送P置位BPDU),SW1交换机E 0/0/1端口回复确认(发送A置位BPDU),SW2交换机E 0/0/1端口变为Forwarding状态的根端口,并发送TC(Topology Change)置位的BPDU,最后进入正常转发状态。

        P/A机制详解请看另外一边文章

8. RSTP根端口快速切换机制

        预备端口快速切换为根端口。

        直连链路故障,预备端口可快速切换成根端口并进入转发状态。

9.  RSTP次优BPDU处理机制

        预备端口快速切换为指定端口。

        非直连链路故障,预备端口可快速切换成指定端口并进入转发状态。

10. RSTP引入边缘端口

        RSTP交换机连接终端的边缘端口可立即进入转发状态。

        RSTP交换机连接终端的边缘端口可立即进入转发状态,边缘端口收到BPDU后,就丧失了边缘端口属性,成为普通STP端口,重新进行生成树计算。

11. RSTP拓扑改变处理机制

拓扑改变触发条件:

        只有非边缘端口转变为Forwarding状态时,产生拓扑改变。

拓扑改变处理步骤:

  • 在两倍Helo时间内向所有其它指定端口和根端口发送TC置位的BPDU报文;
  • 清除除接收到TC置位的BPDU端口外的所有指定端口和根端口学习的MAC地址。

        不适用TCN,STP网络收敛速度更快。

拓扑改变处理过程:

12. RSTP配置命令

命    令说    明
stp mode rstp配置RSTP模式
display stp显示RSTP配置信息和参数
stp edged-port enable配置某个端口为边缘端口
stp edged-port default配置所有端口为边缘端口
stp edged-port disable禁用边缘端口

        RSTP配置:华为VRP中,在STP和RSTP模式下,配置命令和显示命令没有任何差异。

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

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

相关文章

C语言之mkdtemp()特定占位符:XXXXXX 用法实例(八十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

网络原理 HTTP _ HTTPS

回顾 我们前面介绍了HTTP协议的请求和响应的基本结构 请求报文是由首行请求头空行正文来组成的 响应报文是由首行形影头空行响应正文组成的 我们也介绍了一定的请求头之中的键值对的属性 Host,Content-type,Content-length,User-agent,Referer,Cookie HTTP协议中的状态码 我们先…

nginx-------- 高性能的 Web服务端 (三) 验证模块 页面配置

一、http设置 1.1 验证模块 需要输入用户名和密码 htpasswd 此命令来自于 httpd-tools 包,如果没有安装 安装一下即可 也可以安装httpd 直接yum install httpd -y 也一样 第一次生成文件htpasswd -c 文件路径 姓名 交互式生成密码 htpasswd -bc 文…

【Vue3】学习computed计算属性

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Vision Transfomer系列第二节---Tricks测试

目录 学习式和固定式位置编码测试dropout的作用测试block深度的作用测试embeding维度大小的作用测试多头的作用测试Overlap Patch的作用 学习式和固定式位置编码测试 主要测试无位置编码\可学习位置编码和固定式位置编码的训练效果: 其中固定式位置编码采用之前博客的正余弦位…

动态规划算法学习(基础)

做题步骤: 确定dp数组的含义(一维或者二维) 获取递推公式 dp数组如何初始化 确定遍历顺序 打印dp数组(检查) 题目: 1. 斐波那契数 509 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 …

【C++】类和对象---友元,内部类,匿名对象详解

目录 友元 友元函数 友元类 内部类 匿名对象 ⭐友元 友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以 友元不宜多用。 友元分为:友元函数和友元类。 ⚡友元函数 先看一个问题&#x…

React18源码: Fiber树中的全局状态与双缓冲

Fiber树构造 在React运行时中,fiber树构造位于 react-reconciler 包在正式解读 fiber 树构造之前,再次回顾一下renconciler的4个阶段 1.输入阶段:衔接react-dom包,承接fiber更新请求2.注册调度任务:与调度中心(schedu…

Nginx网络服务四-----日志、Nginx压缩和ssl

1.自定义访问日志 如果访问出错---404,可以去看error.log日志信息 访问日志是记录客户端即用户的具体请求内容信息,而在全局配置模块中的error_log是记录nginx服务器运行时的日志保存路径和记录日志的level,因此两者是不同的,而且…

机器视觉【3】非线性求解相机几何参数

线性求解相机几何参数的缺点 上一章节介绍学习了(DLT)线性求解相机几何参数,了解到线性求解法当中比较明显的缺点: 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是,代数距离并不是…

Python入门学习——基础语法

一、Python解释器 1. Python解释器的作用是&#xff1a; 将Python代码翻译成计算机认识的O和1并提交计算机执行在解释器环境内可以一行行的执行我们输入的代码也可以使用解释器程序&#xff0c;去执行".py"代码文件 2. Python解释器程序在&#xff1a; <Python…

Jenkins详解

目录 一、Jenkins CI/CD 1、 Jenkins CI/CD 流程图 2、介绍 Jenkins 1、Jenkins概念 2、Jenkins目的 3、特性 4、产品发布流程 3、安装Jenkins 1、安装JDK 2、安装tomcat 3.安装maven 4安装jenkins 5.启动tomcat&#xff0c;并页面访问 5.添加节点 一、Jenkins CI/…

【Docker】免费使用的腾讯云容器镜像服务

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 1、设置密码 2、登录实例&#xff08;sudo docker login xxxxxx&#xff09; 3、新建命名空间&#xff08;每个命名空…

【Delphi 基础知识 35】MainMenu控件的详细使用

把TmenuMain放在Form后&#xff0c;右击控件就可以对菜单进行设计 菜单中添加分割线只需加“-”就可以添加一个分割线 级联菜单的设计 单击鼠标右键弹出菜单中选择Create Submenu菜单项 单选功能设计 要在设计的菜单项目中选择RadioItem属性为True&#xff0c;Checked属性…

使用logicflow流程图实例

一.背景 需要使用流程引擎开发项目&#xff0c;没有使用flowable、activiti这类的国外流程引擎&#xff0c;想使用国内的引擎二次开发&#xff0c;缺少单例模式的流程画图程序&#xff0c;都是vue、react、angluer的不适合&#xff0c;从网上找了antx6、logicflow、bpmn.js。感…

了解人工智能计算: 人工智能入门

回顾历史&#xff0c;各种数学仪器在人类进步的历程中发挥了重要作用。从算盘和六分仪到滑尺和计算机&#xff0c;这些工具推动贸易、助力航海&#xff0c;增强理解&#xff0c;并提高了我们的生活质量。然而&#xff0c;在科学和工业领域&#xff0c;推动我们前进的前沿且强大…

Redis 工具类 与 Redis 布隆过滤器

Redis 工具类 1. 核心依赖 <!--redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency><groupId>com.google.guava…

网卡本质,网络发展(局域网,广域网概念)

目录 引入 网卡的本质 网络的发展 引入 早期 局域网LAN&#xff08;Local Area Network&#xff09; 广域网WAN&#xff08;Wide Area Network&#xff09; 注意 引入 前面我们已经学习了很多关于linux系统的知识,其中文件系统和线程尤为繁杂 而网络其实也算系统的一部…

Vue监听器(上)之组合式watch

1. 定义监听器 //要监视的属性被改变时触发 watch(要监视的属性, (更改后的心值, 更改前的旧值) > {具体操作}, );//监视对象为getter的时候 //表达式内任意响应式属性被改变时触发 watch(() > return表达式, (表达式的新值, 表达式的旧值) > {具体操作} );//数组中任…

如何实现一个规则研究区域内数据的提取(matlab)

在利用经验正交分解&#xff08;EOF&#xff09;进行某一个研究区域分析时&#xff0c;我们需要将研究区域转换成N*M的矩阵&#xff0c;其中N为空间维度&#xff0c;M为时间维度&#xff0c;这意味着我们之前的数据加上时间维度是三维的&#xff0c;即&#xff08;lon,lat,rg&a…