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. 基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

    一.板卡概述 本板卡系我公司自主研发,采用Xilinx公司的XCKU115-3-FLVF1924-E芯片作为主处理器,主要用于FPGA硬件加速.板卡设计满足工业级要求.如下图所示: 二.功能和技术指标 ...

  2. Jetpack的ViewModel与LiveData

    本文基于SDK 29 一.ViewModel与LiveData的作用: 1.viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据. 2.LiveDa ...

  3. Solution -「LOCAL」「cov. HDU 6864」找朋友

    \(\mathcal{Description}\)   Link.(几乎一致)   给定 \(n\) 个点 \(m\) 条边的仙人掌和起点 \(s\),边长度均为 \(1\).令 \(d(u)\) 表 ...

  4. Linux爱情故事之如何以不一样的姿势(ssh)进入她的心

    文章目录 1.ssh是谁,为什么要进入她的心 2.如何正确的扒拉ssh 2.1.ssh的常用参数 2.2.您配钥匙吗?(ssh生成公钥或者秘钥) 2.3.我要单向畅通无阻的进入你的心(ssh-copy ...

  5. splunk设置索引周期和索引大小

    步骤一: 编辑/opt/splunk/etc/apps/search/local/indexs.conf ,在每个索引下面 加入最后两行内容 [messages] coldPath = $SPLUNK ...

  6. 【C#表达式树 一】Expressions 命名空间 38个类 2个接口 3个枚举

    注解 抽象类 Expression 提供用于为表达式树建模的类层次结构的根. 此命名空间中派生自的类 Expression (例如 MemberExpression 和 ParameterExpres ...

  7. oracle 11g rac修改监听端口(远程监听和本地监听)

    转至:https://www.cnblogs.com/yj411511/p/12459533.html 目录 1.修改远程监听端口 1.1 查看远程监听状态 1.2 修改SCAN listener端口 ...

  8. Java:List(一)——概述

    说明 在集合类中,List是最基础的一种集合--有序List. List的行为和数组几乎相同:List内部按照放入元素先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组相同,都是 ...

  9. SyntaxError: keyword can't be an expression

    创建字典对象时: D1=dict('name'='Bob','age'=20,'score'=90) SyntaxError: keyword can't be an expression 解决方法: ...

  10. c语言刷 设计题合计

    355. 设计推特 #define MAX_LEN 512 struct User { int userId; int followee[MAX_LEN]; // 散列表,0/1,1表示这个user被 ...