RSTP快速生成树简介、RSTP与STP的区别、RSTP BPDU字段信息、RSTP角色与端口状态介绍、RSTP工作过程之P/A机制详细分解)

news2024/11/28 8:35:37

2.11.0 以太网 RSTP快速生成树(简介、RSTP与STP、RSTP BPDU、RSTP端口状态、RSTP工作过程之P/A机制)

RSTP快速生成树

  • 简介
  • RSTP、STP的区别
  • RSTP BPDU格式
    • RSTP与STP的兼容性
      • RSTP如何兼容STP?
  • RSTP端口状态
    • RSTP的5种端口角色
    • RSTP的3种端口状态
  • RSTP工作过程之P/A机制
    • P/A机制
    • P/A机制的工作过程


简介

RSTP(Rapid Spanning Tree Protocol )快速生成树协议。

 传统STP生成树在进行选举根桥与阻塞端口时需要等待30~50秒的时间才能完成收敛,在网络中等待如此长的时间是不可能的,为此RSTP诞生了,它之所以称为快速生成树指的就是它的收敛时间更快

RSTP、STP的区别

1、RSTP快速生成树,STP生成树,其最本质的区别就是RSTP具备了STP特点的同时通过P/A选举机制加快了STP的收敛。

2、在RSTP中,端口的角色端口状态变化也将有所改变:

  • 由STP的3种端口角色(RP、DP、BP)增加上了AP(Alternate Port)备用端口、EP(Edge Port)边缘端口角色。
  • 由STP的5种端口状态(禁用、阻塞、侦听、学习、转发)缩短成了(丢弃、学习、转发)。

3、在STP中根桥发送BPDU,非根桥进行转发BPDU。RSTP则是无论是根桥还是非根桥都会发送RSTP BPDU。

  • 非根桥将根桥发来的BPDU在本地进行保留/缓存一份,以Hello间隔为基准,定时发送保留/缓存的根桥BPDU。

4、RSTP BPDU超时由STP的20秒缩短到RSTP的18秒

  • 18秒 = Hello间隔(2秒) * 3 * Timer Factor(3秒)
  • Timer Factor:超时倍数,默认为3秒,可调整为1~10秒。

RSTP BPDU格式

  • 如何识别RSTP BPDU?
  • 1、通过PVI协议版本标识(Protocol Version Identifier)
    • 0:STP
    • 1:RSTP
    • 2:MSTP
  • 2、通过BPDU中的BPDU Type字段:
    • 0x00:STP BPDU
    • 0x80:TCN BPDU
    • 0x02:RST BPDU

在这里插入图片描述

RSTP与STP的兼容性

 当交换网络中存在RSTP与STP时,由于RSTP BPDU并不能被STP所处理,所以RSTP必须向下进行兼容STP。

RSTP如何兼容STP?

  • 运行RSTP的交换设备,只要在端口接收到STP BPDU,就会在一段时间之后将由RSTP端口转换成STP端口。
  • 转换成STP的端口只会发送和接收STP BPDU,并且不会进行P/A机制,与正常的STP一样进行工作。

RSTP端口状态

RSTP的5种端口角色

  • RP端口,根端口

  • DP端口,指定端口

  • BP端口,阻塞端口,与STP中的阻塞端口一致。

  • AP端口,备用端口,该端口是去往根桥的次优端口,可以理解为备用的RP端口,当RP失效,AP端口将成为新的RP。

  • EP端口,边缘端口,接入终端设备的端口并不需要发送BPDU,同时也为了保障交换网络的稳定性需要将终端接入端口设置为边缘端口。

    • 特性1,状态可直接进入Forwarding转发状态。
    • 特性2,不会主动向边缘端口发送RSTP BPDU。
    • 但边缘端口接收到STP/RSTP BPDU之后,将会转变回STP端口。
  • BP与AP端口的区别

    • 1、当RP故障之后,如果存在AP端口,该端口将马上转换成RP。
    • 2、当DP故障之后,如果存在BP端口,该端口将马上转换成DP。
      在这里插入图片描述

RSTP的3种端口状态

  • 丢弃(Discarding)
    • 代表着STP的禁用、阻塞、侦听状态。
    • 该状态下仅接收BPDU、不转发BPDU、不学习MAC、不转发用户数据。
    • :DP端口角色下,可发送BPDU。
  • 学习(Learning)
    • 该状态下,收发BPDU、学习MAC地址、不转发用户数据。
  • 转发(Forwarding)
    • 正常收发BPDU,学习MAC,转发用户数据。

RSTP工作过程之P/A机制

P/A机制用于加速端口状态的收敛,无需等待30秒,当网络拓扑变更之后,收敛时间大概的3~6秒左右,依据P/A机制而定,没有准确的数值。

