HCIP---RSTP/MSTP

文章目录

  • 目录

    文章目录

    前言

    一.RSTP诞生背景

    二.RSTP对比STP的快速收敛机制

    端口角色变化

     接口状态变化

    RSTP-BPDU 

    指定端口- P/A机制

     BPDU发送变化

    端口状态快速切换 

    优化拓扑变更机制 

    三.MSTP

     MSTP诞生背景

    MSTP相关概念

    MSTP配置 

    总结


前言

    STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。


一.RSTP诞生背景

    它是STP的一种改进版本,旨在提高生成树协议的收敛速度和可靠性。在STP中,当网络出现链路故障时,需要重新计算生成树,这个过程可能需要几十秒或者几分钟的时间,导致网络中断或延迟非常长。相比之下,RSTP可以在1秒钟内快速检测到链路故障,并且在最短时间内重新计算生成树,从而减小网络中断或延迟的时间。

    RSTP的诞生背景主要是为了应对现代网络中复杂多变的拓扑结构和高速链路的需求,在提高网络性能的同时保证网络的可靠性和稳定性。

二.RSTP对比STP的快速收敛机制

端口角色变化

RSTP端口角色
根端口(RootPort)用于接收BPDU报文
指定端口(Designated Port)用于发送BPDU报文
替代端口(AlternatePort)

根端口的备份端口

特点:无需选举直接代替根端口进入转发状态

备份端口(BackUp)

指定端口的备份端口(学习自身发送的BPDU被阻塞的端口)

特点:无需选举直接代替指定端口进入转发状态

边缘端口

直接连接用户终端的端口

特点:不会出现环路,可直接进入转发状态

  •  替代端口拓扑

  • 备份端口拓扑

 接口状态变化

RSTP接口状态类型
丢弃(Discarding)不转发用户流量也不学习MAC地址
学习状态(Learning)不转发用户流量,但是学习MAC地址
转发状态(Forwarding)既转发用户流量又学习MAC地址

RSTP-BPDU 

RSTP--BPDU Type:0X02 

指定端口- P/A机制

RSTP在选举的过程中加入了“发起请求-回复同意”(P/A机制)确认机制,P/A机制要求两台交换设备之间链路必须是点对点的全双工模式,其目的是使一个指定端口尽快进入Forwarding状态。

SW1和SW2之间新添加了一条新链路,链路模式为点对点全双工,P/A机制协商过程如下:

  1. SWA和SWB根据收到的对端BPDU参数,选举端口角色,由于SWA的优先级高,选举结果为SWA的P0口为DP,SWB的P1口为RP。
  2. 交换机SWA的指定端口向SWB发送Proposal置1的BPDU,同时接口处在Discarding状态
  3. SWB收到Proposal后开始进行端口状态同步,将交换机上除接收Proposal的端口之外的所有端口全部置为Discarding状态,以保证RP端口进入Forwarding时没有环路存在。
  4. SWB完成同步后,P1端口状态可安全进入Forwarding并通告Agreement置1的BPDU报文给SWA。
  5. SWA上的P0端口收到Agreement置1的BPDU后,状态立即变为Forwarding。
  6. SWB继续向已经同步为DP/Discarding端口发送Proposal置1的BPDU,在下游各设备间继续进行新的P/A协商过程,直至计算到网络边缘。
 BPDU发送变化

    STP中只有根桥交换机会以2s为周期发送配置BPDU报文,而在RSTP环境中的所有交换机都会发送配置BPDU报文,并以超时时间(3倍周期时间--默认6s)为依据,判定邻居是否失效,不再以STP中MAC地址表20s的老化时间为依据。

端口状态快速切换 

  • RSTP中根端口与替代端口/指定端口与备份端口无需选举可直接切换并快速进入Forwarding状态。
  • 设置边缘端口可直接进入Forwarding状态的机制加快收敛。
  • BPDU保护机制:若误将拓扑中的正常接口配置为边缘端口,对端收到BPDU后自动还原回正常端口。
#边缘端口配置命令
[SW1-GiabitEthernet0/0/0]stp edged-port enable
#关闭边缘端口发送BPDU
#边缘端口连接用户终端,BPDU无任何作用,关闭BODU发送可降低链路负载
[SW1-GiabitEthernet0/0/0]stp bpdu-filter enable

优化拓扑变更机制 

    RSTP环境中的拓扑发生变化后,发生变更的设备直接向对端发送TC-BPDU并清空MAC地址表,对端设备收到TC-BPDU后,回复TCA-BPDU确认收到并清空本地MAC地址表。

    该机制中,变更设备无需逐级上传TCN-BPDU并等待根桥设备回复的TC-BPDU后再将MAC地址表老化时间变更为15s,变更设备可直接发送TC-BPDU并直接清空MAC地址表,可省去BPDU的传递时间以及MAC地址表老化时间,大大加快收敛时间。

