STP Toolkit

快速收敛:

  • Port Fast

生成树安全:

  • Root Guard
  • BPDU Guard
  • BPDU Filter
  • Port Security

防环:

  • Loop Guard

Port Fast

该功能的配置分为全局和接口配置,在全局模式下,交换机的所有Access端口均会启用Port Fast功能。端口配置只对单一端口生效。

该功能不能配置在Trunk链路上,若配置在Trunk链路上,极有可能导致生成树环路的产生。

BPDU Filter

该功能同样也有全局与接口配置:

  • 全局(spanning-tree portfast bpdufilter default——Cisco命令)
  • 接口(spanning-tree bpdufilter enable——Cisco命令)

全局配置只会在启用了Port Fast功能的接口上启用,在全局模式下,交换机不会过滤传入的BPDU,但会过滤大多数(并不是全部)传出的BPDU。

当端口启动时,会发出一些BPDU,若收到了BPDU,Port Fast和BPDU Filter功能将被关闭,交换机将参与生成树计算。

接口配置将无条件的过滤传入和传出的BPDU,无论是PortFast状态还是Access或Trunk模式。这相当于在该端口关闭了STP,这十分危险。

BPDU Guard

该功能阻止端口接受BPDU。如果端口仍然受到BPDU,则将该端口置于err-disabled状态,如果配置的Port Fast端口收到了BPDU,则说明存在无效配置,该功能提供了对无效配置的安全响应,因为管理员需要手动设置才能才能将端口重新投入使用(该功能也能够防止外来的恶意BPDU攻击)。

该功能具有两种配置方法:

  • 全局配置(spanning-tree portfast bpduguard default——Cisco命令)

    • 启用状态取决于Port Fast状态。
  • 接口配置(spanning-tree bpduguard enable——Cisco命令)
    • 无条件启用BPDU Guard,无论是PortFast状态还是Access或Trunk模式。

有两种办法可以将端口从err-disabled状态转变为正常状态

  • 手动开启端口(no shutdown)
  • 使用 errdisable recovery cause bpduguard,配置err-disable状态自动恢复。 默认恢复间隔为 300 秒,但可以使用 errdisable recovery interval 命令更改。

Root Guard

根保护功能只能启用在指定端口上,该功能能够防止外来的恶意BPDU攻击。

  • 如果交换机在启用根保护的端口上收到更优的BPDU,根保护将会把端口移动到根不一致(root-inconsistent)的STP状态。
  • 这种根不一致状态处于实际上是Listening状态,没有流量能够通过这个端口转发,通过这个方式来守护根桥的位置。

Root Guard vs BPDU Guard

如果设备上启用了Port Fast,那么BPDU Guard会在接受BPDU时禁用此端口。它有效的禁用了此端口后面的设备参与STP。只有手动重新启用阻塞状态的端口,或者配置自动恢复的时间。

而Root Guard的作用是,只要设备不尝试成为根,就允许设备参与STP,该功能对端口阻塞的恢复是自动的,一旦违规设备停止发送更优的BPDU,端口就会被恢复。

Loop Guard

STP将物理拓扑上的冗余分解为无环路、树状拓扑。STP的最大问题是某些软件故障会导致它失败。

在下图的情况中,交换机B发送的BPDU无法到达交换机C,交换机C的端口转变为指定端口并开始转发数据,则形成了网络环路。

如果开启了Loop Guard功能,交换机C上的端口将在Max_age计时器到达后转换为loop-inconsistent的状态,该状态无法通过用户流量,自然也就不会产生环路(loop-inconsistent状态实际上就是Blocking状态)。该功能应开启在根端口和备用端口上。

