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.hqwc.cn/news/268331.html

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

相关文章

Weblogic 数据库连接池溢出解决方法

引言 在信息运维工作中发现,由于部分应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池溢出,影响系统的稳定运行。其实Weblogic提供了数据库连接的回收机制,可以将超过配置时…

企业举办年会,可以邀请哪些媒体进行宣传?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 年关将至,筹办年会成为每个企业必做的事情,也是大家非常期待的年终大会,在我们策划年会时候,也要抓住最后宣传的机会。那么企业举办年会时…

MyBatis-Plus - 论自定义 BaseMapper 方法『逻辑删』失效解决方案

问题描述 在上一篇我们讲过 MyBatis-Plus - 论 1 个实体类被 N 个DAO 类绑定,导致 MP 特性(逻辑删)失效的解决方案-CSDN博客 所以在这个基础上,我们可以很好定位到源码的分析位置。 但是今天这个问题就更奇怪了,已经…

【Hive】——CLI客户端(bin/beeline,bin/hive)

1 HiveServer、HiveServer2 2 bin/hive 、bin/beeline 区别 3 bin/hive 客户端 hive-site.xml 配置远程 MateStore 地址 XML <?xml version"1.0" encoding"UTF-8" standalone"no"?> <?xml-stylesheet type"text/xsl" hre…

windows如何解决端口冲突(实用篇)

在项目设计中&#xff0c;环境配置成功点击运行瞬间&#xff0c;一大堆红爆出&#xff0c;8080端口占用&#xff0c;这个是很烦人的。。。 解决方式&#xff1a; 笨方法&#xff1a;一、查看所有端口实用情况&#xff08;挨个扫&#xff09; 按住【WINR】快捷键打开运行输入…

Vision Transformer模型架构详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

WordPress插件你好多莉( Hello Dolly )可否卸載

什么是你好多莉Hello Dolly WordPress插件 你好多莉是 WordPress插件 简单的预装在 WordPress 上。 如果您激活后者&#xff0c;它将显示出名曲的歌词“ 你好&#xff0c;多莉 “要 路易斯阿姆斯特朗. 您可能已经注意到&#xff0c;在阅读插件说明时&#xff0c;还不够清楚。 …

5G CPE可代替宽带,解决断网问题

最近某运营商就玩起了套餐&#xff0c;断用户的网。 老百姓对宽带半知不解&#xff0c;网络断了没法上网&#xff0c;很着急。因为相信运营商&#xff0c;维修人员怎么说&#xff0c;老百姓就怎么办呗&#xff0c;直到最后才发现自己上当&#xff0c;但钱都给了。 截至2023年9月…

thinkphp 使用array_reduce 处理返回的数据格式

我想要的效果&#xff1a; 不使用array_reduce 的效果 &#xff1a; 代码&#xff1a; public function teamList($userId,$good_id){$nowbuyers $this->order->where(good_id,$good_id)->count();$data GroupTotalOrder::alias(t_order)->where(merchant_Id,$u…

JVM虚拟机系统性学习-运行时数据区(虚拟机栈、本地方法栈)

虚拟机栈 虚拟机栈为每个线程所私有的&#xff0c;如下图&#xff1a; 栈帧是什么&#xff1f; 栈帧存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息 栈内存为线程私有的空间&#xff0c;每个方法在执行时都会创建一个栈帧&#xff0c;执行该方法时&…

Nginx首页修改及使用Nginx实现端口转发

按照我之前博客给的方法搭建好这样一个CTF靶场 但是呢它默认是在8000端口 如何直接访问IP地址或者域名就可以实现直接访问到靶场呢 我们需要将80端口的内容转发到8000&#xff0c;使用nginx实现端口转发功能 首先我们安装nginx&#xff1a; 安装工具和库 yum -y install gc…

【产品经理】需求池和版本树

在这个人人都是产品经理的时代&#xff0c;每位入行的产品人进阶速度与到达高度各有不同。本文作者结合自身三年产品行业的经历&#xff0c;根据案例拆解产品行业的极简研发过程、需求池、版本树、产品自我优化等相关具体方法论。 一、产品研发的极简过程 1. 产品概述 产品就…