HCIP-IE_Datacom 部署企业级路由交换网络 - RSTP 协议原理与配置

目录

RSTP 协议原理与配置

生成树计时器

前言

问题一:设备运行STP初始化场景

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

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

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

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

STP的其他不足之处 - 端口角色

STP的其他不足之处 - 端口状态

端口角色的重新划分

端口状态的重新划分

针对问题一:P/A机制(1)

针对问题一:P/A机制(2)

针对问题一:P/A机制(3)

针对问题二:根端口快速切换机制

针对问题三:次等BPDU处理机制

针对问题四:边缘端口的引入

针对问题五:拓扑变更机制的优化

拓扑变化引发的问题

拓扑变化处理(1)

拓扑变化处理(2)

拓扑变化处理(3)

拓扑变化处理(4)

BPDU保护(1)

BPDU保护(2)

根保护(1)

根保护(2)

TC-BPDU泛洪保护(1)

TC-BPDU泛洪保护(2)

RSTP配置需求

RSTP配置实现

RSTP配置验证(1)

RSTP配置验证(2)

思考题



 

RSTP 协议原理与配置

 IEEE,全称是 Institute of Electrical and Electronics Engineers ,电气和电子工程师协会 是一个国际性的电子技术与信息科学工程师的协会。

IEEE 于1980年2月成立了局域网标准委员会(简称IEEE 802委员会),专门从事局域网标准化工作,并制定了IEEE 802标准。

STP  :IEEE  802.1d
RSTP:IEEE  802.1w
MSTP:IEEE  802.1s

生成树计时器

生成树协议中用到 hello ,Forward delay  和 max age 这 3 个计时器,它们会影响端口状态迁移和收敛时间,可在全局使用命令修改。
调整计时器一定要在 根交换机上配置,其他交换机使用根桥交换机的计时器工作,根桥交换机的BPDU 中的计时器优于交换机本地计时器的配置。

hello timer :        2s    root每2s产生BPDU。根交换机产生的BPDU 的通告时间间隔
forward delay:  15s   设备状态迁移的延迟时间。
链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新拓扑信息无法立即传到整个网络。此时若立即将新选出的根端口和指定端口置于数据转发的状态,则可能会出现临时环路。这时要求新新选出的根端口和指定端口要经过2倍的 forward delay 后才能进入转发状态,这个延时足够保证新的配置消息能传遍整个网络。

max age:                20s 最大老化时间
储存BPDU的时间,spanning-tree发生故障,20s后原blocking状态->learning 状态
以非根桥的根接口为例,该设备将在这个接口上保存来自上游的最优BPDU ,这个BPDU 关联着一个最大生存时间,如果在该BPDU 到达最大生存时间之前,接口再一次收到了 BPDU ,那么其最大生存时间将会被重置,而如果接口一直没有再收到BPDU 从而导致该接口上保存的 BPDU 到达最大生存时间,那么该BPDU 将被老化,此时设备将重新在接口上选择最优 BPDU ,也就是重新进行根接口的选举。

max hop :                20
当一个BPDU 报文到达一个桥,又被该桥转发称为一跳,当BPDU 报文的跳数超过 max hop 时,该报文会被丢弃,该参数与网络规模相关。


前言

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

问题一:设备运行STP初始化场景

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

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

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

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

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

STP的其他不足之处 - 端口角色

STP的其他不足之处 - 端口状态

端口角色的重新划分

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

端口状态的重新划分

⦁    从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。

针对问题一:P/A机制(1)

⦁    Proposal/Agreement机制,其目的是使一个指定端口尽快进入Forwarding状态。
⦁    P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个Forward Delay,协商过程与STP一样。
⦁    事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少两个Forward Delay,所有端口才能进行转发。

针对问题一:P/A机制(2)

⦁    问题一的解决方案:
⦁    阶段一:设备刚刚启动,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状态,根本不影响其他业务转发。

针对问题一:P/A机制(3)

针对问题二:根端口快速切换机制

针对问题三:次等BPDU处理机制

针对问题四:边缘端口的引入

针对问题五:拓扑变更机制的优化

⦁    一旦检测到拓扑发生变化,将进行如下处理:
        ⦁    为本交换设备的所有非边缘指定端口启动一个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,则会导致数据转发丢失的问题。

拓扑变化处理(1)

⦁    一旦检测到拓扑发生变化,首先将进行如下处理:
        ⦁    清空状态发生变化的端口上学习到的MAC地址。
        ⦁    同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。
⦁    如图所示,SWB的E1端口出现故障之后,RSTP的处理过程如下:
        ⦁    SWB重新计算生成树,选举E2为新的根端口。
        ⦁    SWB删除MAC地址表中E1端口所对应的表项。
        ⦁    生成树重新计算完成之后(需要进入转发状态的端口已经进入了转发状态),SWB的所有非边缘端口向外发送TC置位的RST BPDU。

拓扑变化处理(2)

拓扑变化处理(3)

拓扑变化处理(4)

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

BPDU保护(1)

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

BPDU保护(2)

⦁    BPDU保护
        ⦁    实现原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭。

根保护(1)

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

根保护(2)

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

TC-BPDU泛洪保护(1)

⦁    TC-BPDU攻击:
        ⦁    交换机在接收到TC-BPDU报文后,会执行MAC地址表项的删除操作。如果有人伪造TC-BPDU报文恶意攻击交换机时,交换机短时间内会收到很多TC-BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患。

TC-BPDU泛洪保护(2)

⦁    TC-BPDU攻击保护:
        ⦁    启用防TC-BPDU报文攻击功能后,在单位时间内,RSTP进程处理TC类型BPDU报文的次数可配置(缺省的单位时间是2秒,缺省的处理次数是3次)。如果在单位时间内,RSTP进程在收到TC类型BPDU报文数量大于配置的阈值,那么RSTP进程只会处理阈值指定的次数;对于其他超出阈值的TC类型BPDU报文,定时器到期后,RSTP进程只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护交换机的目的。

RSTP配置需求

RSTP配置实现

⦁    配置实现:
        ⦁    stp enable    //全局开启STP
        ⦁    stp mode rstp    //配置STP模式为RSTP
        ⦁    stp root primary    //配置SWA为根桥
        ⦁    stp bpdu-protection     //全局开启BPDU防护,配合边缘端口一起使用
        ⦁    stp edged-port enable      //配置端口为边缘端口

RSTP配置验证(1)

RSTP配置验证(2)

思考题

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你可知这世上再难遇我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值