为什么要用MSTP

 在前面讲解了STP和RSTP的工作原理以及他们之间的关系与区别。但是不管是STP还是RSTP,在网络中进行生成树计算的时候都没有考虑到VLAN的情况。它们都是对单一生成树实例进行应用的。也就是说,在STP和RSTP中所有的VLAN都共享相同的生成树。

     为了解决这一个问题,思科提出了第二代生成树---PVST、PVST+。按照PVST协议规定,每一个VLAN都有一个生成树,而且是每隔2秒就会发送一个BPDU,这对于一个有着上千万个VLAN网络来说,一方面这么多生成树维护起来比较困难,另一方面,为每个VLAN每隔2秒就发送一个BPDU,交换机也是难以承受的。

      为了解决PVST带来的困难,思科又提出了第三代生成树----MSTMSTP多生成树协议。MSTP可以对网络中众多的VLAN进行分组,把VLAN分到组里。这里的组就是后面讲的MST实例(Instance)。每个实例一个生成树,BPDU只对实例进行发送。这样就达到了负载均衡。

总结一下:

第一代:STPRSTP:没有考虑VLAN的情况,所有的VLAN都共享相同的生成树。

第二代:PVST、PVST+: 每一个VLAN一个生成树。

第三代: MSTP: 将多个VLAN分到组里面。每个组共享一个生成树。

MSTP概述

   MSTP  多生成树协议 又是802.1s 标准。

   MSTP在继承了第一代生成树RSTP的优点(快速收敛)的基础上也实现了负载均衡的功能,而且它PVST的收敛还要快,并且STPRSTPPVST都是完全兼容的。可谓是功能齐全的现代生成树。

MSTP在计算生成树的过程中,会为每个VLAN或每组VLAN计算一个生成树。一个组也就是一个实例,一个实例(也就是一个转发路径)的失效是不会影响其他实例的。

MSTP区域与实例

  为了让一个或多个Vlan运行一个生成树,需要对网络中的VLAN交换机进行实例的划分,也就是将一个或者多个VLAN映射到一个MST实例(MST Instance)中,也就是划分到一个组中,然后在这个实例中运行一个生成树。那么在一个MST实例中将会有不同的多个VLAN,具有相同MST实例映射规则或配置的交换机组成了一个MST区域region

    同一个MST区域中的VLAN都应该有相同的三种属性:

   1. MST配置名称(Name

   2. MST修正号(Resvison number

   3. VlanMST实例的映射: 在每台交换机里,最多建64MST实例,编号从1-64Instance 0是强制存在的。在交换机上可以通过配置将Vlan和不同的Instance进行映射,没有被映射到MST实例的Vlan默认属于Instance 0.实际上,在配置映射关系之前,交换机上所有的Vlan都属于Instance 0.

 如下图所示:交换机AC在区域A中。区域A中有4VLANVLAN12在实例1中,VLAN34在实例2中。

生成树【03】MSTP详解及MSTP配置实例_MSTP域 实例   MSTP

 

 在每个区域中,MSTP都将为每个MST实例进行独立的生成树运行。即:实例1Instance1)将运行一个生成树。实例2Instance2)将运行另一个生成树。 

MSTP术语

  在每个区域中,MSTP都将为每个MST实例进行独立的生成树运行。因为这个特点,在MSTP网络中会有很多的生成树,包括了MSTI生成树、ISTCISICST

生成树【03】MSTP详解及MSTP配置实例_MSTP域 实例   MSTP_02

 

 

如上图所示:在区域A中,实例1和实例2各自运行一本实例的生成树,成为MSTI生成树。

     在整个区域A中所有的交换机运行一个生成树,成为IST生成树

     在整个交换机组成的网络中,区域A和区域B各自被视为一个网桥。在这些网桥间运行的生成树被称为CST

   CST是整个网络中ISTCST、以及802.1d网桥的集合。

MSTP配置实例

