概念术语
注意事项:
1)我们学习 STP 协议,应该关注选举:选举范围、选举方法、设备状态;
2)各交换机会根据在 BPDU 中的信息,确定自己的角色。因此,如下选举过程并非依次发生,而是同时发生。
Bridge,桥,网桥
解释:在 STP 中,也就是交换机。
Bridge ID,BID,桥身份标识
解释:每台接入网络的交换机,都具有唯一身份,这个身份被称为 BID(Bridge ID)。
在 IEEE 802.1D Standers 中,规定 BID 由两部分组成:
1)高 16bit 的桥优先级(Bridge Priority)
2)低 48bit 的桥物理地址(MAC Address)
Bridge ID = Priority (4 bits) + locally assigned system ID extension (12 bits) . ID [MAC address] (48 bits))
每台运行 STP 的交换机都拥有一个唯一的 BID 参数。
在STP网络中,BID最小的设备会被选举为根桥。
Root Bridge,根桥
解释:在连续的 STP 交换网络中,某台交换机的角色。在多台交换机间,通过相互选举而确定的。根桥是生成树进行拓扑计算的参考点,是无环拓扑的树根。
Port ,端口
解释:无特殊含义,仍指交换机物理端口。
Port ID,PID,端口身份标识
解释:运行 STP 的交换机使用 PID 来标识每个接口,PID 主要用于在特定场景下选举指定接口(DP)。
PID 由两部分构成的:
1)高 4bit 是接口优先级;
2)低 12bit 是接口编号;
Port ID = priority (4 bits, default=128) + ID (Interface number) (12 bits)
激活 STP 的接口会维护一个缺省的接口优先级。在华为交换机上,该值为 128。用户可以根据实际需要,通过命令修改该优先级。
Port Roles
Root Port,RP,根端口
解释:Root Port,在 Non-root Bridage 上,是其直连到 Root Bridge 的端口,即离 Root Bridage 最近的端口,负责向 Root Bridage 方向转发数据。一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优且唯一的,就必须从该非根桥设备的端口中确定出一个被称为“根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。
在选举出根桥后,根桥仍然持续发送BPDU,而非根桥将持续不断的收到根桥发送的BPDU。因此,在所有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的BPDU。
即:根端口保证了交换机与根桥之间工作路径的唯一性和最优性。
注意:一个非根桥设备上,最多只能有一个根端口。
Designated Port,DP,指定端口
解释:在网络中的每个链路与根桥间的工作路径必须是唯一的且最优的。当一个链路有两条及以上的路径通往根桥时(该链路连接了不同的交换机,或者该链路连接了同一台交换机的不同端口),与该链路相连的交换机(可能不止一台)就必须确定出一个唯一的指定端口。对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。因此,每个链路(Link)选举一个指定端口,用于向这个链路发送 BPDU 报文。
注意:一般情况下,根桥上不存在任何根端口,只存在指定端口。
Blocked Port, BP
阻塞端口(阻塞非根、非指定端口),这些端口进入阻塞状态,不会进行数据转发。
Alternate Port,AP,预备端口,该类型的端口也会进入阻塞状态。AP 是 RSTP 引入的端口类型,我们这里讨论的是 STP 协议,但是 BP 和 AP 经常会被混合使用,而不做严格区分。
Port Cost,接口开销
解释:每个激活 STP 的接口都维护着自己的 Cost 值。
接口开销计算方法:
1)简单说,接口开销的计算方法是“查表”;
2)根据接口速率、接口模式(双工模式)、计算标准,“查表”得到接口开销值;
—- 华为设备支持的接口开销计算标准:(1)IEEE 802.1D-1998;(2)IEEE 802.1T;(3)华为私有计算方法;
如下图,为华为设备文档提供的接口开销计算表:
注意事项:
1)如果使用多个厂商的设备进行组网,那么应该采用相同的接口开销计算标准。
Root Path Cost,RPC,根路径开销
解释:接口的 Cost 主要用于计算 根路径开销(Root Path Cost),也就是到达 Root Bridge 的开销。
路径开销的计算方法:
1)对于路径开销,需要计算达到根桥的交换机的数据报文出接口(即从根桥到该设备沿途所有入方向接口的 Cost 累加);
BPDU, Bridge Protocol Data Units
解释:BPDU(网桥协议数据单元)是 STP 的协议报文,是 STP 能够正常工作的根本。交换机开启 STP 协议,交换机会交互 BPDU 报文,这些 BPDU 报文携带着重要信息,正是基于这些信息,STP 才能够顺利工作,以创建生成树。
在标准生成树中,BPDU 分为两种类型:
1)CFG BPDU(Configuration BPDU),是 STP 进行拓扑计算的关键;
2)TCN BPDU(Topology Change Notification BPDU),是在网络拓扑发生变更时才会被触发;
注意事项:BPDU 不是在交换机间转发,而是由交换机产生并向下发送。
配置 BPDU 的比较原则
对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是 CFG BPDU 的比较。在 CFG BPDU 中,有四个字段非常关键,它们是“根桥ID”、“根路径开销”、“网桥ID”、“接口ID”,这四个字段便是交换机进行 CFG BPDU 比较的关键内容。
STP 按照如下顺序选择最优的 CFG BPDU:
1)最小的 BID
2)最小的 RPC
3)最小的 BID
4)最小的 PID
在这四条原则中(每条原则都对应 CFG BPDU 中的相应字段):
1)第一条原则主要用于在网络中选举根桥,
2)后面的原则主要用于选举根接口及指定接口。