9

HCNP Routing&Switching之RSTP保护 - Linux-1874

 2 years ago
source link: https://www.cnblogs.com/qiuhom-1874/p/16255918.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

HCNP Routing&Switching之RSTP保护

  前文我们了解了RSTP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16240348.html;今天我们来聊一聊RSTP保护相关话题;

  我们知道RSTP优化了STP收敛速度,同时也加入了边缘端口的机制,但是如果有人恶意使用stp特有的属性发起攻击,对于STP网络来说它也会造成网络不稳定;为了更好的保证RSTP协议在网络不稳定情况下,尽可能的保证流量的正常转发,在标准协议中新增了4中保护功能;

  1、BPDU保护

  提示:我们知道边缘端口的属性就是不参与stp计算,但是它一旦收到了BPDU,该属性也就失效;边缘端口正常情况下是不可能收到BPDU报文的,如果说边缘端口收到BPDU,说明要么是我们链锯接线有问题,要么是有人恶意攻击我们;如果我们没有开启边缘端口BPDU保护,对应边缘端口参与STP计算就会造成网络的震荡不稳定;

  提示:所谓BPDU保护就是针对边缘端口的,开启了边缘端口的BPDU保护,对应边缘端口一旦收到BPDU报文后,会立即把该端口shutdown;从而实现保护现有的stp网络不受边缘端口的影响而造成网络震荡;

  实验:如下拓扑,配置RSTP

  sw1的配置

ContractedBlock.gifExpandedBlockStart.gif

View Code

  sw2的配置

ContractedBlock.gifExpandedBlockStart.gif

View Code

  sw3的配置

ContractedBlock.gifExpandedBlockStart.gif

View Code

  验证rstp个端口角色和状态

  提示:可以看到现在三个交换机RSTP的角色和状态都符合我们的拓扑;

  插拔边缘端口,看看对应是否会对stp网络造成影响?

  提示:可以看到现在模拟插拔边缘端口,并不会对stp网络造成影响,因为边缘端口不参与stp计算;

  向边缘端口发送bpdu,看看对应端口是否会对stp网络造成影响呢?

  提示:我们使用sw4来发送bpdu,看看对应边缘端口收到bpdu后,是否会参与stp计算?

  提示:感觉开机配置SW4以后,对应没有发生什么变化;我们把sw4配置成root看看对应会发生变化吗?

  提示:可以看到现在我们插拔边缘接口,对应stp网络就会发生震荡;这说明 边缘接口收到BPUD后会参与计算;

  开启边缘接口BPDU保护

  验证:现在打开sw4的g0/0/1,看看对应链路是否会自动shutdown呢?

   提示:可以看到当我们把sw4的端口打开以后,对应sw2连接hub的链路就会down,这是sw2上开启了bpdu保护,对应边缘端口收到bpdu后,会立即将对应边缘端口软down;

  关闭sw4的1口,看看对应sw2的边缘接口会不会自动up起来呢?

  提示:可以看到对应关闭了Sw4的1口,对应sw2的边缘接口并没有up起来;这是因为默认我们没有配置error-down自动恢复;

  配置error-down自动恢复时间为30秒

  提示:系统默认error-down自动恢复时间范围是30-86400秒;

  查看error-down自动恢复

  提示:可以看到配置了error-down自动恢复时间,并开启了sw4接口后,对应sw2的边缘接口在30秒钟后启动一次边缘接口,如果边缘接口再次收到bpdu报文,对应又会产生error-down,对应端口又会shutdown,所以我们可以看到当error-down倒计时完了以后,对应链路会启动马上又断掉;

   2、根保护

  提示:我们知道如果在一个稳定的stp拓扑中加入一台交换机,并开启stp,对应拓扑就会发生变化,从而导致stp网络震荡;根对于stp来说尤其重要,所有跨交换机的访问流量都会经由根,如果有人恶意冒充stp的根不但对stp网络会造成震荡、次优路径,同时信息安全也得不到保障,为此RSTP协议中加入了根保护机制;

  提示:所谓根保护机制是指配置了根保护的接口,如果收到更优的RST BPDU,对应端口会进入阻塞状态,不再转发报文;如果一段时间内该端口没有收到更优的RST BPDU,对应端口又会恢复到正常转发状态;

  实验:还是以上拓扑,我们在sw2的g0/0/3口配置根保护

  提示:边缘接口不能配置根保护;

  删除sw2的边缘接口属性

  验证:开启sw4的g0/0/1口,发送更有的RST BPDU,看看对应端口是否会阻塞?

  提示:可以看到但我们把sw4口up起来后,对应sw2的3口就从转发变成了阻塞;这是因为sw2的3口配置了根保护,它收到更优的RST BPDU后,对应会触发根保护机制,将转发状态变成阻塞状态,不再转发数据,从而实现保护现有stp网络;

  关闭sw4的g0/0/1口,看看对应sw2的g0/0/3口是否会自动将状态恢复成转发状态呢?

  提示:可以看到当把sw4的g0/0/1口shutdown以后,对应sw2的g0/0/3口会等待一段时间,确定没有收到更优的RST BPDU以后,对应端口又会参与到stp计算中;这里需要注意,指定端口从阻塞状态转变为forwarding状态,会经由learning状态,而不是直接转变成forwarding状态;

  3、环路保护

  提示:所谓环路保护是指由于链路拥塞导致BPDU丢失,为了避免因链路拥塞导致stp拓扑发生变化,从而引起stp网络震荡;设置环路保护的端口当收不到上游交换机发送的BPDU报文时,环路保护机制就会生效;如果该端口参与了stp计算,则不论其角色如何,该端口在所有实例都处于discarding状态;

  配置环路保护的命令

  提示:环路保护和根保护是互斥的,配置了根保护的端口不能再配置环路保护;环路保护和根保护都是在对应端口模式下开启;开启了环路保护的端口,在查看端口状态的后面会有一个保护机制从none变为loop;

  4、TC保护

  提示:我们知道只要往STP拓扑上接入交换机并开启stp,对应stp网络都会发生拓扑变化从而引起网络震荡;拓扑变化对应交换机就会发送tc,大量的TC报文会导致整个网络的交换机频繁删除mac地址表项,从而给交换机和链路带来隐患;为了防止过多的TC报文影响网络稳定,RSTP协议中增加了tc保护;

  提示:所谓TC保护是指我们配置交换机在单位时间内处理单位数量的TC报文,如果超出配置单位时间处理的tc报文个数,对应交换机就处理TC报文;

  配置TC保护

  1、全局开启TC保护

  2、配置单位时间(处理频率),默认是2秒

  stp tc-protection interval 10,这个命令在华为的模拟器上没有,但真机有的机型是有的

  3、配置阀值(要处理的tc报文数量)默认是1个

  总结:各保护机制和应用的端口和作用

  RSTP保护推荐方案

  提示:在主根桥和备用根桥上开启根保护,在接入终端的交换机上开启边缘端口和BPDU保护,环路保护在交换机与交换机相连的根端口或备份端口上开启;

作者:Linux-1874
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK