网络基础:(五)STP生成树

admin 2021年03月08日 1,382次浏览

STP 的主要任务是防止第2层网络(网桥或交换机)出现网络环路,它警惕地监视着网络以找出所有可用链路,并关闭任何冗余链路以确保不会出现环路

1、STP相关名词

  • 根桥Root Bridge) 根桥是指拥有最佳桥囚的网桥
  • BPDU 指网络中所有交换机都需要相互交换的、用于根交换机选举的信息
  • 桥ID STP使用桥ID跟踪网络中的所有交换机,桥ID由桥优先级和桥MAC地址共同决定,在网络中拥有最小桥 ID的网桥将成为根桥
  • 非根桥(Designated Bridge) 指除了根桥外的所有网桥。非根桥会与所有的网桥交换 BPDU,并在所有交换机上更新 STP 拓扑数据库,以防止环路并对链路失效提供保障措施
  • 端口开销 当两台交换机间存在多条链路时,端口开销用于确定最佳路径,一条链路的开销取决于链路的带宽
  • 根端口Root Port) 与根桥直接相连的链路所在的端口,或者是通往根桥路径开销最低的端口
  • 指定端口(Designated Port) 指定端口时专门指定的,通过其根端口到达根桥开销最低的端口,指定端口会被标记为转发端口
  • 非指定端口 开销比指定端口高的端口,非指定端口将被设置为阻塞状态,不能进行转发
  • 转发端口 能够进行数据帧转发的端口,可以是根端口或指定端口
  • 阻塞端口 不能转发帧的端口,设置阻塞端口是为了避免环路

2、STP生成树的操作

2.1、根桥选举

桥 ID 将用于 STP 域中根桥的选举,并且当多个候选者的可用根端口和路径开销相等时,桥 ID 也可以确定此 STP 域中剩余设备的根端口,其包括了设备的优先级和 MAC 地址

为了确定根桥,需要将每个桥的优先级和它的 MAC 地址结合起来,如果两个交换机碰巧拥有相同的优先级数值,那么MAC地址就成为决定哪个设备具有最低(最佳 )ID 的依据

2.2、端口状态

端口状态目的说明
Forwarding端口既转发用户流量也处理BPDU报文。只有根端口或指定端口才能进入Forwarding状态。
Learning设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。过渡状态,增加Learning状态防止临时环路。
Listening确定端口角色,将选举出根桥、根端口和指定端口。过渡状态。
Blocking端口仅仅接收并处理BPDU,不转发用户流量。阻塞端口的最终状态。
Disabled端口不仅不处理BPDU报文,也不转发用户流量。端口状态为Down。

3.3、汇聚

当交换机上的所有端口都转换到了转发或阻塞模式时,就会形成会聚,在会聚完成之前,无法转发数据,从阻塞转换到转发模式通常会需要 等待一定的时间

因为从阻塞到转发的典型的生成树拓扑会聚需要一定的时间,这样在服务器或主机上就会引发超时的问题,针对这样的问题,可以在个别端口上关闭STP协议即可

4、RSTP快速生成树协议

RSTP删除了3种端口状态,新增加了2种端口角色,并且把端口属性充分的按照状态和角色解耦;此外,RSTP还增加了相应的一些增强特性和保护措施,实现网络的稳定和快速收敛

  • RSTP的状态规范把原来的5种状态缩减为3种:
    • 如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态。
    • 如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning状态。
    • 如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding状态。
  • RSTP与STP端口状态对比
STP端口状态RSTP端口状态端口在拓扑中的角色
ForwardingForwarding包括根端口、指定端口
LearningLearning包括根端口、指定端口
ListeningDiscarding包括根端口、指定端口
BlockingDiscarding包括Alternate端口、Backup端口
DisabledDiscarding包括Disable端口