MSTP 多生成树协议

一、什么是MSTP MSTP:Multiple Spanning Tress,多生成树协议,前面提到的STP/RSTP协议以及Cisco的私有协议PVST+都属于单生成树(SST)协议,也就是对于支持多vlan的设备只能运行单一的生成树。MSTP是IEEE 802.1s中提出的一种STP和VLAN结合使用的新协议,它既继承了RSTP端口快速迁移的优点,又解决了RSTP中不同vlan必须运行在同一棵生成树上的问题 二、MSTP基本概念 实例和域 多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型生成树协议。简单说来,STP/RSTP是基于端口的,PVST+是基于VLAN的,而MSTP是基于实例的。与STP/RSTP和PVST+相比,MSTP中引入了“实例”(Instance)和“域”(Region) “的概念。所谓“实例”就是多个VLAN的一个集合,这种通过多个VLAN捆绑到一个实例中去的方法可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算是独立的,在这些实例上就可以实现负载均衡。使用的时候,可以把多个相同拓扑结构的VLAN映射到某一个实例中,这些VLAN在端口上的转发状态将取决于对应实例在MSTP里的转发状态。

所谓“域”,由域名(Configuration Name)、修订级别(Revision Level)、格式选择器(Configuration Identifier Format Selector)、VLAN与实例的映射关系(mapping of VIDs to spanning trees),其中域名、格式选择器和修订级别在BPDU报文中都有相关字段,而VLAN与实例的映射关系在BPDU报文中表现摘要信息(Configuration Digest),该摘要是根据映射关系计算得到的一个16字节签名。只有上述四者都一样且相互连接的交换机才认为在同一个域内。如图 1 MSTP基本概念示意图所示,每个域内所有交换机都有相同的MST域配置。缺省时,域名就是交换机的桥MAC地址,修订级别等于0,格式选择器等于0,所有的VLAN都映射到实例0上。 MSTP的实例0具有特殊的作用,称为CIST(Common Internal Spanning Tree),即公共与内部生成树,其他的实例称为MSTI(Multiple Spanning Tree Instance),即多生成树实例。CIST由通过STP/RSTP计算得到的单生成树和MSTP计算得到的域组成,是为了保证在所有桥接的局域网是简单的和全连接的。CST(Common Spanning Tree)是STP/RSTP也是MSTP计算出的用于连接MST域的单生成树。IST(Internal Spanning Tree)是在一个给定的MST域内由CIST提供的连通性。如图 1 MSTP基本概念示意图所示,如果把每个MST域看作是一个“交换机”,CST就是这些“交换机”通过STP/RSTP或者MSTP协议计算生成的一棵生成树。IST是CIST在MST域内的片段,是一个特殊的多生成树实例。 总根和域根 与STP和RSTP相比,MSTP中引入了总根和域根的概念。总根是一个全局概念,对于所有互连的运行STP/RSTP/MSTP的交换机只能有一个总根,也即是CIST的根;而域根是一个局部概念,是相对于某个域的某个实例而言的。如图 1 MSTP基本概念示意图所示,所有相连的设备,总根只有一个,而每个域所包含的域根数目与实例个数相关。 外部路径开销和内部路径开销 与STP和RSTP相比,MSTP中引入了外部路径开销和内部路径开销的概念。外部路径开销是相对于CIST而言的,同一个域内外部路径开销是相同的;内部路径开销是域内相对于某个实例而言的,同一端口对于不同实例对应不同的内部路径开销。 边缘端口、Master端口和Alternate端口 与STP和RSTP相比,MSTP中引入了域边缘端口和Master端口的概念。域边缘端口是连接不同MST域、MST域和运行STP的区域、MST域和运行RSTP的区域的端口,位于MST域的边缘;在某个不包含总根的域中,Master端口是所有边界端口中,到达总根具有最小开销的端口,也就是连接MST域到总根的端口,位于整个域到总根的最短路径上;Alternate端口是Master端口的备份端口,如果Master端口被阻塞后,Alternate端口将成为新的Master端口。如图 1 MSTP基本概念示意图所示,域根在Region 1中,其中设备C与Region 2和Region 3相连的端口是域边界端口,而Region 2中设备A与Region 1相连的端口是Master端口。Region 3中设备A与Region 1相连的端口是Alternate端口。另外包含Master端口的设备称为主设备[3]。 MSTP与STP/RSTP一脉相承 MSTP与STP/RSTP一脉相承,三者有很好的兼容性。在同一个域内的交换机将互相传播和接收不同生成树实例的配置消息,保证所有生成树实例的计算在全域内进行;而不同域的交换机仅仅互相传播和接收CIST生成树的配置消息,MSTP协议利用CIST保证全网络拓扑结构的无环路存在,也是利用CIST保持了同STP/RSTP的向上兼容,因此从外部来看,一个MSTP域就相当于一个交换机,对不同的域、STP、RSTP交换机是透明的。 与STP和RSTP相比,MSTP具有VLAN认知能力,可以实现负载均衡,可以实现类似RSTP的端口状态快速切换;与PVST+相比,MSTP可以捆绑多个VLAN到一个实例中以降低资源占用率,并且可以很好地向下兼容STP/RSTP协议。 从报文格式上分析RSTP/MSTP的相同之处,两者协议标识符都是0x0000,BPDU类型都是0x2, Max Age字段都表示保存BPDU的时间,Hello Time字段都表示BPDU的传送间隔,Forward Delay都表示交换机状态迁移的延迟时间,Version 1 Length的值都是0。 从报文格式上分析两者的不同之处,MSTP协议版本号是3,而RSTP协议的版本号是2,RSTP中Message Age字段表示穿越运行RSTP桥后消息的年龄(在根端口处加1),MSTP中Message Age字段表示穿越MST域后消息的年龄(在域Master口处加1),在MSTP中引入了公共和内部生成树(Common and Internal Spanning Tree--CIST),CIST是连接一个交换网络内所有交换机的单生成树,因此在MSTP中,与RSTP报文的对应字段都与CIST相关。 另外MSTP与STP/RSTP在报文格式上相比,STP/RSTP中定义的Root Bridge Identifier , Designated Bridge Identifier,Designated Port Identifier等概念在MSTP对应的是CIST Root Identifier, CIST Designated Bridge, CIST Designated Port Identifier等概念,另外STP/RSTP中的Path Cost字段对应MSTP中的CIST External Path Cost字段,详细的描述请参见附录中RSTP、MSTP802.1s、Legacy BPDU格式对比。 三、MSTP基本原理 CST:不管多少个vlan,都只有一个STP的实例 PVST:N个vlan,就有相等的N个STP的实例 MSTP:N个vlan,可以把n个vlan映射到多个实例上 MSTP 多生成树协议_第1张图片MSTP 多生成树协议_第2张图片 四、MSTP配置 ①区域名称:用于标记同一个MSTP的区域,只有区域名称一样才计算同一个MSTP实例 ②修正号:十进制数值,自定义,修正号一致,才保证MSTP的区域一致。 附:只要区域名称、修正号都一致的情况下,才认定为是同一个MSTP域。 ③实例的映射关系 instance(实例) 默认存在instance0:默认所有的vlan都是映射到实例0 自定义实例: 实例1(instance1):vlan10,vlan20,vlan30,vlan40 实例2(instance2):vlan11,vlan21,vlan31,vlan41     配置MSTP: ①启用MSTP(区域内的所有交换机都需要启用MSTP) sw1(config)#spanning-tree mode mst ②进入MSTP的配置模式配置相关参数: sw1(config)#spanning-tree mst configuration ——进入MST的配置模式 sw1(config-mst)# sw1(config-mst)#? abort Exit region configuration mode, aborting changes——退出区域配置模式,不保存 exit Exit region configuration mode, applying changes——退出区域配置模式,保存配置 instance Map vlans to an MST instance——把vlan映射到同一个实例上 name Set configuration name——定义MST的域名 no Negate a command or set its defaults——删除某条命令 private-vlan Set private-vlan synchronization——设定PVLAN同步 revision Set configuration revision number——配置修正号,需要保证所有修正号一致 show Display region configurations——查看当前的配置 sw1(config-mst)#     Instance 1: 10 VLAN0010 active
20 VLAN0020 active
Instance 2: 30 VLAN0030 active
40 VLAN0040 active
其他的vlan默认映射到Instance 0:   sw1(config)#spanning-tree mst configuration ——进入MSTP的配置模式 sw1(config-mst)#name MYMSTP——定义MSTP的域名 sw1(config-mst)#revision ? <0-65535> Configuration revision number sw1(config-mst)#revision 1——定义修正号 sw1(config-mst)#instance ? <0-4094> MST instance id sw1(config-mst)#instance 1 ? vlan Range of vlans to add to the instance mapping sw1(config-mst)#instance 1 vlan ? LINE vlan range ex: 1-65, 72, 300 -200 sw1(config-mst)#instance 1 vlan 10,20——实例1映射vlan10,20 sw1(config-mst)#instance 2 vlan 30,40——实例2映射vlan30,40 sw1(config-mst)#exit——退出并保存配置命令 sw1(config)#     SW1的MST的配置: sw1#show run | s mst spanning-tree mode mst spanning-tree mst configuration name MYMSTP revision 1 instance 1 vlan 10, 20 instance 2 vlan 30, 40 sw1#   接着, SW2/SW3做同样的配置: sw2(config)#spanning-tree mode mst sw2(config)#spanning-tree mst configuration sw2(config-mst)# name MYMSTP sw2(config-mst)# revision 1 sw2(config-mst)# instance 1 vlan 10, 20 sw2(config-mst)# instance 2 vlan 30, 40 sw2(config-mst)#exit   sw3(config)#spanning-tree mst configuration sw3(config-mst)# name MYMSTP sw3(config-mst)# revision 1 sw3(config-mst)# instance 1 vlan 10, 20 sw3(config-mst)# instance 2 vlan 30, 40 sw3(config-mst)#exit MSTP 多生成树协议_第3张图片 控制每个实例的根桥的选举: sw1(config)#spanning-tree mst 1 ? priority Set the bridge priority for the spanning tree root Configure switch as root     验证MST的映射关系: sw2#show spanning-tree mst ? WORD MST instance list, example 0,2-4,6,8-12——查看某个实例的STP的环境 configuration MST current region configuration——查看MST的配置(映射关系) detail show detailed information——查看MST的详细参数 interface Spanning tree interface status and configuration——查看MST的某个接口 service show service instance information——查看MST的服务参数 | Output modifiers  MSTP 多生成树协议_第4张图片MSTP 多生成树协议_第5张图片 sw2#show spanning-tree mst service instance     五、小结: MSTP概念:实例和域、总根和域根、外部路径开销和内部路径开销、边缘端口、Master端口和Alternate端口、MSTP与STP/RSTP一脉相承 MSTP如何控制根桥:比较所有交换机发送的配置消息,其中树根ID最小的交换机为根桥。 MSTP如何控制根端口:每台交换机把接收最优配置消息的那个端口定为自身交换机的根端口。 sw2(config-if)#spanning-tree mst 1 ? cost Change the interface spanning tree path cost for an instance——修改端口的STP的Cost值 port-priority Change the spanning tree port priority for an instance——修改STP的端口的优先级 验证命令: #show spanning-tree mst configuration——查看MST的映射关系 #show spanning-tree mst XX——查看某个实例的参数    MSTP 多生成树协议_第6张图片 sw2#clear spanning-tree detected-protocols interface f0/23——针对某个端口 sw2#clear spanning-tree detected-protocols ——针对所有的端口协商

由睿江云运维人员提供,想了解更多,请登陆www.eflycloud.com

转载于:https://my.oschina.net/u/3363053/blog/1439029

你可能感兴趣的:(MSTP 多生成树协议)