一。STP
技术背景:
(1)缺乏冗余性设计的网络,在交换机之间增加链路之后,可以实现冗余性的链路环境,但是会造成环路问题。
(2)任何网络设备之间的互联链路终端都会对用户业务产生影响
(3)解决方案---STP
STP介绍
(1)全称:spanning tree protocol,基于802.1D的协议标准
(2)原理:在冗余环境中,将一个接口逻辑进行软关闭(物理接口的状态是开启的,但是并不接收数据帧)
(3)常见的stp
RSTP---基于802.1w,快速生成树
MSTP---基于802.1S,多生成树
CST---公共生成树--所有的VLAN都共用一个生成树---只是单纯的阻塞掉某一个端口,会造成链路资源的浪费
PVST---每vlan型生成树---所有的VLAN都不共用一个生成树---每个VLAN去进行单独的STP计算,去阻塞掉端口,实现VLAN业务之间的负载均衡,提高链路带宽
BPDU
(1)桥协议数据单元,交换机之间交互BPDU,完成STP计算
(2)每隔2s发送一次,老化时间是20s
(3)参数:自己的根桥,自己认为的根桥的桥ID,自己到达根桥的开销
(4)类型
【1】配置BPDU
用于STP计算,当交换机首次启动的时候,都会互相发送BPDU运行STP的相关参数,去进行根桥的计算;当网络环境稳定之后,只有根桥会去发送BPDU;配置BPDU基于二层组播方式发送,目的地址为01-80-c2-00-00-00
【2】TCN BPDU
拓扑变更BPDU,只有当网络环境发生变化的时候才会发送的,来通知网络拓扑发生变化
STP生成树单位选举
(1)选举过程:当网络开始运作的时候,所有的交换机都会认为自己是根桥,都会去和对方发送BPDU;当交换机收到BPDU之和会去比较自己和对方的BPDU参数;选举出能发送最优BPDU的交换机成为根桥;STP开始工作之和,会在交换网络中选举一个根桥设备,根桥是生成树进行拓扑计算的重要参考点,是stp计算得出的无环拓扑的树根
(2)根桥:是一个拓扑环境的树根;当网络环境稳定之后,只有根桥可以去发送BPDU,其他设备都只能转发来自根桥的BPDU信息
如何选举:比较优先级,越小越优;比较MAC地址,越小越优(如果优先级一致的情况)
(3)根端口(RP):每台非根桥交换机上选举一个根端口;接收来自根桥的BPDU
(4)指定端口(DP):在每条交换链路上选举,根桥上的所有端口都是指定端口;转发来自根桥的BDPU,这个也很好理解,相当于是根桥的小弟,负责为根桥筛选信息
(5)阻塞端口(BP)
STP端口状态
(1)禁用状态--disable 接口物理状态down
(2)阻塞状态--blocking--处于阻塞状态的端口只能接收BPDU,不能发送BPDU,也不能收发数据帧,不能学习MAC地址;正常情况下,根桥每隔2s发送一次BPDU,所以阻塞状态每2s收到一次BPDU,如果端口在最大老化时间20s内都没有收到BPDU,那么就从阻塞状态到侦听状态
(3)侦听状态:会侦听网络拓扑的变化,可以接收发送BPDU信息,不能收发数据帧,不会进行MAC地址学习-------最大老化时间15s
(4)学习:收发BPDU,接收数据帧,进行MAC地址学习,但是不能发送数据帧---最大老化时间15s
(5)转发:收发BPDU,收发数据帧,进行MAC地址学习
STP计算过程
(1)STP选择最优的配置BPDU顺序:
(2)生成树算法执行的步骤:根桥--在每台非根桥交换机上选举根端口--每条链路上选举指定端口--端口转换到转发状态或者阻塞状态
拓扑变更
(1)出现中断,交换机端口状态发生更改为转发/阻塞状态---MAC地址老化时间为300s/300s后未能转发业务数据帧,重新泛洪进行MAC地址学习
(2)STP未来加快拓扑变更的网络收敛速度,可以将MAC地址老化时间大大缩短到15s-20s
(3)STP针对拓扑变更的处理方式
第一:当某台交换机检测到拓扑变更的时候,会沿着根桥的方向,发送TCN BPDU(拓扑变更BPDU)
第二:当上游交换机收到来自下游发送的TCN BPDU之后会发送TCA BPDU进行回应,然后继续沿着跟桥方向发送TCN BPDU
第三:根桥收到TCN BPDU之和,将MAC地址老化时间从300s变成15s,然后向指定端口发送TC置位BPDU给所有交换机
第四:交换机收到来自根桥发送的TC置为BPDU,加快MAC地址的老化时间,然后继续发给别的交换机
PVST+
(1)增强型VLAN生成树,基于802.1D的一个拓展,实现网络中某些特定VLAN赋予一个生成树;针对stp收敛慢的问题,实现快速故障转移
(2)配置
(3)三个增强特性
STP基础配置实现
二、RSTP
1.介绍
(1)基于802.1w标准
(2)作用:用于实现快速收敛,弥补了普通生成树收敛慢的问题
(3)特点:收敛时间1s,没有时间机制,每台设备都会发送BPDU,RSTP具备STP所有的功能,可以兼容STP运行,继承了uplinkfast和backbonefast
(4)RSTP和STP区别
减少了端口状态,增加了端口角色,BPDU格式及发送方式不同,当网络拓扑发生变化的时候,RSTP可以更快的恢复网络的连通性
2.RSTP的端口状态
discarding:丢弃状态,不能转发数据流量也不能学习mac地址
learing:学习状态,不能转发数据流量,但是可以学习mac地址
forwarding:可以转发用户流量并且学习mac地址
3.端口角色
处于转发状态的端口:
根端口:选定网桥的路径
指定端口:在所链接的网段上发送最优的BPDU信息的端口
处于阻塞状态的端口
替代端口--AP--作为根端口的备胎,负责从其他网桥接收更多有用的BPDU信息
备份端口——BP--作为指定端口的备份,一般出现在共享链路环境下
5.端口角色选举
根桥:网络中选举
根端口:非根桥交换机上
指定端口:每一条链路上
替代端口:根端口备份
备份端口:指定端口备份,一般出现在共享链路上
6.RSTP BPDU
配置BPDU
hello time:2s dead time:6s
当网络稳定的时候,无论非根桥交换机上是否收到来自根桥的BPDU,自身本身还会按照hello时间去发送自身BPCU;当接收到次优BPDU时,将自身存储的根桥的BPDU与次优BPDU进行比较,
若自身存储的BPDU更好,接口会直接丢弃次优BPDU,并且回复最优的BPDU给对方
TCN BPDU
当检测到网络拓扑发生变化时候无需等待直接发送TCN BPDU
过程:开启计时器(4s),清空并且重新学习MAC地址,同时,向其他交换机发送TC置位BPDU;当其他设备收到TC置位BPDU后也会重新学习MAC地址,并且向其他设备发送TC置位BPDU,一直反复直到泛洪整个网络环境的交换机
和stp的区别:不需要等待根桥发送TC置位BPDU
7.RSTP的快速收敛机制
边缘端口机制:处于边缘端口的设备可以不参与RST的计算,直接变为转发状态
根端口快速切换机制:如果旧根桥发生故障,AP会马上置为转发状态,成为新的根端口
指定端口快速切换(共享链路):出现在共享链路上的备份端口BP,如果DP故障率,BP会马上替代掉原来的DP
8.RSTP的P/A机制
RSTP快速收敛的核心因素
条件:点对点链路:P2P且全双工
作用:加快了上游链路快速进入转发状态速度
交换机新增一条链路,交换机的所有端口都会马上去发送提议比特位BPDU ( P = 1 )
接收到提议比特位BPDU的交换机,状态切换到Discarding
下游交换机会回复同意比特位BPDU ( A = 1)给上游交换机
收到同意比特位BPDU的端口,马上置为转发状态 ( 丢弃 -- 转发 )
9.rstp和stp的兼容性
rstp是可以向下兼容stp,但是stp不能向上兼容rstp但是启用rstp的端口连续三次收到stp发来的bpdu报文,端口就会丧失rstp1特性,变成stp端口,所有在rstp和stp同时运作的清情况下,建议把STP放在网络的边缘设备上
配置