三.MSTP

 MSTP诞生背景

IEEE 于2002年发布的802.1S标准定义了MSTP
RSTP和STP 缺点:

  • 同一局域网内所有的vlan共享一个生成树,无法在vlan间实现数据流量的负载均衡;
  • 链路利用率低,被阻塞的冗余链路不承载任何流量,造成了带宽的浪费,还可能造成部分vlan报文无法转发。
  • MSTP:MSTP兼容STP和RSTP,既可以快速收敛,又能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。
     

MSTP相关概念

   MSTP将生成树与VLAN相结合,设置VLAN与生成树的映射表。MSTP将一个或多个VLAN捆绑在同一个“实例”中,提高资源利用率。

   MSTP针对不同的实例设置了VLAN映射表(实例与生成树的映射关系),并将域名相同,修订等级相同,VLAN和实例映射关系相同的交换机方在一个域中,MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。

MSTP配置 

要求:存在10个VLAN,要求VLAN 1-5 划分到instence 1 中,以SW1作为根,SW2作为备份根。

          VLAN 6-10 划分到instence 2中,以SW2 作为根,SW1作为备份根。

#批量创建VLAN
[se1]vlan batch 2 to 10
[sw2]vlan batch 2 to 10
[sw3]vlan batch 2 to 10
#设备链路类型
[se1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/2
[se1-port-group]port link-type trunk 
[se1-port-group]port trunk allow-pass vlan all[sw2]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/2
[sw2-port-group]port link-type trunk 
[sw2-port-group]port trunk allow-pass vlan all[sw3]port-group group-member GigabitEthernet 0/0/1 to g 0/0/2
[sw3-port-group]port link-type trunk
[sw3-port-group]port trunk allow-pass vlan all #修改生成树模式
[se1]stp mode mstp
[sw2]stp mode mstp
[s23]stp mode mstp#配置MSTP域#进入MSTP域视图
[se1]stp region-configuration
#修改域名
[se1-mst-region]region-name aa
#创建实例并划入VLAN
[se1-mst-region]instance 1 vlan 1 to 5
[se1-mst-region]instance 2 vlan 6 to 10
#激活配置
[se1-mst-region]active region-configuration [sw2]stp region-configuration 
[sw2-mst-region]region-name aa
[sw2-mst-region]instance 1 vlan 1 to 5
[sw2-mst-region]instance 2 vlan 2 to 5
[sw2-mst-region]active region-configuration [sw3]stp region-configuration
[sw3-mst-region] region-name aa
[sw3-mst-region] instance 1 vlan 1
[sw3-mst-region] instance 2 vlan 2 to 5
[sw3-mst-region] active region-configuration#干涉选举,使SW1成 为实例1的根桥,实例2的备份根
[se1]stp instance 1 root primary 
[se1]stp instance 2 root secondary 
  • 拓展配置 
#查看MSTO生成树域
[se1]dis stp region-configuration 
#修改修定等级 默认为0可不修改,只需保持一致即可
[sw2-mst-region]revision-level 1
#关闭MSTP的命令
[sw2]undo stp region-configuration

Region name域名
Revision level修订等级
Instance实例编号


总结

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

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

相关文章

TypeScript中的函数注释

一. 概览 函数注释主要分为显示注释、类型推断、隐式的any&#xff0c;现在来详细总结下 二. 显示注释 举个例子 let str1: string hello,jacklet intArr: number[] [1,2,3] let strArr&#xff1a;Array<string> [1,2,3]function test(a: number,b: number): num…

记录 | xftp远程连接两台windows

1、打开openssh 设置 -> 应用 -> 可选功能 -> 添加功能 -> OpenSSH 客户端&#xff0c;将 ssh 客户端安装将两台电脑的 ssh 开启&#xff0c;cmd 中输入 net start sshd2、配置 win10 账号密码 3、进行 xftp 连接

MATLAB安装

亲自验证有效&#xff0c;多谢这位网友的分享&#xff1a; https://blog.csdn.net/xiajinbiaolove/article/details/88907232

租一台服务器多少钱决定服务器的价格因素有哪些

租一台服务器多少钱决定服务器的价格因素有哪些 大家好我是艾西&#xff0c;服务器这个名词对于不从业网络行业的人们看说肯定还是比较陌生的。在21世纪这个时代发展迅速的年代服务器在现实生活中是不可缺少的一环&#xff0c;平时大家上网浏览自己想要查询的信息等都是需要服…

加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)

