STP
STP(IEEE802.1d)
作用
- 消除2层环路
- 保证网络高可靠性
BPDU
- 配置BPDU 完成STP拓扑计算
- TCN BPDU 拓扑改变时完成收敛
STP算法
- 网桥角色
- 选举根桥
- 比较桥ID=优先级+MAC地址 优先级默认为32768,范围是0-61440 ,更改优先级必须是4096的倍数
- 端口角色
- 根端口
- 在哪儿选:在每台非根网桥上选举一个端口
- 怎么选
- 比较端口去往根桥的开销,小的为RP
- 比较对端设备的桥ID 小的为RP
- 比较端对设备的端口ID 小的为RP
- 比较本端设备的端口ID 小的为RP
- 指定端口
- 在哪儿选:在每条链路两端选举一个指定端口
- 怎么选
- 比较网桥去往根桥的开销,小的为指定桥,连接指定桥的端口为DP
- 比较网桥的桥ID,小的为指定桥,连接指定桥的端口为DP
- 比较网桥自身的端口ID,小的为指定桥,连接指定桥的端口为DP
- 阻塞端口
- 既不是根端口也不是指定端口的端口是阻塞端口
- 根端口
STP的收敛
- STP的端口状态,blocking,listening,learning,forwarding
- STP的收敛最快30S,最慢50S 。直接链路故障是30S,间接链路故障是50S
- 链路频繁震荡会导致STP的环境失去连通性,因为从blocking到转发需要2个转发延迟
配置
- Comware v5默认关闭,v7默认开启,开启生成树默认版本是MSTP
- 人工干预STP根桥的位置
- 通过dis stp brief 查看STP的状态现象
TCN BPDU
- 网络拓扑发生改变发送TCN BPDU,如果没有TCN BPDU对于下行流量需要30S-50S的最慢收敛时间
- 有端口转变为Forwarding状态,且该网桥至少包含一个指定端口
- 有端口从Forwarding状态或Learning状态转变为Blocking状态才会发送TCN BPDU
- 对于根桥设备收到TCN BPDU通过发送TCA置位BPDU做确认。
- 根桥发送TC置位的BPDU通知其他非根桥设备缩短MAC地址表的老化时间为50S
- STP flag字段使用了2位:0和第7位。0:TC位;7:TCA位
RSTP(IEEE802.1w)
- 相比STP算法一样,只是对收敛速度做了优化
- 减少了端口状态
- discarding
- learning
- forwarding
- 增加了端口角色
- alternate 备份根端口 如果根端口DOWN,备份根端口对端的DP是UP状态,则立马进入转发状态。
- backup 在多点可达环境中备份指定端口
- flag字段用到了全8位
- 0-tc
- 1-P
- 2、3-端口角色
- 4、5-端口状态
- 6-A
- 7-TCA
- 指定端口的快速收敛
- 多点可达:备份指定端口
- 点对点:点对点链路是设备
- P/A协商
- 指定端口向下发送P置位BPDU
- 检查接收到P置位BPDU是否为根端口,是,则进行同步。否则不做处理
- 同步是阻塞本网桥的指定端口除边缘端口,然后根端口进入转发状态,同时发送A置位BPDU,收到,DP进入转发状态
- P/A不依赖任何的定时器,能在新增链路或者链路恢复时实现快速的收敛,点对点链路是设备和主机
- P/A协商
- 边缘端口
- 边缘端口是一种快速收敛的机制
- 边缘端口是一个指定端口
- 边缘端口收到BPDU会失去快速收敛的特性
- 边缘端口用于连接主机
- 边缘端口下的主机上线不会触发拓扑改变
- BPDU的发送不再只有根桥能发,非根桥也能发,发送时间是2S,死亡时间是6S。
- 阻塞端口对于次优BPDU能做处理,目的是让发送次优BPDU的设备能进快确定角色进入转发状态
- 没有使用TCN BPDU
- 拓扑触发条件:非边缘端口状态变成forwarding状态
- 处理方式:从所有DP和RP发送TC置位BPDU,清除除收到TC报文端口之外的所有DP和RP的学到的MAC,而不是像STP缩短老化时间
- 和STP设备混合使用会失去快速收敛特性,注意是该接口
MSTP(IEEE 802.1s)
- STP和RSTP都是单树的,不能实现在2层网络中实现负载分担
- MSTP基于实例构建多棵树,能够实现数据的负载分担
- MSTP可以构建多个MST域如果要保证网桥在同一个MST的域
- 域名一致 默认是以交换机的MAC地址做为域名
- 修订级别 默认是0 没实际含义 可以修改
- VLAN和实例的映射关系一致
- CST、IST、CIST、总根和域根
- 把域逻辑成网桥,逻辑网桥之间构建的生成树是CST
- 域内实例0的树指的是IST的树
- 域内和域间的网桥构建的树是CIST
- 所有启动生成树网桥中桥ID最小的网桥是总根
- 域内IST的网桥去往总根开销最小的设备为域根
- msti和msti的域根
- 非实例0的树为msti的树
- msti树的根桥为msti的域根
- 不同msti的树一般对应不同的拓扑结构,也可以是相同的。
- 总根比较桥id,IST根比较去往总共开销,MSTI域根比较桥id
- IST域内可以存在2个或者多个域边界端口,域根指向总根的端口为master端口可以理解为CST的RP,连接其他域的边界端口可以理解为CST的DP
- MSTP的计算包括 CST的计算,IST的计算,MSTI的计算,但是在完成收敛的时候是同时进行的
- CST计算:把域逻辑成网桥,逻辑网桥的代表是域根,总根所在域的代表为总根。总根所在的域在CST计算时可以理解为根桥,其余为非根桥,算法和标准的算法一样
- IST的计算:域根比较的不是桥ID,而是去往总根最近的。算法和STP一样
- MSTI计算,域根比较的桥ID小的算法和STP算法一样
- H3C设备和其他设备混合使用要保证网桥工作在同一个MST域需要开启摘要侦听。直接复制收到的摘要发给对端设备,不做摘要计算
- MSTP收敛和RSTP一样,和RSTP结合使用的时候,如果RSTP是上游设备,MSTP是下游设备,要在MSTP的设备开启不检查A置位的BPDU。因为MSTP要检查P.A同时置位才同步
STP保护
- BPDU保护:防止从边缘端口发起对网络的攻击,开启后边缘端口收到BPDU关闭端口
- 根桥保护:为了防止新加入的设备影响根桥的地位,比如新加入的接入设备抢占核心根桥的位置,导致根桥到接入设备。开启后如果接口收到其他更优的BPDU该接口状态设为discarding状态。
- 环路保护:在网络拥塞,单通的时候避免环路出现
- TC保护:防止伪造TC对网络可用性造成影响。TC会使设备清除设备学习到的MAC地址。
��的MAC地址。