MSTP拓扑计算
MSTP的基本原理
MSTP可以将整个二层网络划分为多个MST域,各个域之间通过计算生成CST。域内则通过计算生成多棵生成树,每棵生成树都被称为是一个多生成树实例。其中实例0被称为IST,其他的多生成树实例为MSTI。MSTP同STP一样,使用配置消息进行生成树的计算,只是配置消息中携带的是设备上MSTP的配置信息。
优先级向量
MSTI和CIST都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU中。各交换设备互相交换MST BPDU来生成MSTI和CIST。
优先级向量简介
参与CIST计算的优先级向量为:
{ 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
参与MSTI计算的优先级向量为:
{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
括号中的向量的优先级从左到右依次递减。
表10-7对每个优先级向量进行解释。
表10-7 向量说明向量名
说明
根交换设备ID
根交换设备ID用于选择CIST中的根交换设备。根交换设备ID = Priority(16bits) + MAC(48bits)。
其中Priority为MSTI0的优先级。
外部路径开销(ERPC)
从CIST的域根到达总根的路径开销。MST域内所有交换设备上保存的外部路径开销相同。若CIST根交换设备在域中,则域内所有交换设备上保存的外部路径开销为0。
域根ID
域根ID用于选择MSTI中的域根。域根ID = Priority(16bits) + MAC(48bits)。
其中Priority为MSTI0的优先级。
内部路径开销(IRPC)
本桥到达域根的路径开销。域边缘端口保存的内部路径开销大于非域边缘端口保存的内部路径开销。
指定交换设备ID
CIST或MSTI实例的指定交换设备是本桥通往域根的最邻近的上游桥。如果本桥就是总根或域根,则指定交换设备为自己。
指定端口ID
指定交换设备上同本设备上根端口相连的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。
接收端口ID
接收到BPDU报文的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。
比较原则
同一向量比较,值最小的向量具有最高优先级。
优先级向量比较原则如下。
首先,比较根交换设备ID。
如果根交换设备ID相同,再比较外部路径开销。
如果外部路径开销相同,再比较域根ID。
如果域根ID仍然相同,再比较内部路径开销。
如果内部路径仍然相同,再比较指定交换设备ID。
如果指定交换设备ID仍然相同,再比较指定端口ID。
如果指定端口ID还相同,再比较接收端口ID。
如果端口接收到的BPDU内包含的配置消息优于端口上保存的配置消息,则端口上原来保存的配置消息被新收到的配置消息替代。端口同时更新交换设备保存的全局配置消息。反之,新收到的BPDU被丢弃。
CIST的计算
经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。
MSTI的计算
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似,请参见STP拓扑计算。
每个MSTI独立计算自己的生成树,互不干扰。
每个MSTI的生成树计算方法与STP基本相同。
每个MSTI的生成树可以有不同的根,不同的拓扑。
每个MSTI在自己的生成树内发送BPDU。
每个MSTI的拓扑通过命令配置决定。
每个端口在不同MSTI上的生成树参数可以不同。
每个端口在不同MSTI上的角色、状态可以不同。
- 在MST域内,沿着其对应的MSTI转发。
- 在MST域间,沿着CST转发。
MSTP对拓扑变化的处理
MSTP拓扑变化处理与RSTP拓扑变化处理过程类似,请参见RSTP技术细节中的RSTP拓扑变化处理。