生成树Toolkit的更多相关文章

  1. 图的生成树(森林)(克鲁斯卡尔Kruskal算法和普里姆Prim算法)、以及并查集的使用

    图的连通性问题:无向图的连通分量和生成树,所有顶点均由边连接在一起,但不存在回路的图. 设图 G=(V, E) 是个连通图,当从图任一顶点出发遍历图G 时,将边集 E(G) 分成两个集合 T(G) 和 ...

  2. 使用 Windows Phone Toolkit 的 Tilt 效果

    上一篇文章分享了如何使控件具有摁下的效果(在WindowsPhone中使控件具有Tilt效果),实现方式是在项目中添加新的类文件,其实,如果项目引用了Windows Phone Toolkit,那么就 ...

  3. Coding4Fun Toolkit支持本地化解决办法

    在项目中需要使用Coding4Fun Toolkit中的TimePicker控件, 1. 但是在中文系统下显示的却是英文: 2. 最后发现,需要在源代码中添加中文资源,并重新编译出包含中文语言的dll ...

  4. Windows Phone Toolkit 的 DatePicker 控件本地化的问题

    用到 The Windows Phone Toolkit 里的 DatePicker 控件,但是多语言的时候出现了问题: 手机设置为中文,虽然月份跟星期有效,但是 Title 却还是默认的语言:CHO ...

  5. C# extended toolkit propertygrid 隐藏部分属性

    该方法是通过更改ShowDetail的状态来实现的隐藏属性 首先在引用里右键 管理NuGet程序包 查找extended wpf toolkit 并安装 然后在MainWindow.xaml添加引用 ...

  6. 【ToolKit】轻量级JS库

    优点: 丢弃了一些不常用的方法(jQuery.fn):slideUp.fadeIn.animate等: 新增获取子节点的方法(ToolKit.fn):firstChild,lastChild等: 新增 ...

  7. C# 使用Silverlight toolkit Chart

    一.基础介绍 Silverlight ToolKit是微软发布的基于Microsoft-Public License(MS-PL)许可协议的控件集.MS-PL许可协议允许商业或非商业的发布,所以我们可 ...

  8. NOIP 2013 货车运输 最大生成树加DFS巧妙AC

    #include<set> #include<map> #include<cmath> #include<queue> #include<stac ...

  9. Enhanced Mitigation Experience Toolkit 软件安全性强化工具

    Enhanced Mitigation Experience Toolkit软件是微软为应对互联网中层出不穷的漏洞而推出的一款安全工具,可以在Window Update未获取到补丁前,对系统进行保护. ...

随机推荐

  1. 【Python自动化Excel】pandas操作Excel的“分分合合”

    话说Excel数据表,分久必合.合久必分.Excel数据表的"分"与"合"是日常办公中常见的操作.手动操作并不困难,但数据量大了之后,重复性操作往往会令人崩溃. ...

  2. ASP.NET Core 6框架揭秘实例演示[07]:文件系统

    ASP.NET Core应用具有很多读取文件的场景,如读取配置文件.静态Web资源文件(如CSS.JavaScript和图片文件等).MVC应用的视图文件,以及直接编译到程序集中的内嵌资源文件.这些文 ...

  3. 微服务从代码到k8s部署应有尽有系列(六、订单服务)

    我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中 ...

  4. 私有化轻量级持续集成部署方案--06-私有镜像仓库-Harbor

    提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 针对私有镜像仓库的问题,Docker 官方提供了搭建仓库服务的镜像服务:registry,使用此镜像就可以部署私有仓 ...

  5. Deep Upsupervised Cardinality Estimation 解读(2019 VLDB)

    Deep Upsupervised Cardinality Estimation 本篇博客是对Deep Upsupervised Cardinality Estimation的解读,原文连接为:htt ...

  6. Map<String,String>转Json转Base64

    Map<String,String> configMap = new HashMap<String,String>();System.out.println("JSO ...

  7. Maven目录结构, war目录结构

    Maven目录结构 src/main/java 存放java servlet类文件 src/main/webapp 存放jsp文件 war目录结构 Maven web项目目录结构

  8. Python:matplotlib.cm 色表

    官网:Choosing Colormaps in Matplotlib - Matplotlib 3.5.0 documentation Colormap与matplotlib.cm 我们以等高区域函 ...

  9. Qt:foreach

    0.说明 Qt提供一个关键字foreach(实际上是<QtGlobal>中定义的一个宏)用于方便地访问容器中的所有数据项. foreach关键字用于遍历容器中的所有数据项 注意 forea ...

  10. 居然可以像玩游戏一样学Git

    工作中经常用到 git,但是用到的指令也都是比较初级的.简单的.当时学习的过程也是有点痛苦.各种概念理解起来要么靠想象,要么自己创建工程提交记录,然后执行指令,看具体效果.这样学下来是事倍功半. 在搜 ...