STP相关术语
桥ID(Bridge Identification)
- 早期的交换机被称为“桥(Bridge ) ",或者“网桥”,受限于当时的技术,早期交换机的接口数量少得可怜,通常只有两个接口,交换机仅能实现数据帧在这两个接口之间的交换,这也是“桥”这一称呼的由来。
- 生成树技术在网桥时代就己经被提出并且被应用,随着网络的发展,交换机能够支持的接口数量越来越多,因此上述称呼逐渐不再被使用,然而在生成树等技术领域中,“桥”或“网桥”的称呼却一直被沿用下来,直至今日我们在生成树中依然会用它们来称呼交换机。
- 每一台运行STP的交换机都拥有一个唯一的桥ID ( Bridge Identification ),如下图所示。
- 桥ID一共8byte,包含16bit的桥优先级(Bridge Priority)和48bit的桥MAC地址,其中桥优先级占据桥ID的高16bit,而MAC地址占据其余的48bit。
根桥(Root Bridge)
- STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树),这棵树一旦形成,网络中的无环拓扑也就形成了。
- 对于这棵SPT树而言,树根是非常重要的,树根一旦明确了,“树枝”才能沿着网络拓扑进行延展,STP的根桥就是这棵树的树根,如下图1所示,它的角色至关重要,STP的一系列计算均以根桥为参考点。
- 当STP开始工作后,第一件事情就是在网络中选举出根桥。
- 在一个交换网络中,根桥只会有一个。
- 网络中拥有最小桥ID的交换机将成为根桥。在比较桥ID时,首先比的是桥优先级,桥优先级的值最小的交换机将胜出成为根桥,如果桥优先级相等,那么MAC地址最小的交换机将成为根桥。
- 华为交换机缺省的桥优先级为32768(可通过命令修改)。优先级的取值范围是0~61440(之所以不是65535,其实16bit中低12bit被分配给VLAN ID,高4bit分配给桥优先级),并且必须为4096的倍数,比如0、4096、8192等。
开销( Cost)与根路径开销( Root Path Cost, RPC )
-
每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算RPC,也就是计算到达根的开销。
-
接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。华为的交换产品支持3种计算方法,它们分别是IEEE 802.1D-1998标准方法、IEEE 802.1t标准方法以及华为私有的计算方法,如下表所示。
-
需要注意的是,修改交换机的Cost计算方法需要非常谨慎,如果确实需要修改,那么需保证交换网络中所有STP设备使用一致的计算方法。
-
接口cost是一个非常重要的变量,它将影响STP对于链路的优选。
-
在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,我们将这个“成本”称为RPC (Root Path Cost,根路径开销)。
示例
- 如下图所示的网络中,SW2与根桥SW1直连,因此其通过Port1到达根桥的RPC为20,也即Port1的接口Cost。
- SW3通过Port2接口与根桥直连,因此其通过该接口到达根桥的RPC为200。
- 对于SW4而言,其通过Port3到达根桥的RPC为SW2 Port1的Cost与SW4 Port3的Cost之和,也即40;通过Port4到达根桥的RPC为SW3 Port2的Cost与SW4 Port4的Cost之和,也即220。
- RPC是一个衡量链路优劣的重要指标,在下图中,对于SW4而言,其Port3相比于Port4到达根桥的RPC要更小,因此从这个层面看,Port3这一侧的链路要更优。
接口ID (Port Identification )
- 运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。
- 接口ID长度为16bit,由两部分组成,其中高4bit是接口优先级,低12bit是接口编号。华为交换机缺省时接口优先级为128(可通过命令修改),优先级的取值范围是。0~240,并且必须是16的倍数,比如0、16、32等。