P/A机制

  • P,指BPDU中 Flags字段的Proposal置位。P机制主要用于协商。

  • A,指BPDU中Flags字段的Agreement置位。A机制主要用于确认协商。

  • P/A机制要求两台交换机之间链路必须是点对点全双工模式。

在这里插入图片描述

P/A机制的工作过程

  1. 每台交换机启动RSTP之后,都认为自己是“根桥”,所有端口都为指定端口(已经指定的EP端口除外)都处于Discarding状态,然后向DP端口发送BPDU。

    • 你可能会疑惑端口状态为Discarding不是无法发送BPDU吗?
    • 结论:虽然Discarding状态下不发送BPDU,但如果端口角色为DP端口,Discarding将有权发送BPDU!
    • 解释:DP端口面向下游,远离根网桥。DP端口代表的下游去往根桥优方向(就像RP端口对端的就是DP端口),如果下游Sw没有接收到DP端口发来的BPDU,他会认为自己失去到根桥的路径,将会尝试寻找其他路径。
    • 参考Cisco社区的一些大佬回复:Do ports with discarding state in RSTP send BPDU?
  2. 由于LSW1优先级高,会对其它设备的BPDU消息置之不理,但可以通过收到的BPDU更加确认自己就是根桥。

    • 当LSW2、LSW3收到LSW1的BPDU将知道LSW1才是根桥,以此同时将停止发送自己的BPDU,接收缓存根桥的BPDU。
    • 成为根桥的LSW1将主动向下发送P置位的BPDU(Flags中的Proposal置位1)
  3. LSW2、LSW3确认根桥的同时可以收到根桥LSW1发来的P置位BPDU。接收P置位BPDU后,会将连接LSW1的端口切换为RP端口直接进入Forwarding转发状态,并将下游的非边缘端口阻塞(即DP端口阻塞)

    • 阻塞之后向根桥回复A置位BPDU(Flags中的Agreement置位1)
      在这里插入图片描述
  4. 以上是根桥与下游一层的设备进行交互PA机制,那么下游和下游设备又是如何交互的呢?

    RSTP与STP在发送BPDU上有所不同,STP只有根桥发送BPDU,RSTP中通过缓存根桥的BPDU然后间隔Hello时间主动向外发送根桥的BPDU。

    • 前面提到在设备启动RSTP之后,默认都处于DP端口,且为Discarding状态,主动向外发送BPDU。

      • 由于LSW2的E0/0/2收到了自己发出的BPDU,将由DP转换成BP(DP的备份端口角色)。
      • LSW3收到LSW2的BPDU,由于LSW2更具备优先级(即去根桥次优先,毕竟RP还存在),LSW3的E0/0/1、E0/0/2将成为AP端口。

在这里插入图片描述

  • 如果之前并没有选出端口角色,在根桥选举出来之后,LSW2到达Hello间隔之后,也会主动向DP端口发送P置位的BPDU(携带有根桥缓存信息)

    • LSW2的E0/0/2端口收到自己的P置位BPDU,将切换为BP角色。

    • LSW3从E0/0/1、E0/0/2收到P置位BPDU,将其BPDU信息缓存的根桥BPDU相比,发现没有E0/0/3口的优先,将不做回复,但将E0/0/1、E0/0/2口切换为AP角色(RP端口的备份)。

    • LSW2的DP端口发现没有回复A置位BPDU,将正常等待30秒之后切换为Forwarding状态。
      在这里插入图片描述

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

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

相关文章

Windows OS中关闭445 Port

445端口是什么? 445端口是一个毁誉参半的端口,它和139端口一起是IPC$入侵的主要通道。有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共…

Aba | 全自动biomarker分析神包!~(原作者用这个包发了三篇Nature啦~)

1写在前面 今天介绍一个Github上的神包吧, 主要是用于Biomarker的临床分析, 原作者用这个包已经发了3篇Nature了, 一起看看吧:👇 在一些针对Biomarker的临床研究中, 我们常常需对Biomarker进行模型拟合, 预测效果评估等等.🥰 这个包可以完美解决这些问题…

[附源码]Python计算机毕业设计SSM基于web的火车订票管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Ansible概述及命令行模块

目录 一、Ansible概述 1 Ansible是什么 2 Ansible的四个组件: 3 Ansible的特性 二、Ansible 环境安装部署 三、ansible常用的命令行模块 1 command模块 2 shell模块 3 cron模块 4 user模块 5 group模块 6 copy模块 7 file模块 8 hostname模块 9 ping模块 10 …

Web端H5播放FLV、HLS、MP4 (二)

