生成树协议总结

技术背景:在传统的单核心网络中存在单链路故障,所在在很多可靠性较高的网络环境中,会引入备份链路。引入备份链路的同时也会引出一个问题,会造成交换式网络环路,导致如:广播风暴、MAC地址抖动、多帧复制等危害。

生成树协议:在一个物理成环的交换式网络中,通过运行生成树协议,在逻辑上阻塞一个或多个端口,形成无环的网络。当网络主干链路发生故障时,可以将阻塞的链路打开,实现冗余备份。

工作原理:BPDU(网桥协议数据单元)

  • 配置BPDU:在网络初始化时,用于进行角色选举。在网络稳定时,周期性的发送用于链路的检测和维护。发送周期为2S一次,老化时间为20s
  • TCNBPDU:网络拓扑发生变更时,用于通知根桥交换机

重要字段:

  • 网桥ID:用于标识一条交换机的身份信息。由优先级(2B)和MAC地址(6B)组成。优先级的范围为0-65535,有效范围为0-61440,步长为4096。网桥ID的优先规则是先比较优先级,越小越优先。优先级一致比较MAC地址,越小越优先。
  • 根网桥ID:用于描述根交换机的身份信息。(在交换机刚启动是,会认为自己就是根网桥)
  • 端口ID:用于描述交换机上每一个端口的信息。由端口优先级和端口编号组成。端口ID的优选规则是先比较端口优先级,越小越优先。端口优先级一致则比较端口编号,越小越优先。
  • 路劲开销:描述到达根网桥的路径开销。(带宽越大,开销越小)

角色选举:

  • 根网桥:所有交换机中网桥ID最小的成为根桥。
  • 根端口:用于接收根网桥信息的端口(非根桥上有且只有一个)。优选规则:选择路径开销最小的;选择发送网桥ID最小的;选择发送端口ID最小的。
  • 指定端口:用于转发网桥信息的端口。优选规则:选择路径开销最小的;选择发送网桥ID最小的;发送端口ID最小的。
  • 阻塞端口:不是根端口和指定端口的端口。

端口状态:

  • Disable:禁止状态
  • Blocking:阻塞状态,只接收BPDU,不发送BPDU。
  • Listenning:侦听状态,接收并发送BPDU,不学习MAC地址
  • Learning:学习状态,接收并发送BPDU,学习MAC地址,不转发数据。
  • Forwarding:转发状态,接收并发送BPDU,学习MAC地址,转发数据。
    注:所有的端口角色都在Listenning状态确认,如果是Blocking状态就直接转换。

收敛时间:

  • Hello:2s
  • Max Time:20s
  • Forward Delay:15s
  • 直接收敛:30s
  • 间接收敛:50s

从收敛时间可以看到,STP协议的弊端很明显,30s甚至50s的空档期在很多场景都是一致制命的缺陷,且还存在如网络拓扑变更和刷新不灵活的缺陷。在接入网络边缘的终端设备如果频繁上下限,会触发大量TCNBPDU。网络拓扑的变更必须由根桥统一通知(不灵活)。基于这些缺点提出了RSTP(快速生成树)。

端口角色变化:

  • 根端口:无变化
  • 指定端口:无变化
  • 替代端口:根端口的替代
  • 备份端口:指定段的备份

端口状态变化:

  • Discarding:丢弃状态(原先的Disabled、Blocking、Listening)
  • Learnning:学习状态
  • Forwarding:转发状态

快速收敛机制:

  • 根端口的快速收敛机制:增加了替代端口,当根端口出现故障时,替代端口第一时间成为新的根端口
  • 指定端口的快速收敛机制:增加了备份端口,当指定端口出现故障时,备份端口第一时间成为新的指定端口。在两台设备中产生新的连接时,使用P/A机制进行协商(前提是点到点网络)。链路两端的端口初始都为阻塞状态。发出P置位的BPDU,随后网桥会根据收到的RST BPDU判断端口是否为根端口,如果是,网桥启动同步过程。同步过程指网桥阻塞除边缘端口之外的所有端口,在本网桥层面消除环路的可能。同步完成之后,根端口置位Forwarding状态,回复一个P和A同时置位的RST BPDU。上游端口收到后,端口置位Forwarding状态 。下游交换机的指定端口也开启同步收敛机制。
  • 拓扑的快速收敛机制:当非边缘端口转变为Forwarding状态时,会在两倍的Hello Time内向根端口以及其他所有的指定端口发送TC置位的RSTBPDU,同时清除这些端口学习到的MAC地址。当交换机收到了TC置位的RSTBPDU时,会在两倍的Hello Time内向指定端口和根端口发送TC置位的RSTBPDU,并清除这些端口的MAC地址。
  • 边缘端口的快速收敛机制:用于连接终端设备的端口可以手动配置为边缘端口,当网络拓扑发生变化时,边缘端口可以直接进入Forwarding状态且不会产生TC置位的RSTBPDU。

RSTP既然弥补了收敛速度这个缺陷,那么会不会也不是那么完美呢?没错,RSTP和STP还有一个通病,被阻塞的链路无法通过流量,带宽也就被闲置了。基于此又提出来MSTP(多实例生成树),既拥有快速收敛特性,也实现了流量的负载分担。

MSTP:将网络中的VLAN实例化,将不同的多个vlan映射到不同的实例中去,针对不同的实例指定不同的优先级,生成不同的实例根,从而实现流量的负载均衡。MSTP还可以分区域,在网络规模较大的情况下,可以在逻辑上分为多个区域。宏观上每个域是一台交换机,所有的域连接生成一颗生成树。域内也会生成独立的生成树。

你可能感兴趣的:(生成树协议总结)