上一页 下一页

局域网交换机如何工作

作者:杰夫·泰森

跨越树

为防止广播风暴和其他循环引起的副作用,数字设备公司创建了**跨越树协议** (STP),该协议已被电气和电子工程师协会 (IEEE) 标准化为 **802.1d** 规范。本质上,跨越树使用**跨越树算法** (STA),它能感知交换机与节点通信有不止一种方式,确定最佳路径并阻塞其他路径。巧妙之处在于,它会跟踪其他路径,以防主路径不可用。

STP 工作原理如下

广告

每个交换机都被分配一组 ID,一个用于交换机本身,一个用于交换机上的每个端口。交换机的标识符,称为**网桥 ID** (BID),长 8 字节,包含一个网桥优先级(2 字节)以及交换机的一个 MAC 地址(6 字节)。每个**端口 ID** 长 16 位,由两部分组成:一个 6 位优先级设置和一个 10 位端口号。

每个端口都被赋予一个**路径成本**值。该成本通常基于 802.1d 规范中建立的指导原则。根据原始规范,成本是 1,000 Mbps(每秒 1 千兆位)除以连接到端口的网段带宽。因此,10 Mbps 连接的成本将是 (1,000/10) 100。

为了弥补网络速度超出千兆位范围的增长,标准成本已略有修改。新的成本值为:

带宽 4 Mbps = 250 STP 成本值

带宽 10 Mbps = 100 STP 成本值

带宽 16 Mbps = 62 STP 成本值

带宽 45 Mbps = 39 STP 成本值

带宽 100 Mbps = 19 STP 成本值

带宽 155 Mbps = 14 STP 成本值

带宽 622 Mbps = 6 STP 成本值

带宽 1 Gbps = 4 STP 成本值

带宽 10 Gbps = 2 STP 成本值

还需要注意的是,路径成本可以是网络管理员分配的任意值,而不是标准成本值之一。每个交换机都会启动一个发现过程,以选择每个网段应使用的网络路径。此信息通过称为**网桥协议数据单元** (BPDU) 的特殊网络帧在所有交换机之间共享。BPDU 的组成部分包括:

  • **根 BID** - 这是当前**根网桥**的 BID。
  • **到根网桥的路径成本** - 这决定了根网桥的距离。例如,如果数据需要通过三个 100 Mbps 网段才能到达根网桥,则成本为 (19 + 19 + 0) 38。连接到根网桥的网段通常路径成本为零。
  • **发送方 BID** - 这是发送 BPDU 的交换机的 BID。
  • **端口 ID** - 这是发送 BPDU 的交换机上的实际端口。
  • 所有交换机都在不断地相互发送 BPDU,试图确定不同网段之间的最佳路径。当一个交换机收到(来自另一个交换机的)BPDU,并且该 BPDU 比它为同一网段广播的 BPDU 更好时,它将停止在该网段广播自己的 BPDU。相反,它将存储其他交换机的 BPDU 以供参考,并将其广播到**次级网段**,例如那些离根网桥更远的网段。
  • **根网桥**是根据交换机之间 BPDU 过程的结果选择的。最初,每个交换机都认为自己是根网桥。当交换机首次在网络中启动时,它会发送一个 BPDU,其中包含其自身的 BID 作为根 BID。当其他交换机收到该 BPDU 时,它们会将该 BID 与其已存储的根 BID 进行比较。如果新的根 BID 值较低,它们将替换保存的根 BID。但是,如果保存的根 BID 值较低,则会将一个以该 BID 作为根 BID 的 BPDU 发送给新交换机。当新交换机收到该 BPDU 时,它意识到自己不是根网桥,并将其表中的根 BID 替换为刚刚收到的那个。结果是,具有最低 BID 的交换机被其他交换机选举为根网桥。
  • 根据根网桥的位置,其他交换机确定其哪个端口到根网桥的路径成本最低。这些端口称为**根端口**,每个交换机(当前根网桥除外)必须有一个根端口。
  • 交换机决定哪些端口将成为**指定端口**。指定端口是用于在特定网段上发送和接收数据包的连接。通过每个网段只设置一个指定端口,所有循环问题都得到解决!指定端口是根据网段到根网桥的最低路径成本来选择的。由于根网桥的路径成本为“0”,因此其上连接到网段的任何端口都将成为指定端口。对于其他交换机,会比较给定网段的路径成本。如果确定一个端口具有较低的路径成本,则它将成为该网段的指定端口。如果两个或更多端口具有相同的路径成本,则选择具有最低 BID 的交换机。
  • 一旦选定网络网段的指定端口,连接到该网段的任何其他端口将成为**非指定端口**。它们会阻止网络流量通过该路径,因此只能通过指定端口访问该网段。

每个交换机都有一个不断更新的 BPDU 表。现在,网络被配置为单个跨越树,根网桥作为主干,所有其他交换机作为分支。每个交换机通过根端口与根网桥通信,并通过指定端口与每个网段通信,从而维护一个无循环的网络。如果根网桥开始出现故障或网络问题,STP 允许其他交换机立即将网络重新配置为由另一个交换机充当根网桥。这个令人惊叹的过程使公司能够拥有一个容错且易于维护的复杂网络。