【案例描述】 

某企业网络管理员认识到,传统的生成树协议(STP)是基于整个交换网络产生一个树形拓扑结构,所有的VLANs都共享一个生成树,这种结构不能进行网络流量的负载均衡,使得有些交换设备比较繁忙,而另一些交换设备又很空闲,为了克服这个问题,他决定采用基于VLAN的多生成树协议MSTP,现要在交换机上做适当配置来完成这一任务。

    本实验采用4台交换机设备,PC1PC3Vlan 10中,IP地址分别为172.16.1.10/24172.16.1.30/24PC2Vlan 20中,PC4Vlan 40

【实现功能】

在实现网络冗余和可靠性的同时实现负载均衡。 

【实验拓扑】

生成树【03】MSTP详解及MSTP配置实例_MSTP域 实例   MSTP_03

 

实验步骤

 以下实验并没有实现PC机之间的通信,如果要实现,读者可以自己在三层设备中加入IP。

  1. 第一步:配置接入层交换机S2126-A 
  2. S2126-A (config)#spanning-tree   !开启生成树  
  3. S2126-A (config)#spanning-tree mode mstp    !配置生成树模式为MSTP  
  4.  
  5. S2126-A(config)#vlan 10    !创建Vlan 10 
  6. S2126-A(config)#vlan 20    !创建Vlan 20 
  7. S2126-A(config)#vlan 40    !创建Vlan 40 
  8.  
  9. S2126-A(config)#interface fastethernet 0/1 
  10. S2126-A(config-if)#switchport access vlan 10   !分配端口F0/1给Vlan 10 
  11. S2126-A(config)#interface fastethernet 0/2 
  12. S2126-A(config-if)#switchport access vlan 20   !分配端口F0/2给Vlan 20 
  13. S2126-A(config)#interface fastethernet 0/23 
  14. S2126-A(config-if)#switchport mode trunk      !定义F0/23为trunk端口 
  15. S2126-A(config)#interface fastethernet 0/24 
  16. S2126-A(config-if)#switchport mode trunk      !定义F0/24为trunk端口 
  17. S2126-A(config)#spanning-tree mst configuration    ! 进入MSTP配置模式 
  18. S2126-A(config-mst)#instance 1 vlan 10    !配置instance 1(实例1)并关联10 
  19. S2126-A(config-mst)#instance 2 vlan 20,40     !配置实例2并关联Vlan 20和40 
  20. S2126-A(config-mst)#name region1            !配置域名称 
  21. S2126-A(config-mst)#revision 1               !配置版本(修订号) 

验证测试:验证MSTP配置

  1. S2126-A#show spanning-tree mst configuration     ! 显示MSTP全局配置 
  2. Multi spanning tree protocol : Enabled 
  3. Name     : region1 
  4. Revision : 1 
  5. Instance  Vlans Mapped 
  6. --------  ------------------------------------------------------------ 
  7. 0         2-9,11-19,21- 39,41- 4094 
  8. 1         10 
  9. 2         20,40 
  1. 第二步:配置接入层交换机S2126-B 
  2. S2126-B (config)#spanning-tree    !开启生成树  
  3. S2126-B (config)#spanning-tree mode mstp   !采用MSTP生成树模式 
  4.  
  5. S2126-B(config)#vlan 10    !创建Vlan 10 
  6. S2126-B(config)#vlan 20    !创建Vlan 20 
  7. S2126-B(config)#vlan 40    !创建Vlan 40 
  8.  
  9. S2126-B(config)#interface fastethernet 0/1 
  10. S2126-B(config-if)#switchport access vlan 10   !分配端口F0/1给Vlan 10 
  11. S2126-B(config)#interface fastethernet 0/2 
  12. S2126-B(config-if)#switchport access vlan 40   !分配端口F0/2给Vlan 40 
  13. S2126-B(config)#interface fastethernet 0/23 
  14. S2126-B(config-if)#switchport mode trunk      !定义F0/23为trunk端口 
  15. S2126-B(config)#interface fastethernet 0/24 
  16. S2126-B(config-if)#switchport mode trunk      !定义F0/24为trunk端口 
  17.  
  18. S2126-B(config)#spanning-tree mst configuration    ! 进入MSTP配置模式 
  19. S2126-B(config-mst)#instance 1 vlan 10     !配置instance 1(实例1)并关联10 
  20. S2126-B(config-mst)#instance 2 vlan 20,40     !配置实例2并关联Vlan 20和40 
  21. S2126-B(config-mst)#name region1            !配置域名称 
  22. S2126-B(config-mst)#revision 1               !配置版本(修订号) 

