理解并演示:Root Guard(根保护)

本文截自于博主CCNP交换技术稿件内容

Root Guard是一种强制的根保护措施,它的作用是防止意外(或者非法)加入的交换机成为网络中的根桥,如图所示,原本交换环路中只存在S1、S2、S3时,正确的根桥应该是S1,因为它有最优势的BID(一般而言是因为MAC地址最小),如果此时在原本的交换环路中加入了一台更有优势BID的网桥比如new_S,此时它可能具备更小的网桥优先级,那么这台新加入的交换机new_S就可能成为原交换环路中的新的根桥,出现这种情况时,由于生成树的重计算(有时英文也在重配置),会直接导致原有的交换环路不稳定。比如图左边部分所示,在没有加入new_S这台潜在的非法网桥时,S1为根桥,S1的E0/0和E0/1都是指定端口;而S2的E0/0是根端口,E0/2为指定端口;S3的E0/1是根端口,E0/2是阻塞端口,至于为什么会是这样,笔者在CCNA部分的书稿有详细说明。当new_S这台潜在的非法交换机加入到原始的交换环路时,如图右边部分,一切将发生改变,生成树的稳定性将遭到破坏,此时new_S将成为新的根桥,因为它有更有优势的BID,new_S的E0/3是指定端口;S2的E0/3将变成根端口,E0/0和E0/2会变成指定端口;S1的E0/0变为根端口,E0/1变为指定端口;而S3的E0/2将变为根端口,E0/1将变为阻塞端口,而BPDU报文的流向也如虚箭头所绘会发生改变。

而Root Guard(根保护)的意义就是在S2的E0/3上强制它成为指定端口,就是当S2的E0/3接口收到比当前更有优势的BPDU报文时(就是指的new_S发来的BPDU报文),S2会将该端口转到一种叫root-inconsistent(不一致的根)状态,并且在这种状态下该端口会进入阻塞状态,流量肯定也不会从该端口转发,达到保护并强化了原环路中的根(S1)地位的目标,注意此时root-inconsistent的状态相当于生成树的监听状态,如果new_S这台潜在的非法根桥,不再发送BPDU报文给S2的E0/3接口,那么该接口将自动结束root-inconsistent(不一致的根)状态,并取消对该端口的阻塞。

演示:启动Root Guard(根保护)的配置及效果检测

演示目标:

ü  在没有根保护时,加入非法交换机的情况

ü  在启动根保护时,加入非法交换机的情况

演示环境:如上图所示的演示环境。

演示背景:首先让交换机S1、S2、S3形成稳定的环路,并观察它在这个原本稳定的环路中生成树的选举及计算情况,暂时不要让new_S交换机接入到当前的交换环境,但是可以先将new_S交换机的BID配置到最小,一般通过调整new_S的生成树优先级来实现,这样就可以模拟new_S为非法交换机,并希望自己成为整个交换网络的根,具体配置可以通过在new_S的全局模式下执行spanning-treevlan 1 priority 28672来模拟一个更有优势的BID。然后再将new_S接入环路,并再次观察生成树的选举及计算过程,明确并取证哪些不稳定的情况,最后再到S2的E0/3上部署Root Guard(根保护)功能,明确并取证根保护功能对非法接入交换机new_S的约束效果。

演示步骤:

第一步:首先构造S1、S2、S3之间的稳定环路,当生成树的计算完成后,在交换机S3上可以通过show spanning-tree指令来查看稳定环路中的根桥及相关端口状态,如图所示,不难看出当前的S3是认可S1为环路的根桥的,并且E0/2端口是被阻塞,关于这一点在前面的理论部分已经有详细的描述。

第二步:现在将new_S接入到S2的E0/3从而进一步进入整个交换环路中,并观察原始环路的生成树引发重计算的不稳定因素,当完成非法交换机的接入后,首先在new_S上查看自身的一些情况,如图所示,可看出new_S把自己选成环路上新的根桥,因为它有更优势的BID,并且它有E0/3端口为指定端口并处于转发状态中。

此时,不仅是new_S自己认同自己为环路中的新根桥,由于原始环路没有根保护功能,所以此时的S1、S2、S3都会认同非法接入的交换机new_S为新的根桥,比如在S3上执行showspanning-tree如图所示,可清晰的看到此时的S3出认可非法网桥new_S(aabb.cc00.0400)为新的根桥,并且以前的根端口(E0/1)现在变成了替代端口并处于阻塞状态,而以前的阻塞端口(E0/2)变成了当前的根端口,并处于转发状态,这就已经改变了原始生成树的拓扑构成,破坏了稳定性。

注意:现在将非法交换机New_S暂时从网络中取下,让环路恢复成只有S1、S2、S3的原始状态,确保S1是根桥,S3的E0/2再次被阻塞。为下一步检测Root Guard(根保护)的效果作好准备。

第三步:现在到交换机S2的E0/3接口(连接非法交换机new_S的接口)启动根保护功能,具体配置如下所示,然后可以通过在S2上执行showruning-config interface e0/3来查看当前E0/3接口上的根保护功能是否被开启,如图所示,明确根保护已经被成功开启。

启动根保护功能:

S2(config)#interfacee0/3

S2(config-if)#spanning-treeguard root   * 启动生成树的根保护

%SPANTREE-2-ROOTGUARD_CONFIG_CHANGE:Root guard enabled on port Ethernet0/3. *系统提示该接口根保护被启动