文章目录 &#x1f680;前言&#x1f680;异或运算以及与运算&#x1f680;加法的实现&#x1f680;减法的实现&#x1f680;乘法的实现&#x1f680;除法的实现 &#x1f680;前言 这也是阿辉开的新专栏&#xff0c;知识将会很零散不成体系&#xff0c;不过绝对干货满满&…

华为鸿蒙HarmonyOS应用开发者高级认证试题及答案

判断 1只要使用端云一体化的云端资源就需要支付费用&#xff08;错&#xff09; 2所有使用Component修饰的自定义组件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函数。&#xff08;错&#xff09; 3 HarmonyOS应用可以兼容OpenHarmony生态&#xff08;对…

多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现SAO-CNN-B…

CommonJs模块化实现原理ES Module模块化原理

CommonJs模块化实现原理 首先看一个案例 初始化项目 npm init npm i webpack -D目录结构如下&#xff1a; webpack.config.js const path require("path"); module.exports {mode: "development",entry: "./src/index.js",output: {path: p…

硬件开发笔记(十六):RK3568底板电路mipi摄像头接口原理图分析、mipi摄像头详解

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134922307 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

Redis缓存主要异常及解决方案

1 导读 Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。 2 异常类型 异常主要有 缓存雪崩 缓存穿透 缓…

【sqli靶场】第二关和第三关通关思路

目录 前言 一、sqli靶场第二关 1.1 判断注入类型 1.2 判断数据表中的列数 1.3 使用union联合查询 1.4 使用group_concat()函数 1.5 爆出users表中的列名 1.6 爆出users表中的数据 二、sqli靶场第三关 2.1 判断注入类型 2.2 观察报错 2.3 判断数据表中的列数 2.4 使用union联合…

Emutouch学习笔记

1 项目依赖 DeviceFarmer/minitouch 1.1 确认submodule引用的 commit ID git submodule status1.2 更新子模块到最新版本 git submodule init && git submodule update --remote

Android:监听开机广播自己唤醒

要通过代码获取安卓系统的开机广播消息&#xff0c;并在收到消息后拉起当前apk&#xff0c;您可以使用以下步骤&#xff1a; 创建一个广播接收器&#xff08;Broadcast Receiver&#xff09;来接收开机广播消息。在接收到开机广播消息时&#xff0c;您可以在接收器中编写代码来…

什么是 web 组态?web 组态与传统组态的区别是什么?

组态软件是一种用于控制和监控各种设备的软件&#xff0c;也是指在自动控制系统监控层一级的软件平台和开发环境。这类软件实际上也是一种通过灵活的组态方式&#xff0c;为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。通常用于工业控制&#xff0c;自动…

Spring Boot整合 Spring Security

Spring Boot整合 1、RBAC 权限模型 RBAC模型&#xff08;Role-Based Access Control&#xff1a;基于角色的访问控制&#xff09; 在RBAC模型里面&#xff0c;有3个基础组成部分&#xff0c;分别是&#xff1a;用户、角色和权限&#xff0c;它们之间的关系如下图所示 SELECT…

02.类模板

2、类模板 2.1 类模板语法 建立一个通用类&#xff0c;类中的成员、数据类型可以不具体制定&#xff0c;用一个虚拟的类型来代表。 template<typename T> // 类template&#xff1a;声明创建模板typename&#xff1a;表名其后面的符号是一种数据类型&#xff0c;可以用 …

【算法】算法题-20231211

这里写目录标题 一、387. 字符串中的第一个唯一字符二、1189. “气球” 的最大数量三、1221. 分割平衡字符串 一、387. 字符串中的第一个唯一字符 简单 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回…

算法通关村第十五关 | 青铜 | 用4KB内存寻找重复元素

处理海量数据的思路 1.使用位存储&#xff1a;占用的空间是存整数的 1/8 。 2.分块&#xff1a;也叫外部排序&#xff0c;将大文件划分为若干小块&#xff0c;先处理小块再逐步得到想要的结果&#xff0c;需要至少遍历两次全部序列&#xff0c;是用时间换空间的方法。 3.堆&…

Mockjs 增、删、改、查(分页、多条件查询)

查&#xff08;分页、多条件查询&#xff09;&#xff1a; 关键代码&#xff1a; Mock.mock(/vue-table-list/tableLinkage/list, post, (option) > {// console.log("&#x1f680; ~ file: tableLinkage.js:66 ~ Mock.mock ~ option:", option)const params J…

MFC画折线图,基于x64系统

由于项目的需要&#xff0c;需要画一个折线图。 传统的Teechart、MSChart、HighSpeedChart一般是只能配置在x86系统下&#xff0c;等到使用x64系统下运行就是会报出不知名的错误&#xff0c;这个地方让人很苦恼。 我在进行配置的过程之中&#xff0c;使用Teechart将x86配置好…