MSTP引入
IEEE802.1D标准提出早于VLAN的标准802.1Q,因此在STP中没有考虑VLAN的因素。而802.1w对应的RSTP仅对STP的收敛机制进行了改进,其和STP一样属于单生成树(Single Spanning Tree,SST)协议。
单生成树协议自身无法克服,如果要实现VLAN间的负载分担需要用到MSTP(Multiple spanning Tree Protocol,多生成树协议)。
MSTP 在IEEE的802.1s标准中定义,它既可以实现快速收敛,又可以弥补STP和RSTP的缺陷。MSTP能使不同VLAN的流量沿各自的路径转发,从而利用冗余链路提供了更好的负载分担机制。
MSTP基本思想:基于实例(Instance)计算出多颗生成树,每一个实例可以包含一个或多个VLAN,每一个VLAN只能映射到一个实例。网桥通过配置多个实例,可以实现不同VLAN组之间的负载分担。
MSTP的基本概念
MST域
多生成树计算前提是:将不同VLAN映射到不同实例中去,为了确保网桥之间多生成树协议计算正确,这些网桥的VLAN和实例映射关系必须完全相同。在一个大型的网络中,可能不同的网桥属于不同的部门,而每一个部门可能有不同的VLAN映射需求,无法使得所有网桥都配置相同的VLAN映射关系。
可以将网络划分为多个域(MST域),将拥有相同VLAN映射关系以及其他属性的网桥放到同一个域中,域之间运行标准的RSTP。
MST域(MST Region)是指网络中具有相同域名、修订级别、摘要信息的网桥构成的一个集合。
CST、IST、CIST、总根和域根
CIST(Common and Internal Spanning Tree,公共和内部生成树)是整个网络所有设备经过生成树计算得到的一棵树。总根是整个网络中优先级较高的桥,是CIST的根桥。
CST(Common Spanning Tree,公共生成树)是连接网络内所有MST域的单生成树。如果把每个MST域看作是一个逻辑上的网桥,CST就是这些网桥通过STP/RSTP计算得到的一颗生成树,总根所处的域为CST的根桥。
IST(Internal Spanning Tree,内部生成树)是MST域内的一颗生成树,是CIST在每个域的一个片断。MST域内每一颗生成树都对应一个实例号,IST的实例号为0,实例0无论有没有配置都存在的,没有映射到其他实例的VLAN默认都会映射到实例0
IST的根桥即CIST的域根,是MST域内距离总根较近的桥,也称为Master桥。如果总根在该域中,则总根即为该域的CIST域根。
MSTI和MSTI域根
一个MST域内可以通过MSTP生成多颗生成树,每颗生成树之间彼此独立。每颗生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。
每一个MSTI映射一个或多个VLAN并计算出一颗独立的生成树,其范围只限于域内,每一个MSTI都对应一个实例号,实例号从1开始,以区别实例号为0的IST.
MSTI的域根,是每一个MSTI上优先级较高的网桥。MST域内每个MSTI可以指定不同的根
MSTP中的端口角色
和STP和RSTP相比,MSTP增加了域的概念,所以在桥的角色上,MSTP增加了和域相关的Master桥,在端口角色上,MSTP增加了和域相关的域边界端口以及Master端口。
IST中距离总根较近的桥为Master桥,该桥为IST的根,Master桥指向总根的端口Master端口。
MST域内网桥和其他MST域或STP/RSTP网桥相连的端口称为域边界端口,Master端口也是域边界端口,其在各域边界端口中距离总根较近。
如果把MST域看作逻辑上的一个网桥,域边界端口就为该网桥连接其他网桥的端口,其中Master端口就是该网桥的根端口。
(注意:由于网桥在不同MSTI上可能具有不同的角色,所以网桥的端口在MSTI上也可能有不同的角色。唯一例外的是Master端口在所有MSTI上的角色都相同,都为Master)
同一个VLAN不能映射到多个不同实例上,当用户将一个已经映射的VLAN重新映射到不同的实例上时,则VLAN自动取消原来的映射关系
在一棵生成树示例中,生效的根桥只有一个。两台或两台以上的网桥被指定为同一颗生成树实例的根桥时,MSTP将选择MAC地址较小的网桥作为根桥。设置网桥为根桥之后,用户不能再修改网桥的优先级。
用户在每个MST实例中指定一个到多个备份根桥。当根桥出现故障或被关机时,备份根桥可以取代根桥而成为指定MST实例的根,如果设置了多个备份根桥,则MAC地址较小的备份根桥将成为指定MST实例的根桥。
根据IEEE802.1s规定,只有在域配置(包括域名、修订级别、VLAN与实例映射关系)完全一致的情况下,相连的设备才被人为是在同一个域内。
在网络中,由于一些厂商的设备在对MSTP协议的实现上存在差异,即用加密算法计算配置摘要时采用私有的秘钥,从而导致即使MST域配置相同,不同厂商的设备之间也不能实现在MSTP域内的互通
通过在设备上与对MSTP协议的实现存在私有性差异的厂商设备相连的端口开启摘要侦听特性,可以实现与厂商设备在MST域内的完全互通。
开启摘要侦听后,设备不再比较配置摘要,即使VLAN映射关系不同,只要域名和修订级别相同,设备就可以处于同一个域中,所以建议不要在域边界端口开启摘要侦听,并且确保域内所有设备的VLAN和实例映射关系一致。