然后在完成上述的配置后,现在再次将非法交换机new_S连接到S2上的E0/3端口,因为new_S具备更优势的BID,如果S2的E0/3接收到这个更有优势的BPDU报文,将触发根保护功能,此时会发现,系统立即报告,根保护功能阻塞了S2的E0/3接口,具体显示如下:

关于根保护阻塞S2的E0/3接口的提示:

%SPANTREE-2-ROOTGUARD_BLOCK: Rootguard blocking port Ethernet0/3 on VLAN0001.

 

然后用户可以在S2上通过showspanning-tree inconsistentports,来查看生成树的不一致状态,如图所示,明显看出S2的E0/3接口被转为不一致的根状态,此时该端口将处于阻塞状态,这个时候用户可以回到原始环路中的交换机S3上,执行showspanning-tree再次查看生成树的状态,如图所示,很明显S1的根地位被强化,S3仍然认同S1为根,相应的端口状态也保持原始环路的计算结果。

理解并演示:Root Guard(根保护)相关推荐

  1. BPDU Guard, BPDU Filter, Root Guard, Loop Guard UDLD

    BPDU Guard:防止将交换设备意外连接到启用PortFast的端口. 将交换机连接到启用了PortFast的端口可能会导致第2层环路或拓扑更改. BPDU filtering:限制交换机向Acc ...

  2. STP Security之BPDU Filter、BPDU Guard、Root Guard

    STP Security BPDU Filter 定义 BPDU 过滤,用于实现对接口 < access > 的 BPDU 过滤. 原理 存在这样一种攻击方式,有一名黑客使用一台攻击机,通 ...

  3. RSTP的根保护功能

    简介 本文档介绍了RSTP协议中的根保护功能以及如何配置根保护功能,配置此功能有助于提高交换网络的可靠性.可管理性和安全性. 前提条件 本文档适用于S系列交换机所有版本的所有产品. 了解根保护 由于维 ...

  4. 华为交换机 STP MSTP BPDU保护 边缘端口 BPDU过滤 根保护 环路保护 TC保护

    生成树协议 STP        生成树协议 RSTP    快速生成树协议 MSTP    多生成树协议 一.原理 stp:Spanning Tree Protocol (生成树协议) 交换网络广播 ...

  5. BPDU Gard / BPDU Filter / Root Guard

    最后介绍3个小特性来结束STP: BPDU Guard主要是防止PortFast口错误接上交换机导致环路.PortFast口不应该接上交换机使得接收并发送BPDU,因此只要收到BPDU就将该PortF ...

  6. Root Guard - CCIE之Switching篇

    在所有可能连接新交换机的端口上开启,即使下面连接了优先级更高的交换机,端口会阻止其夺取根角色. 以下图为例来解释Root Guard的功能与作用: 在上图中,交换机SW1,SW2与SW3为网络中运行正 ...

  7. 思科模拟器如何给端口启用根保护

    拓扑图如下: 要求如下: 配置如下:SW-A交换机同理配置如下,进入端口F0/1-4,进行配置 配置如下:SW-A交换机同理,进入端口F0/1-4后,进行相关配置 根防护部分在这里 SW-2交换机连接 ...

  8. 数据结构--二叉树--路径 假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结

    假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结点和 node 结点).pat ...

  9. 理解并演示:思科的netflow功能(200-120新增考点)

    理解并实施思科的netflow功能 NetFlow是Cisco IOS软件中集成的一种功能,用来将网络流量记录到设备的高速缓存中,或者流量监管服务平台上,从而提供非常精准的流量测量,现在被其他的厂商大 ...

最新文章

  1. 国庆特惠!超全技术栈来袭!视觉/激光SLAM+点云处理+三维重建+多传感器融合...
  2. 是漏电,还是电磁辐射?
  3. CentOS 6.7 RPM安装MySQL
  4. Could not find codec parameters for stream 0 (Video: h264, none)
  5. java怎么导入一个项目到eclipse
  6. JUnit与EasyMock合作
  7. 坑爹的 Lombok,把我害惨了!
  8. eureka注册中心HA集群搭建
  9. Ubuntu 中的编程语言(中)
  10. Oracle Real Application Testing diagram
  11. Pinyin4j 汉字转拼音使用教程
  12. java 龙卷风_龙卷风在大约37000个请求后停止响应
  13. linux系统进入图文界面,Linux启动界面切换:图形界面-字符界面
  14. 使用mapreduce进行流量汇总程序开发
  15. 打开计算机 访问不到d盘,教大家电脑找不到d盘的原因及解决办法
  16. 【总结】Java 日期时间
  17. 3d游戏建模|3D电影、游戏角色是怎么制作的?
  18. 陪审团的人选(Python)
  19. linux下运行win10效果好不好,Win10不好用?继续坚守Win7的人依然巨多
  20. 「网络流 24 题」孤岛营救问题

热门文章

  1. nginx反向代理监听非80端口造成的端口丢失解决方案
  2. OSChina 周二乱弹 —— 最要命的编程语言?
  3. Windows2003 IIS6.0启用Gzip功能
  4. 在Windows平台架设DNS服务器
  5. 监控j服务器jvm运行情况 - spring boot jvisualvm
  6. 字段和字段的参数,查询的13个方法,但标的双下划线外键和多对多操作
  7. JavaScript原理学习
  8. Gym - 101334F 单调栈
  9. HTML5文本框灰体字
  10. Tomcat工作原理