生成树协议的常见版本(多生成树协议MSTP)
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费,今天小编就来聊一聊关于生成树协议的常见版本?接下来我们就一起去研究一下吧!
生成树协议的常见版本
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费。
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
STP/RSTP的缺陷部分VLAN路径不通
如下图所示,网络中有SWA、SWB、SWC三台交换机。配置VLAN2通过两条上行链路,配置VLAN3只通过一条上行链路。
为了解决VLAN2的环路问题,需要运行生成树。设备运行STP/RSTP后,SWC与SWB相连的端口成为预备端口(Discarding状态),那么VLAN3的路径就会被断开,无法上行到SWB。
无法实现流量分担
如下图所示,为了实现流量分担,需要配置两条上行链路为Trunk链路,允许通过所有VLAN;SWA和SWB之间的链路也配置为Trunk链路,允许通过所有VLAN。将VLAN2的三层接口配置在SWA上,将VLAN3的三层接口配置在SWB上,希望VLAN2和VLAN3分别使用不同的链路上行到相应的三层接口。
但是设备运行STP/RSTP后,SWC与SWB相连的端口成为预备端口(Alternate Port)并处于Discarding状态,则VLAN2和VLAN3的数据都只能通过一条上行链路上行到SWA,无法实现流量分担。
次优二层路径
如下图所示,SWC与SWA和SWB相连的链路配置为Trunk链路,允许通过所有VLAN;SWA与SWB之间的链路也配置为Trunk链路,允许通过所有VLAN。
设备运行STP/RSTP后,环路被断开,VLAN2和VLAN3都直接上行到SWA。在SWA上配置VLAN2的三层接口,在SWB上配置VLAN3的三层接口,那么,VLAN3到达三层接口的路径就是次优的。
MSTP对STP和RSTP的改进
MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI之间彼此独立,且每个MSTI的计算过程基本与RSTP的计算过程相同。
MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的各个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
MST配置表为了在交换机上标识VLAN和MST Instance的映射关系,交换机维护一个MST配置表(MST Configuration Table)。
由MST配置表可见,一个MSTI可以与一个或多个VLAN对应,但一个VLAN只能与一个MSTI对应。
MST区域MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:
一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。
MST配置标识被封装在交换机相互发送的BPDU中,交换机通过MST配置标识(MST Configuration Identifier)来标识自己所在的区域。
如上图所示,MST配置标识的数据结构包括四部分,只有四部分设置都相同的相邻交换机才被认为是在同一个区域中。
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似,可参见STP介绍文中拓扑计算选举部分。。
MSTI具有以下的特点:
MSTP拓扑变化处理与RSTP拓扑变化处理过程类似,可参见RSTP文中拓扑变化处理部分。
配置MSTP功能示例如下图所示,SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引入了多实例。MSTP可设置VLAN映射表,把VLAN和生成树实例相关联。
配置思路
- 配置MSTP基本功能
- 与PC相连的端口不用参与MSTP计算,将其设置为边缘端口。
- 配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端口配置根保护功能。
- 配置设备的二层转发功能。
操作步骤
1.配置MSTP基本功能
a. 配置SwitchA、SwitchB、SwitchC和SwitchD到域名为RG1的域内,创建实例MSTI1和实例MSTI2
# 配置SwitchA的MST域。
[SwitchA] stp region-configuration
[SwitchA-mst-region] region-name RG1
[SwitchA-mst-region] instance 1 vlan 2 to 10
[SwitchA-mst-region] instance 2 vlan 11 to 20
[SwitchA-mst-region] active region-configuration
[SwitchA-mst-region] quit
# 配置SwitchB的MST域。
[SwitchB] stp region-configuration
[SwitchB-mst-region] region-name RG1
[SwitchB-mst-region] instance 1 vlan 2 to 10
[SwitchB-mst-region] instance 2 vlan 11 to 20
[SwitchB-mst-region] active region-configuration
[SwitchB-mst-region] quit
# 配置SwitchC的MST域。
[SwitchC] stp region-configuration
[SwitchC-mst-region] region-name RG1
[SwitchC-mst-region] instance 1 vlan 2 to 10
[SwitchC-mst-region] instance 2 vlan 11 to 20
[SwitchC-mst-region] active region-configuration
[SwitchC-mst-region] quit
# 配置SwitchD的MST域。
[SwitchD] stp region-configuration
[SwitchD-mst-region] region-name RG1
[SwitchD-mst-region] instance 1 vlan 2 to 10
[SwitchD-mst-region] instance 2 vlan 11 to 20
[SwitchD-mst-region] active region-configuration
[SwitchD-mst-region] quit
说明
当需要两台交换设备属于同一个MST域时,需保证以下信息配置相同:
- MST域的域名配置相同。
- 多生成树实例和VLAN的映射关系配置相同。
- MST域的修订级别配置相同。
b. 在域RG1内,配置MSTI1与MSTI2的根桥与备份根桥
# 配置SwitchA为MSTI1的根桥、MSTI2的备份根桥。
[SwitchA] stp instance 1 root primary
[SwitchA] stp instance 2 root secondary
# 配置SwitchB为MSTI1的备份根桥、MSTI2的根桥。
[SwitchB] stp instance 1 root secondary
[SwitchB] stp instance 2 root primary
c. 使能MSTP,实现破除环路
# 在SwitchA上启动MSTP。
[SwitchA] stp enable
# 在SwitchB上启动MSTP。
[SwitchB] stp enable
# 在SwitchC上启动MSTP。
[SwitchC] stp enable
# 在SwitchD上启动MSTP。
[SwitchD] stp enable
2.将与终端相连的端口设置为边缘端口
# 配置SwitchC端口GE1/0/1为边缘端口。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] stp edged-port enable
[SwitchC-GigabitEthernet1/0/1] quit
# 配置SwitchD端口GE1/0/1为边缘端口。
[SwitchD] interface gigabitethernet 1/0/1
[SwitchD-GigabitEthernet1/0/1] stp edged-port enable
[SwitchD-GigabitEthernet1/0/1] quit
3.配置保护功能,如在各实例的根桥设备的指定端口配置根保护功能
# 在SwitchA端口GE1/0/1上启动根保护。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] stp root-protection
[SwitchA-GigabitEthernet1/0/1] quit
# 在SwitchB端口GE1/0/1上启动根保护。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] stp root-protection
[SwitchB-GigabitEthernet1/0/1] quit
4.配置设备的二层转发功能,配置过程略
5.验证配置结果
在网络计算稳定后,执行以下操作,验证配置结果。
# 在SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:
# 在SwitchB上执行display stp brief命令,结果如下:
# 在SwitchC上执行display stp interface brief命令,结果如下:
# 在SwitchD上执行display stp interface brief命令,结果如下:
说明:
本配置举例以实例1和实例2为例,因此不用关注实例0中端口的状态。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com