对于STP生成树协议,了解的人比较多。经过STP协议,解决了二层网络内的环路问题,在消除环路和链路备份之间达成了平衡。但在现网中,一个二层网路内每每不止一个vlan,而是多个vlan的集合,STP/RSTP只能处理单个vlan的问题,而对于多个vlan的状况一筹莫展。所以,MSTP的出现相当重要。
本文经过查询华为Hex文档,结合自身理解,造成比较清晰而重要的MSTP的文档,多是全网最详细的MSTP文档。网络
MSTP(multiple spanning tree protocol)是多生成树协议,经过生成多个生成树,来解决以太网的环路问题。负载均衡
MSTP把一个交换网络划分红多个域,每一个域造成多棵生成树,生成树之间彼此独立,每颗生成树叫作一个多生成树实例MSTI(multiple spanning tree instance),每一个域叫作一个MST域(multiple spanning tree region)。每一个MSTI能够看做是多个vlan的集合,即vlan根据须要捆绑在若干MSTI上(通常而言,这种须要指的是相同的拓扑结构),vlan和MSTI是多对一的关系,这样能够节省通讯开销和资源占用率。
在引入MSTP后,MSTP经过设置vlan映射表,把vlan和msti联系起来,根据现网须要,该网络中,每一个vlan对应了一个msti。能够认为,每一个msti之间容许独立的stp协议。
通过计算,最终生成了两棵树:ide
一个MSTP网络中包含多个MST域,每一个MST域中包含多个MSTI,一个MSTI中包含多个运行STP/RSTP/MSTP的交换设备spa
MST域由交换网络中的多台交换设备以及他们之间的网段所组成。同一MST域的设备具备如下特色:blog
MST域之间在物理上直接或者间接相连。ip
描述了vlan和MSTI的映射关系,vlan和MSTI是多对一的关系。资源
公共生成树,链接交换网络内全部MST域的一棵生成树。若是把MST域看做是一个节点或桥,那么CST就是这些节点经过STP/RSTP计算生成的一棵生成树。文档
单生成树,运行STP/RSTP的交换设备只能属于一个生成树。或者MST域中只有一个交换设备,这个交换设备构成单生成树。域名
IST Master,域内距离总根最近的交换设备。it
相比于RSTP,MSTP在根端口,指定端口,alternate端口,backup端口和边缘端口的基础上,新增master端口和域边缘端口。即共有7种端口类型。
是MST域和总根相连的全部路径种最短路径上的端口,是交换设备上链接MST域到总根的端口。Master端口是域中的报文去往总根的必经之路。master端口是特殊的域边缘端口,他在CIST上的角色是root port ,在其余各实例上的角色都是master端口。
位于MST域的边缘并链接其余MST域或SST的端口。
相比于RST BPDU报文,MSTP的BPDU报文前36字节是相同的。从第37字节开始是其专有字段。
目前MST BPDU存在两种格式。分别是:
MSTP将二层网络分为多个MST域,域间计算生产CST,域内分为多个生成树实例,每一个实例分别计算独立的STP生成树。
实例0被称为IST,其余的多生成树实例为MSTI。
向量名称 | 说明 |
---|---|
根交换设备ID | CIST的根交换设备ID,等于priority(16bit)+MAC(48bit),其中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的整数倍。 |
同一贯量比较,值最小的向量具备最高优先级。
1 比较根交换设备ID。
2 若是根交换设备ID相同,再比较外部路径开销。
3 若是外部路径开销相同,再比较域根ID。
4 若是域根ID仍然相同,再比较内部路径开销。
5 若是内部路径仍然相同,再比较指定交换设备ID。
6 若是指定交换设备ID仍然相同,再比较指定端口ID。
若是端口接收到的BPDU内包含的配置消息优于端口上保存的配置消息,则端口上原来保存的配置消息被新收到的配置消息替代。端口同时更新交换设备保存的全局配置消息。反之,新收到的BPDU被丢弃。
通过比较配置消息后,在整个网络中选择一个优先级最高的交换设备做为CIST的树根。在每一个MST域内MSTP经过计算生成IST;同时MSTP将每一个MST域做为单台交换设备对待,经过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不一样的VLAN生成不一样的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程相似
MSTI的特色:
每一个MSTI独立计算本身的生成树,互不干扰。
每一个MSTI的生成树计算方法与STP基本相同。
每一个MSTI的生成树能够有不一样的根,不一样的拓扑。
每一个MSTI在本身的生成树内发送BPDU。
每一个MSTI的拓扑经过命令配置决定。
每一个端口在不一样MSTI上的生成树参数能够不一样。
在运行MSTP协议的网络中,一个VLAN报文将沿着以下路径进行转发:
-1 p0和p1两个端口立刻都先成为指定端口,发送RST BPDU。
-2 S2的p1口收到更优的RST BPDU,立刻意识到本身将成为根端口,而不是指定端口,中止发送RST BPDU。
1 协商开始时,每一台设备都认为本身是根桥,根桥上的端口是指定端口,端口状态为Discarding,端口的synced变量置位,触发Proposal和Agreement同时置位。上游设备发送Proposal报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞全部非边缘端口。
2 上游设备继续发送Agreement报文。下游设备接收到后,根端口转为Forwarding状态。
缺省状况下,华为数据通讯设备使用加强的快速迁移机制。