验证测试:验证MSTP配置

  1. S2126-B#show spanning-tree mst configuration 
  2. Multi spanning tree protocol : Enabled 
  3. Name     : region1 
  4. Revision : 1 
  5. Instance  Vlans Mapped 
  6. --------  ------------------------------------------------------------ 
  7. 0         2-9,11-19,21-39,41-4094 
  8. 1         10 
  9. 2         20,40 
  1. 第三步:配置分布层交换机S3550-A 
  2. S3550-A(config)#spanning-tree  !开启生成树  
  3. S3550-A (config)#spanning-tree mode mstp   !采用MSTP生成树模式 
  4.  
  5. S3550-A(config)#vlan 10 
  6. S3550-A(config)#vlan 20 
  7. S3550-A(config)#vlan 40 
  8.  
  9. S3550-A(config)#interface fastethernet 0/1 
  10. S3550-A(config-if)#switchport mode trunk      !定义F0/1为trunk端口 
  11. S3550-A(config)#interface fastethernet 0/23 
  12. S3550-A(config-if)#switchport mode trunk      !定义F0/23为trunk端口 
  13. S3550-A(config)#interface fastethernet 0/24 
  14. S3550-A(config-if)#switchport mode trunk      !定义F0/24为trunk端口 
  15.  
  16. S3550-A (config)#spanning-tree mst 1 priority 4096   !配置交换机S3550-A在instance 1中的优先级为4096  ,缺省是32768,值越小越优先成为该instance中的root switch 
  17.  
  18. S3550-A (config)#spanning-tree mst configuration     ! 进入MSTP配置模式 
  19. S3550-A (config-mst)#instance 1 vlan 10     ! 配置实例1并关联Vlan 10 
  20. S3550-A (config-mst)#instance 2 vlan 20,40    ! 配置实例2并关联Vlan 20和40 
  21. S3550-A (config-mst)#name region1          ! 配置域名为region1 
  22. S3550-A (config-mst)#revision 1             ! 配置版本(修订号) 

验证测试:验证MSTP配置

  1. S3550-A#show spanning-tree mst configuration 
  2. Multi spanning tree protocol : Enabled 
  3. Name     : region1 
  4. Revision : 1 
  5. Instance  Vlans Mapped 
  6. --------  ------------------------------------------------------------ 
  7. 0         2-9,11-19,21-39,41-4094 
  8. 1         10 
  9. 2         20,40 
  1. 第四步:配置分布层交换机S3550-B 
  2. S3550-B(config)#spanning-tree  !开启生成树  
  3. S3550-B (config)#spanning-tree mode mstp   !采用MSTP生成树模式 
  4.  
  5. S3550-B(config)#vlan 10 
  6. S3550-B(config)#vlan 20 
  7. S3550-B(config)#vlan 40 
  8.  
  9. S3550-B(config)#interface fastethernet 0/1 
  10. S3550-B(config-if)#switchport mode trunk      ! 定义F0/1为trunk端口 
  11. S3550-B(config)#interface fastethernet 0/23 
  12. S3550-B(config-if)#switchport mode trunk      ! 定义F0/23为trunk端口 
  13. S3550-B(config)#interface fastethernet 0/24 
  14. S3550-B(config-if)#switchport mode trunk      ! 定义F0/24为trunk端口 
  15.  
  16. S3550-B (config)#spanning-tree mst 2 priority 4096   !配置交换机S3550-B在instance 2(实例2) 中的优先级为4096  ,缺省是32768,值越小越优先成为该region (域)中的root switch 
  17.  
  18. S3550-B (config)#spanning-tree mst configuration     ! 进入MSTP配置模式 
  19. S3550-B (config-mst)#instance 1 vlan 10     ! 配置实例1并关联Vlan 10 
  20. S3550-B (config-mst)#instance 2 vlan 20,40    ! 配置实例2并关联Vlan 20和40 
  21. S3550-B (config-mst)#name region1          ! 配置域名为region1 
  22. S3550-B (config-mst)#revision 1             ! 配置版本(修订号) 

 

