快速生成树——RSTP

1.STP的不足

        虽然STP可以解决因为环路而造成的一系列问题,也可以使链路具有冗余的效果,但是当拓扑发生变时,收敛速度过慢,如果网络中因为一些问题导致拓扑经常发生变化,就会导致数据无法传输的断层现象。

        STP最快的收敛时间需要30秒,端口状态从listening转换到forwarding需要经历两个forward delay的延时。

2.RSTP对STP的改进

        2.1 BPDU的改进

        STP的BPDU中的flag字段只使用了最高位TCA位和最低位TC位,中间6个特比保留。RSTP的RST BPDU中,将8个字段都使用了起来。

flag位76543210
STPTCA保留TC
RSTPTCA

Agreement

ForwardingLearning

端口角色:

00:保留

01:RP

10:AP/BP

11:DP

ProposalTC

        2.2 端口角色的改进

        STP只有指定端口、根端口和阻塞端口三种端口角色,在RSTP中,新增了一些端口角色,可以更好的保证网络的稳定性。

协议端口角色
STPDP:指定端口,数据转发唯一路径
RP:非根到根的最优路径
阻塞端口
RSTPDP:指定端口,数据转发唯一路径
RP:非根到根的最优路径
AP:交替端口,备份根端口
BP:备份端口,备份指定端口
EP:边缘端口,连接不能处理BPDU的终端设备

                边缘端口的特性:

                1.边缘端口可以直接从discarding切换到forwarding状态。

                2.边缘端口不会触发TCN BPDU

                3.边缘端口不会转发TCN BPDU

                4.边缘端口不受P/A机制的影响

                5.边缘端口一旦收到BPDU就会丧失边缘端口的特点,为了防止环路,它就会成为一个普通的DP端口。

                6.边缘端口不收拓扑变更的影响。

        2.3 端口状态的改进

        在STP中,disabled、blocking和listening状态都是不能转发数据和学习MAC地址的,因此,RSTP把这三种端口状态结合位了一种——discarding状态。     

协议端口状态
STPdisabled:不收发BPDU,不学MAC,不转发数据
blocking:不发BPDU,收BPDU,不学MAC,不转发数据
listening:发BPDU,收BPDU,不学MAC,不转发数据
learning:发BPDU,收BPDU,学MAC,不转发数据
forwadring:发BPDU,收BPDU,学MAC,转发数据
RSTPdiscarding:发BPDU,收BPDU,不学MAC,不转发数据
learning:发BPDU,收BPDU,学MAC,不转发数据
forwadring:发BPDU,收BPDU,学MAC,转发数据

        2.4 RSTP对配置BPDU的改进

        在STP中,只有根才能产生配置BPDU,非根只能转发根的配置BPDU,配置BPDU只能“按跳“”传递,这就导致整体拓扑收敛速度比较慢。

        在RSTP中,每个设备都可以产生配置BPDU进行泛洪,大大缩短了拓扑收敛的时间。

3.RSTP的快速收敛——P/A机制

        RSTP的快速收敛是通过P/A机制来实现的,即使用flag位中的Agreement和Proposal。

        P/A机制的前提条件时端口P2P类型的端口,全双工模式默认是P2P,半双工模式不是P2P。

        P/A机制协商过程:

                当SW1和SW3之间链路起来以后,都认为自己是根,所有端口都是DP端口的discarding状态。两边互相发送配置BPDU,SW1比SW3优,因此会发送P=1,A=1的BPDU给SW3,SW3收到以后,停止发送自己的配置BPDU,进入到同步状态,为了避免临时环路,会阻塞掉非边缘指定端口,同时G0/0/1接口秒切到RP的forwarding,并发送A=1的BPDU回复给SW1,SW1收到A=1的回复,端口立即进入到forwarding状态。

4.RSTP的链路切换 

        直连链路故障: 

         当SW1和SW3之间的链路出现故障时,SW3根据自身端口的状态变化,感知到拓扑发生改变,AP端口秒切为RP端口的forwarding状态。

          非直连链路故障:

         当SW1和SW2之间的链路出现故障时,SW2根据自身端口的状态变化,感知到拓扑发生改变,此时认为自己是根,G0/0/3端口进入到DP的discarding状态向SW3发送自己的P=1,A=1的配置BPDU,SW3收到次级BPDU,立即老化原来SW2发来的BPDU,AP端口转变为DP端口discarding状态,向SW2发送P=1,A=1的配置BPDU,SW2收到更优的BPDU,端口变为RP端口forwarding状态,进入同步状态,阻塞掉非边缘指定端口,EP端口不受影响,并发送A=1的BPDU回复给SW3,SW3收到A=1的回复,端口立即切换到DP的forwarding状态。

5.RSTP的保护机制

        5.1 根保护

        为了避免其他更优的交换机接入,造成根的抢占,可以在DP端口上配置根保护。当配置了根保护的指定端口收到更优的BPDU以后,端口状态会转换为discarding状态,不发送数据。在等待两个forward delay的延迟后仍然收不到更优的BPDU以后,端口状态会再切换成forwarding状态。

        根保护只在指定端口上配置才生效。

        5.2 BPDU保护

        边缘端口通常连接不能产生BPDU的终端设备上,为了避免更优的BPDU对拓扑造成冲击,通常在边缘端口配置BPDU的保护。一旦配置了BPDU保护的边缘端口收到了BPDU,就会自动shutdown,这是需要管理员手工UP端口,或者配置端口延迟自动UP。

        5.3 环路保护

        

        当设备因为拥塞导致收不到上游的BPDU时,就会进行根的抢占,认为自己是根,AP端口就会进入到DP端口的转发状态,此时就产生临时环路。

        在根端口是配置环路保护以后,设备因为拥塞导致收不到上游的BPDU时,根端口会进入到discarding状态,不转发数据,角色变为DP端口,而AP端口仍然保持阻塞状态。直到链路故障恢复或者链路不再拥塞,在进行协商收敛。

        环路保护只在根端口上配置才生效。

6.RSTP的配置

        实验拓扑:

         说明:让SW1成为根,为了避免根攻击抢占,在所有设备的指定端口配置根保护,同时SW2的G0/0/2接口连接的PC,配置为边缘端口,为了防止BPDU攻击,配置BPDU保护,一旦边缘端口收到BPDU,端口直接down。

SW1配置:

[sw1]stp mode rstp----设置STP模式为RSTP
[sw1]stp root primary----设置SW1为根

 SW2配置:

[sw2]stp mode rstp----设置STP模式为RSTP
[sw2]stp bpdu-protection----配置边缘端口的BPDU保护
[sw2-GigabitEthernet0/0/2]stp edged-port enable----配置端口为边缘端口

SW3配置:

        

[sw3]stp mode rstp----设置STP模式为RSTP
[sw3-GigabitEthernet0/0/2]stp root-protection----配置根保护

查看STP信息:

        

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值