文章目录

  • 前言
  • 一、STP存在的问题
    • 问题一:设备运行初始化环境
    • 问题二:交换机有BP端口,RP端口down掉场景
    • 问题三:交换机无BP端口,RP端口down掉场景
    • 问题四:运行STP的交换机连接用户终端的场景
    • 问题五:STP的拓扑变更机制
    • 问题六:STP端口角色较多,转换复杂
  • RSTP对STP的改进
    • RSTP端口角色状态
    • RSTP快速收敛机制
      • P/A机制基本原理
      • P/A机制角色快速确认
      • 根端口快速切换机制
      • 次等BPDU报文的处理
      • 边缘端口的引入
    • 拓扑更变机制
  • 拓扑变化引发的问题
    • 拓扑变更处理
  • 保护功能
    • BPDU保护
    • 根保护
    • TC-BPDU泛洪保护
  • RSTP配置

前言

  STP协议虽然能够解决环路问题,但是由于网络拓扑收敛较慢,影响了用户通信质量,而且如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这也是用户无法忍受的。
  由于STP的不足,IEEE于2001年发布的802.1w标准定义了RSTP。RSTP在STP基础上进行了诸多改进优化,使得协议更加清晰、规范,同时也实现了二层网络拓扑的快速收敛。那STP协议具体存在哪些不足呢?RSTP协议是如何在STP协议的基础上进行优化的呢?


一、STP存在的问题

问题一:设备运行初始化环境

问题二:交换机有BP端口,RP端口down掉场景


  预备端口(BP)切换成根端口(RP),至少需要经过2个Forward Delay(30S)才能进入Forwarding(转发)状态。

问题三:交换机无BP端口,RP端口down掉场景


  SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50s。

问题四:运行STP的交换机连接用户终端的场景

问题五:STP的拓扑变更机制

  先由变更点朝根桥方向发送TCN消息,收到该消息的上游交换机就会回复TCA消息进行确认;最后TCN消息到达根桥后,再由根桥发送TC消息通知设备删除桥MAC地址表项,机制复杂,效率低下。

拓扑变更处理过程:
  在网络拓扑发生变化后,下游设备会不间断地向上游设备发送TCN BPDU报文。
  上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文。其它端口也有可能收到TCN BPDU报文,但不会处理。
  上游设备会把配置BPDU报文中的Flags的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。
  上游设备复制一份TCN BPDU报文,向根桥方向发送。
  重复上述步骤,直到根桥收到TCN BPDU报文。
  根桥把配置BPDU报文中的Flags的TC位置1后发送,通知下游设备直接删除桥MAC地址表项。

问题六:STP端口角色较多,转换复杂


  SWC的RP端口down掉后,还需要从其他三个端口中重新选举且需等待计时器超时后才能进入转发,角色状态的转换影响了STP的收敛速度。

RSTP对STP的改进

RSTP端口角色状态


  根据STP的不足,RSTP新增加了两种端口角色,并且把端口属性充分地按照状态和角色解耦,使得可以更加精确地描述端口,从而使得协议状态更加简便,同时也加快了拓扑收敛。通过端口角色的增补,简化了生成树协议的理解及部署。
从配置BPDU报文发送角度来看:
  Alternate Port就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。
  Backup Port就是由于学习到自己发送的配置BPDU报文而阻塞的端口。
从用户流量角度来看:
  Alternate Port提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
  Backup Port作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。
给一个RSTP域内所有端口分配角色的过程就是整个拓扑收敛的过程。

STP端口与RSTP端口对比,RSTP缩减到3种角色状态

RSTP快速收敛机制

P/A机制基本原理


  P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个Forward Delay,协商过程与STP一样。
  事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少两个Forward Delay,所有端口才能进行转发。
  本例中两台交换机SWA和SWB之间连接,由于SWA的BID是0,SWB的BID是4096 ,因为SWA会主动向SWB发送P置位的BPDU报文(此时的SWA的情况 Discarding 端口角色是DP) 当SWB收到之后同步变量(阻塞除边缘端口外的其他端口,防止出现环路),同步好之后 SWB会发送一个A置位的BPDU报文给SWA(SWB的情况 Forwarding RP端口),当SWA收到之后收到A置位BPDU报文,端口立即进入Forwarding。

P/A机制角色快速确认


  阶段一:设备刚刚启动,RSTP协议刚刚启用,所有交换机都认为自己是根桥,向其他交换机发送P置位的BPDU,并把发送P消息的端口变成DP口,同时接口处在Discarding状态。
  阶段二:交换机SWA收到SWB和SWC的P消息会置之不理,因为他的桥优先级最高。交换机SWB和SWC收到SWA的P消息后,由于认同SWA是最优的根桥,会根据P/A协商流程回复A消息,并把发送端口变成RP端口,同时接口处在Forwarding状态。
  阶段三:SWA与SWB,SWA与SWB的P/A协商已经完成,接下来是SWB和SWC的P/A协商。
  SWB和SWC都会发送根桥为SWA的P消息给对方。
  SWC收到SWB的P消息后,发现P消息里虽然根桥和自己认可的一样,但是发送者的桥优先级比自己高(SWB>SWC),所有马上停止发送P消息,但是由于已经有端口是RP口,也不会回A消息。
