标题生成树(STP)
一、生成树协议的的概述
1、会出现什么的情况
环路的现象
- 交换机端口指示灯以相同的频率快速的闪烁
- 交换机MAC地址震荡
- 交换机能资源耗尽登陆操作异常
环路的危害
- 链路堵塞不断地泛洪,链路被广播报文充斥
- 主机系统相应速度迟缓
- 二层交换机管理缓慢
- 冲击网关设备的CPU
2、二层冗余面临的问题
会一直广播泛洪,一直刷新MAC表,成环
解决方法:STP(虽然也可以用链路聚合和VSU虚拟化等技术消除环路但是针对故障环路STP最有效)
3、STP概述
就是将一个环形的拓扑修剪成树形,先走一边,当一边出问题了就走另一边
二、STP的原理和配置
1、STP的工作过程
- 选举根桥(bridge id - mac)
- 选举根端口RP(cost值-rbidge id-mac-port id-端口号)
- 选举指定端口DP(cost值-rbidge id-port id)
- 剩余端口阻塞
总之越小越优先,相等在比较下一个
交换机开始stp配置优先级的命令
spanning-tree mode stp
spanning-tree
spanning-tree priority <0-61440>
修改cost值和端口优先级的命令
spanning-tree cosr <1-200000000> //cost值
spanning-tree poet-priority <0-240> //端口优先级
2、STP端口的状态
- Disabled 不收发任何报文
- Listening 不接收或转发数据,接收并发送BPDU,不进行地址学习
- Learning 不接收或转发数据,接收并发送BPDU,开始地址学习
- Blocking 不接收或转发数据,接收但不发送BPDU,不进行地址学习
- Forwarding 接收并转发数据,接收并发送BPDU,进行地址学习
3、TCN-BPDU
当拓扑发生了改变,将生成一个新的TCN-BPDU发送到根桥,根桥广播给所有的非根桥新的拓扑变化(topology change),重新学习mac地址
4、STP重新收敛的过程
-
直连 30S 两个delay的时间
-
非直连 50S 两个delay加上一个重新加载mac的时间
三、STP的高级特性
1、port fast(端口快速)
终端的接入端口配置port fast可以减少30S的等待时间直接进入转发状态,而且不会收到bpdu
interface gig... g0/1
spanning-tree portfast
2、BPDU guard(bpdu防守)
防止不接受bpdu的接口收到了bpdu,接收到了bpdu直接error-disabled,但是可以发出bpdu
假如说开了port fast的接口还收到了bpdu说明了接错了设备或者新加入了网络设备,会导致环路
- 全局模式下
会让所有开了port fast的接口生效但是还是收到了bpdu就立即把这个接口error-disabled,说明网络中非法用户增加了一台网络设备,使拓扑发生了改变
全局模式下的命令
spanning-tree portfast bpduguard default
- 接口下
单个接口开启BPDU guard但是与这个接口是否配置port fast无关,只要收到了bpdu就立即进入error-disabled状态
接口模式下的命令
interface gig... 0/1
spanning-tree bpduguard enable
- 从error-disabled状态恢复正常
先shutdown后no shutdown //全局
errdissable recovery interval 300S //接口
3、BPDU filter(过滤)
可以过滤点接口收发bpdu
- 全局
开启了port fast既不收也不发bpdu,如果收到了说明失效了
spanning-tree portfast bpdufilter default
- 接口
单个接口开启与port fast无关,不收发bpdu相当于关闭了stp功能,直接进入到转发状态
interface gig... 0/1
spanning-tree bpdufilter enable
4、TC-protection(保护)
就是携带tc标签的bpdu报文,表示网络拓扑发生了改变,需要进行mac地址表的删除操作,对三层交换机,还会引发快转模块的重新打通操作,并改变 ARP 表项的端口状态
但是需要注意的是伪造的tc-bpdu报文,会进行一次删除的操作,在4S内再次收到就再次的删除,如果没有就说明是真的
spanning-tree tc-protection //全局下