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.rhkb.cn/news/216460.html

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

相关文章

软件测试之压力测试详解

一、什么是压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、…

es6从url中获取想要的参数

第一种方法 很古老,通过 split 方法慢慢截取,可行是可行但是这个方法有一个弊端,因为 split 是分割成数组了,只能按照下标的位置获取值,所以就是参数位置一旦发生变化,那么获取到的值也就错位了 let user…

LeetCode刷题--- 验证二叉搜索树

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 http://t.csdnimg.cn/ZxuNL个人专栏:力扣递归算法题 http://t.csdnimg.cn/ZxuNL 【C】 http://t.csdnimg.cn/c9twt 前言:这个专栏主要讲述递归递归、搜索与回溯算法&#x…

IDEA中工具条中的debug按钮不能用了显示灰色

IDEA中工具条中的debug按钮不能用了显示灰色 1. 问题描述 IDEA上的DEBUG按钮突然变成了灰色: 2. 解决办法 一通搜索,终于找到解决办法 点击 File -> Project Structure如下图操作 3. 重启,解决 4. 参考 https://www.cnblogs.com…

k8s上安装KubeSphere

🍩安装KubeSphere 🍪前置环境🍪安装nfs-server文件系统🍪配置nfs-client🍪配置默认存储🍪创建了一个存储类🍪metrics-server集群指标监控组件 🍪安装KubeSphere🍪执行安装…

基于ssm志愿者招募网站源码和论文

网络的广泛应用给生活带来了十分的便利。所以把志愿者招募管理与现在网络相结合,利用java技术建设志愿者招募网站,实现志愿者招募的信息化。对于进一步提高志愿者招募管理发展,丰富志愿者招募管理经验能起到不少的促进作用。 志愿者招募网站…

《三十一》开发模式构建工具 Vite

20的1小时59分 基于 Vite2。 在实际开发中,编写的代码往往是不能被浏览器直接识别的,例如 ES6、React、Vue、TypeScript 等,必须通过构建工具来对代码进行转换、编译,例如 Webpack、Rolluop、Vite 等。 Vite:下一代前…

docker 资源控制

Docker的资源控制 对容器使用宿主机的资源进行限制,如cpu,内存,磁盘I/O Docker使用linux自带的功能cgroup(control grouos)是linux内核系统提供的一种可以限制,记录,隔离进程组使用的物理资源 Docker借助这个机制&…

Python 小程序之动态进度条

动态进度条 文章目录 动态进度条前言一、显示效果二、基本思路1.引入库2.基本参数3.数据处理 三、数据处理1.计算完成百分比2.动态显示进度条3.打印完成时间 总结 前言 大家在下载东西的时候都会看到有一个动态的进度条在那里。进度条走完了也就下载完了。下面我写一个简易版的…

【音视频 | H.264】H.264编码详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

浅谈web性能测试

什么是性能测试? web性能应该注意些什么? 性能测试,简而言之就是模仿用户对一个系统进行大批量的操作,得出系统各项性能指标和性能瓶颈,并从中发现存在的问题,通过多方协助调优的过程。而web端的性能测试…

大数据机器学习与深度学习——回归模型评估

大数据机器学习与深度学习——回归模型评估 回归模型的性能的评价指标主要有:MAE(平均绝对误差)、MSE(平均平方误差)、RMSE(平方根误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏,这就需要用到R2_score。 平均绝对…

专业证件翻译哪里比较正规?

随着国际化的步伐不断加快,我们与国外的交流日益频繁,无论是出国留学、旅游还是商务活动,都离不开证件翻译。那么,在选择证件翻译服务时,我们应该注意哪些事项呢?哪里能找到正规的翻译服务呢? 我…

Python之Requests库使用总结

概述 Requests是python中一个很Pythonic的HTTP库,用于构建HTTP请求与解析响应 Requests开发哲学 Beautiful is better than ugly.(美丽优于丑陋) Explicit is better than implicit.(直白优于含蓄) Simple is better than complex.(简单优于复杂) Complex is bett…

winform使用CefSharp嵌入VUE网页并交互

1、NuGet添加CefSharp 如果下载慢或失败可以更新下载源 腾讯资源https://mirrors.cloud.tencent.com/nuget/华为资源https://repo.huaweicloud.com/repository/nuget/v3/index.json 2、将项目平台改为X64 3、在winform窗体添加cef using CefSharp; using CefSharp.WinForms; u…

【ret2hbp】一道板子测试题 和 SCTF2023 - sycrpg

前言 ret2hbp 主要是利用在内核版本 v6.2.0 之前,cpu_entry_area mapping 区域没有参与随机化的利用。其主要针对的场景如下: 1)存在任意地址读,泄漏内核地址 2)存在无数次任意地址写,泄漏内核地址并提权…

设计模式——观察者模式(Observer Pattern)

概述 观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称…

phpstudy搭建WordPress教程

一、phpstudy新建配置WordPress 打开phpstudy,启动Apache(或者Nginx)和MySQL服务 来到数据库部分,点击[创建数据库],填写新建数据库的名称,用户名以及密码,完成后点击确认 来到网站部分&#x…

C++STL的stack和queue(超详解)

文章目录 前言stack栈的题目最小栈JZ31 栈的压入、弹出序列 stack的模拟实现queue的模拟实现 前言 栈和队列这一块其实有数据结构的基础,学起来非常简单。 stack 栈的成员函数就这么写,除了emplace其他都已经非常熟悉了。 stack没有迭代器吗&#xff…

【Linux】锁的简单封装以及原理解析

文章目录 一、锁的原理过程1:过程2过程3过程4 二、 锁的简单封装1.LockGuard.hpp2.使用1.正常锁的使用2.使用封装后的 总结 一、锁的原理 为了实现互斥锁操作,大多数体系结构都提供了swap或exchange指令,该指令的作用是把寄存器和内存单元的数据相交换,由于只有一条…