SWB收到SWC的P消息后,发现P消息里虽然根桥和自己认可的一样,但是发送者的桥优先级比自己低(SWB>SWC),会不停的发送P消息。
  以上状态在等待2个Forward Delay时间后,SWB端口为DP端口,处在Forwarding状态, SWC端口为AP端口,处在Discarding状态。
  实际上SWB与SWC之间的协商等同于退回到STP的模式,但是反正是Discarding状态,根本不影响其他业务转发。
  RSTP选举原理和STP本质上相同:选举根交换机-选举非根交换机上的根端口-选举指定端口-选举预备端口和备份端口。
  但是RSTP在选举的过程中加入了“发起请求-回复同意”(P/A机制)这种确认机制,由于每个步骤有确认就不需要依赖计时器来保证网络拓扑无环才去转发,只需要考虑BPDU发送报文并计算无环拓扑的时间(一般都是秒级)。

根端口快速切换机制


  SWC与SWA的直连链路down掉,其AP端口切换成RP端口并进入转发状态可在秒级时间内完成收敛,RP端口和DP端口快速切换机制,因为AP端口是RP端口备份,BP端口是DP端口备份。

次等BPDU报文的处理


  SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成。
  AP端口处理次优BPDU的不同,AP端口可以向发送次优BPDU的设备进行回应。

边缘端口的引入


  边缘端口的作用:一般是用于连接终端设备所设置的交换机的接口。
  特点:
   1)边缘端口一般直接与终端设备相连;
   2)边缘端口不参与RSTP计算但会向外发送BPDU报文;
   3)可以由disable状态直接转换成forwarding状态,且不延时;
   4)边缘端口收到配置BPDU报文,将丧失边缘端口的属性,成为普通的STP端口,参与RSTP计算,并重新计算生成树,从而导致网络震荡;

拓扑更变机制


一旦检测到拓扑发生变化,将进行如下处理:
  为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。
  其他交换设备接收到RST BPDU后,清空所有端口学习到MAC地址,除了收到RST BPDU的端口。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。 如此,网络中就会产生RST BPDU的泛洪。

拓扑变化引发的问题


  在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。
  网络拓扑改变可能会导致交换机的MAC地址表产生错误。
  如图所示,在稳定情况下,SWC的MAC地址表中对应PCA的MAC地址的端口是E1。如果SWB的E1端口发生了故障,而SWC的MAC地址表中与PCA的MAC地址对应的端口仍然是E1,则会导致数据转发丢失的问题。

拓扑变更处理

一旦检测到拓扑发生变化,首先将进行如下处理:
  清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

如图所示,SWB的E1端口出现故障之后,RSTP的处理过程如下:
  1)SWB重新计算生成树,选举E2为新的根端口,SWB删除MAC地址表中E1端口所对应的表项,生成树重新计算完成之后(需要进入转发状态的端口已经进入了转发状态),SWB的所有非边缘端口向外发送TC置位的RST BPDU。
  2)SWC接收到TC置位的BPDU报文,则会清空除了收到报文外的其他所有非边缘端口学习到的MAC地址,重新计算RSTP树,并复制一份BPDU报文向上游设备发送。
  3)SWA设备接收TC置位的BPDU,则会清除相关的MAC地址。

边缘端口down掉不会触发拓扑变更,而且故障恢复后,同样也不会触发拓扑变更。

保护功能

BPDU保护


  应用场景:防止有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到该报文时,会自动设置为非边缘端口,并重新进行生成树计算,引起网络震荡。
  实现原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭。

根保护

  应用场景:由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU,使得合法根桥失去根地位,从而引起网络拓扑结构的错误变动。
  实现原理:一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间,如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
Root保护功能只能在指定端口上配置生效

TC-BPDU泛洪保护


  启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的。
  在stp tc-protection interval指定的时间内,设备只会处理stp tc-protection threshold指定数量的拓扑变化报文,对于其他的报文会延迟处理,所以可能会影响生成树的收敛速度。例如,时间设定为10秒,阈值设定为5,则设备收到拓扑变化报文后,在10秒内只会处理最开始收到的5个拓扑变化报文,对于后面收到的报文则会等10秒超时后再统一处理。

RSTP配置