验证测试:验证MSTP配置

  1. S3550-B#show spanning-tree mst configuration 
  2. Multi spanning tree protocol : Enabled 
  3. Name     : region1 
  4. Revision : 1 
  5. Instance  Vlans Mapped 
  6. --------  ------------------------------------------------------------ 
  7. 0         2-9,11-19,21-39,41-4094 
  8. 1         10 
  9. 2         20,40 
  1. 第五步:验证交换机配置 
  2.  
  3. S3550-A#show spanning-tree mst 1      !显示交换机S3550-A上实例1的特性 
  4. ###### MST 1 vlans mapped : 10 
  5. BridgeAddr : 00d0.f8ff.4e3f            !交换机S3550-A的MAC地址 
  6. Priority : 4096                       ! 优先级 
  7. TimeSinceTopologyChange : 0d:7h:21m:17s 
  8. TopologyChanges : 0 
  9. DesignatedRoot : 100100D0F8FF4E3F   !后12位是MAC地址,此处显示是S3550-A自身的MAC,这说明S3550-A是实例1 (instance 1)的生成树的根交换机 
  10. RootCost : 0 
  11. RootPort : 0 
  12.  
  13. S3550-B#show spanning-tree mst 2         !显示交换机S3550-B上实例2的特性 
  14. ###### MST 2 vlans mapped : 20,40 
  15. BridgeAddr : 00d0.f8ff.4662 
  16. Priority : 4096 
  17. TimeSinceTopologyChange : 0d:7h:31m:0s 
  18. TopologyChanges : 0 
  19. DesignatedRoot : 100200D0F8FF4662    ! S3550-B是实例2 (instance 2)的生成树的根交换机 
  20. RootCost : 0 
  21. RootPort : 0 
  22.  
  23. S2126-A#show  spanning-tree mst 1     !显示交换机S2126-A上实例1的特性 
  24. ###### MST 1 vlans mapped : 10 
  25. BridgeAddr : 00d0.f8fe.1e49 
  26. Priority : 32768 
  27. TimeSinceTopologyChange : 7d:3h:19m:31s 
  28. TopologyChanges : 0 
  29. DesignatedRoot : 100100D0F8FF4E3F    ! 实例1的生成树的根交换机是S3550-A 
  30. RootCost : 200000 
  31. RootPort : Fa0/23                 !对实例1而言,S2126-A的根端口是Fa0/23  
  32.  
  33. S2126-A#show  spanning-tree mst 2    !显示交换机S2126-A上实例2的特性 
  34. ###### MST 2 vlans mapped : 20,40 
  35. BridgeAddr : 00d0.f8fe.1e49 
  36. Priority : 32768 
  37. TimeSinceTopologyChange : 7d:3h:19m:31s 
  38. TopologyChanges : 0 
  39. DesignatedRoot : 100200D0F8FF4662    ! 实例2的生成树的根交换机是S3550-B 
  40. RootCost : 200000 
  41. RootPort : Fa0/24                    !对实例2而言,S2126-A的根端口是Fa0/24