使用video.js播放HLS、FLV、MP4。 MP4、FLV、HLS、RTMP等协协和播放器之间的支持情况,参看这里。 一、主要JS插件: jquery(v3.6.0) video.js (v7.21.0,其它版本没试) https://cdn.bootcdn.net/ajax/libs/video.js/7.21.0/video.min.js f…

基于FPGA的RGB转HSV图像算法设计

一、什么是HSV色彩空间? RGB色彩空间是基于三基色而言,即红色、绿色、蓝色。而HSV色彩空间则是基于色调、饱和度和亮度而言的。 色调(H)是指光的颜色,例如,彩虹中的赤,橙,黄&#…

如何自学黑客?自学黑客技术需要学多久?

问题一:黑客如何学起? 答:必须从学习者的角度来看,如果你是一个已经学过编程,通晓几门语言的人那么这个答案就会和一个从没有接触过的计算机,甚至连什么叫高级语言还不知道的人有所区别的对待。 这就像是登…

LeetCode題目笔记——面试题 01.01. 判定字符是否唯一

文章目录题目描述题目难度——简单方法一:使用集合代码/Python方法二——用一个数组代码/Python方法三——位运算代码/Python总结题目描述 实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 示例 1: 输入: s “leetcode” 输出: …

nvm 实战过程

文章目录前情提要应用场景实战解析最后前情提要 nvm是什么: nvm 全名 node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。 应用场景 在我们前端工程师的日常工作中,不免要与不同基于n…

解决JavaWeb报错:此处不允许注解

目录 前言必读 一、遇到问题 二、解决办法 前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一、遇到问题 1.在使用时候会发现报错为此处不允许使用注解,其实这是粗心和不熟练使用导致的 二、解决办法 2.把WebServlet("/ddd&…

【基于多尺度的融合:IVIF】

Infrared and visible image fusion via gradientlet filter (基于梯度波滤波器的红外与可见光图像融合) 本文从亮度和梯度分离的角度出发,提出了一种基于模糊梯度阈值函数和全局优化的图像滤波器梯度小波滤波器。它可以在保持图像的整体亮…

android aidl使用demo

android使用aidl原理 参考链接: https://www.twle.cn/l/yufei/android/android-basic-service-aidl.html 通过这部分代码, 加深对Android AIDL的理解 aidl server端 ILanguage.aidl 步骤: 在main目录下创建aidl文件夹, 并创建对应的包 com.example.aidl, 然后创建ILanguage.ai…

分享5款好用但一直不火的宝藏软件

很多软件用起来很好用,但是由于这样那样的原因,一直没什么知名度,但是不代表它们不好用,我的任务就是把这些宝藏分享给大家。 1.系统字体美化——MacType MacType是一款非常著名的系统字体美化软件,相比 GDI 更加容易…

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

背景介绍 最近的docker容器经常被kill掉,k8s中该节点的pod也被驱赶。 我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。 该容器会不…

操作系统之线程和进程

文章目录一. 什么是操作系统二. 进程和线程1. 进程2. 线程3. 进程的管理3.1 PBC中的一些属性3.2 并发和并行3.3 进程的调度3.4 内存管理3.5 进程间的通信3.6 并发编程4. 进程与线程的区别一. 什么是操作系统 操作系统本质上是一个软件, 发挥的是管理作用, 可以管理软件和硬件,…

《Python多人游戏项目实战》第二节 使用pickle模块序列化数据

目录 2.1 设置游戏窗口 2.2 实现人物移动的功能 2.3 编写服务端代码 2.4 完善客户端代码 2.5 完整代码下载地址 在本节,笔者会带大家开发一个联机版的人物移动程序,示例如下: 在上一节,客户端和服务端通信的JSON数据中包含玩…

CentOS7中安装字体库中文字体

若存在中文乱码的情况,这是因为操作系统中没有安装中文字体。 安装字体库 yum install fontconfig -y 安装更新字体命令 yum install mkfontscale -y添加中文字体 # 新建目录 mkdir /usr/share/fonts/chinese # 切换到中文字体目录下,上传windows里宋…

浅谈人工智能生成内容(AIGC)

兴趣了解 [OpenAI ]人工智能绘画产品 DALLE: 在计算机上输入一句话,DALLE 就能够理解这句话、然后自动生成一幅意思相应的图像,且该图像是全网首发、独一无二。[谷歌 ] 5400 亿参数大模型 PaLM: PaLM 的文本理解能力与逻辑推理能力大幅提升,…

[附源码]Nodejs计算机毕业设计基于web的校园闲置物品交易系统Express(程序+LW)

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

PyTorch中利用LSTMCell搭建多层LSTM实现时间序列预测

前言 前面已经写过不少时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)PyTorch搭建LSTM实现时间序列预测(负荷预测)PyTorch中利用LSTMCell搭建多层LSTM实现时间序列预测PyTorch搭建…