[SWA] stp enable                                 //全局开启STP
[SWA] stp mode rstp                                 //配置STP模式为RSTP
[SWA] stp root primary                              //配置SWA为根桥
[SWA] stp bpdu-protection                           //全局开启BPDU防护,配合边缘端口一起使用
[SWA-GigabitEthernet0/0/0] stp edged-port enable    //配置端口为边缘端口
<SWA>display stp brief                                //查看生成树信息

RSTP协议原理与配置相关推荐

  1. RSTP协议原理与配置整——RSTP对STP的改进

    1.端口角色与端口状态 端口角色的重新划分 RSTP定义了两种新的端口角色:备份端口(Backup Port)和预备端口(Alternate Port). 根据STP的不足,RSTP新增加了两种端口角 ...

  2. RSTP协议原理与配置整——RSTP配置实例

    RSTP配置需求 SWA.SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构. RSTP配置实现 配置实现: st ...

  3. OSPF协议原理及配置4-邻接关系的建立和LSDB同步

    OSPF协议原理及配置4-邻接关系的建立和LSDB同步 进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR.然后建立邻接关系,并交互链路状态通告,以使用LSDB ...

  4. 华为路由与交换 MPLS 协议原理与配置

    本次博客主要介绍MPLS协议原理与配置 MPLS(英语:Multi-Protocol Label Switching,缩写为MPLS)  多协议标签交换 90年代初,互联网流量快速增长,而由于当时硬件 ...

  5. HCNP学习笔记之OSPF协议原理及配置1-基础知识

    7.25日在济南博赛参加了HCNP的培训,感觉和HCDA不同,内容偏重理论,多而杂,现整理一下,和大家分享,也希望得到高手的指点. 先说下学习的感想和给初学者的建议: 学习的过程本身对自己就一种锻炼, ...

  6. PIM协议原理与配置

    PIM协议原理 PIM(Protocol Independent Multicast)协议无关组播,目前常用版本是PIMv2,PIM报文直接封装在IP报文中,协议号为103,PIMv2组播地址为224 ...

  7. OSPF协议原理与配置方法

    一.OSPF协议原理 OSPF是一种基于链路状态的路由协议,它从设计上就保证了无路由环路.它支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路.同时它还利用区域间的连接规则保 ...

  8. STP生成树协议原理及配置

    STP:SpanningTree Protocol,生成树协议. 作用:在实际的网络环境当一个物理环路可以提高网络的可靠性,当一条线路断掉的时候,另外一条链路仍然可以传输数据.但是在交换的网络中,当交 ...

  9. [计算机网络] --- RSTP运行原理及配置

    文章目录 前言 一.RSTP产生原因 二.RSTP相对于STP改进点 改进点1:端口角色 改进点2:端口状态 改进点3:配置 BPDU改为了 RST BPDU 改进点4:配置BPDU的处理 改进点5: ...

最新文章

  1. 网页从web服务器受到的威胁,[多选] Web从web服务器方面和浏览器方面受到的威胁主要来自()。...
  2. jQuery 结合 Json 提交数据到Webservice,并接收从Webservice返回的Json数据
  3. LeetCode 523. 连续的子数组和(求余 哈希)
  4. 数字图像处理图像反转的实现_使用8086微处理器反转16位数字
  5. cookie无法读取bdstoken_Web自动化测试:对cookie的操作
  6. Elastic-job 2.1.3 概述
  7. emolg模板PHP7,PHP7下安装Emlog5.3.1的笔记
  8. python image模块需要安装吗_python Image模块安装
  9. 车辆贷款违约预测 Top1(2021科大讯飞)
  10. 使用QEMU实现vexpress-ca9板卡的linux启动
  11. DevExpress.XtraTreeList.TreeList的DataSource属性使用注意事项.
  12. 局域网文件快传 暂记
  13. mac使用之必备神器
  14. [深度长文] 996的经济学
  15. 硬盘的修复(二)电脑引导出错的维护
  16. computed,watch
  17. Base编码(贝斯家族)
  18. 基于JSP的网上订餐管理系统的设计与实现
  19. AcWing 217. 绿豆蛙的归宿(期望dp)
  20. 同盾李晓林:打造互联互通机制,化解数据安全保护与数据共享矛盾

热门文章

  1. MFC中按钮对于键盘回车和空格响应,引发的问题
  2. 面试官的一句话点破了我:三年的前端经验只相当于人家一年的经验
  3. 长沙能够留住你的胃口的小吃!
  4. C语言源代码系列-管理系统之文件加密任务书
  5. 同学,这有一份「实践证明」请领取!
  6. 在外包干了三年,我废了...
  7. 经典九大排序(1)——简单排序
  8. Hbase入门到实战-连载六(Phoenix)
  9. 工作杂谈(十三)——方框里面打勾
  10. Oracle采用的数据模型,POSTGRES、ORACLE等数据库采用的数据模型面向对象的数据模型()...