当一条链路出现故障时,冗余链路作为备份路径可以接管流量,但在某些情况下,冗余链路可能会导致交换环路。生成树协议(STP)的主要目的,就是确保在网络中存在冗余路径时,不会形成环路。
生成树协议 (STP) —
我们可以看到,IEEE STP 通过监控网络来跟踪所有链路并关闭冗余链路,从而构建一个无环路的网络。以下是与生成树协议相关的一些重要术语:
- 网桥协议数据单元 (BPDU) — 它包含网桥 ID、发送方的网桥 ID、到根网桥的开销、根网桥上的计时器值。所有的交换机都通过交换 BPDU 来选举根网桥。拥有最小网桥 ID 的交换机将成为根网桥。
- 网桥 ID — 这是一个 8 字节的字段,由网桥优先级(2 字节)和设备的基础 MAC 地址(6 字节)组合而成。如果网桥优先级相同,则将考虑基础 MAC 地址。
- 网桥优先级 — 这是分配给每个交换机的优先级,默认值为 32768。
- 根网桥 — 根网桥是具有最小网桥 ID 的网桥。所有的决策(例如哪些端口是根端口,即拥有到根网桥最佳路径的端口)都是从根网桥的角度做出的。
- 路径开销 — 一台交换机在通往根网桥的路径上可能会遇到一台或多台交换机。所有路径都会被分析,其中开销最低的路径将被选中。
链路开销
—
100
19
4
2指定端口 — 发送最佳 BPDU 的端口,即根网桥上的端口将处于转发状态。
根端口 — 在非根网桥上接收最佳 BPDU 的端口。选择根端口的标准如下:
- 到达根网桥的最低路径开销
- 最低的发送方网桥 ID
- 最低的发送方端口 ID
(端口优先级 + 端口号) — 端口优先级默认为 128,端口号是交换机接口编号。
选举过程 —
网络中的所有交换机最初都会宣称自己是根网桥,并开始交换它们自己的 BPDU。拥有最小网桥 ID 的 BPDU 被视为“优胜者”。现在,接收到优胜 BPDU 的交换机会修改自己的 BPDU,并将其转发给它的邻居。它会将根网桥 ID 的值替换为它所收到的优胜 BPDU 中的网桥 ID。这个过程会一直持续,直到所有交换机都认可哪个网桥拥有最小的网桥 ID,于是该交换机将被宣布为根网桥。
现在,根据上述标准,根端口将被选定,然后剩余的端口将进入阻塞模式。
示例 —
这里有一个包含三台交换机的小型拓扑结构:交换机 A(MAC 地址-0000.0ACA7.A603)、交换机 B(0030.F222.2794)和交换机 C(000A.41D5.7937),它们都拥有默认优先级(32768)。
根网桥选举 —
由于所有交换机都具有默认优先级,因此在优先级基础上打成了平局。现在,MAC 地址最小的交换机将成为根网桥。在这里,交换机 A 将成为根网桥,因为它的 MAC 地址最小。因此,交换机 A 的端口将处于转发状态,即指定端口。
根端口选举 —
根端口是在非根网桥(即交换机 B 和交换机 C)上选定的。现在,比如说,如果交换机 C 选择经过交换机 B 的路径,那么开销将是 (4+4=8),但如果它选择直接连接到交换机 A 的路径,开销则是 4。因此,交换机 B 和交换机 C 都会选择连接到交换机 A 的端口作为它们的根端口。
现在,唯一剩下的就是确定哪个端口分别处于转发模式和阻塞模式。由于交换机 B 和交换机 C 之间的链路具有与根网桥相同的路径开销,因此网桥 ID 较低的交换机将处于转发模式,所以交换机 C 的端口将处于转发模式,而交换机 B 的端口将处于阻塞模式。