本章主要讲述的是MSTP,关于STP、RSTP、MSTP会有很多人分不清出,下面可以了解一下这三个协议,相信你会有一个清晰的认识。
STP (Spanning Tree Protocol,生成树协议)不能使端口状态快速迁移,即使是在
点对点链路或边缘端口,也必须等待2 倍的Forward delay 的时间延迟,端口才能
迁移到转发状态。
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)可以快速收敛,但是和
STP 一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按 VLAN 阻塞冗
余链路,所有VLAN 的报文都沿着一棵生成树进行转发。
MSTP(Multiple Spanning Tree Protocol,多生成树协议)将环路网络修剪成为一
个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据
转发的多个冗余路径,在数据转发过程中实现VLAN 数据的负载均衡。
MSTP 兼容 STP 和RSTP,并且可以弥补STP 和RSTP 的缺陷。它既可以快速收
敛,也能使不同VLAN 的流量沿各自的路径分发,从而为冗余链路提供了更好的负
载分担机制。
MSTP 将整个二层网络划分为多个 MST域,各个域之间通过计算生成CST ;域内
则通过计算生成多棵生成树,每棵生成树都被称为是一个MSTI。MSTP 同RSTP
一样,使用配置消息进行生成树的计算,只是配置消息中携带的是交换机上MSTP
的配置信息。
从上面我们可以看到mstp有很强的优势,不但可以环路网络修剪成为一个无环的树型网络,而且还可以实现VLAN 数据的负载均衡。有了更加优秀的生成树协议我们何不一起来了解一下MSTP呢?
下面将介绍一个案例:
方案:交换机SW1的桥跟为instance 1 备份桥跟为instance 2
交换机SW1的桥跟为instance 1 备份桥跟为instance 2
我们要实现全网的无环结构,而且还要实现vlan的负载均衡
拓扑图:
方案:交换机SW1的桥跟为instance 1 备份桥跟为instance 2
交换机SW1的桥跟为instance 1 备份桥跟为instance 2
这次我们使用华为的交换机,型号:LS-2403H-HI,因为这个型号的交换机支持MSTP
SW1配置
首先我们启动MSTP
[SW1]stp enable
这里默认启动的是MSTP
如果你要是想设置其他生成树协议可以设置STP 模式
[SW1]stp mode ?
mstp Multiple spanning tree protocol mode
rstp Rapid spanning tree protocol mode
stp Spanning tree protocol mode
[SW1]stp region-configuration 进入MST域视图
[SW1-mst-region]region-name jrd 配置MST域的域名,这里域名为jrd,域名必须一致
[SW1-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一个树映射vlan 10 20
[SW1-mst-region]instance 2 vlan 30 40 第二树映射vlan 30 40
[SW1-mst-region]revision-level 1 配置MST域的 MSTP 修订级别为1
[SW1-mst-region]active region-configuration 激活MST域的配置
下面配置当前交换机为根桥或备份根桥
[SW1] stp instance 2 root primary 指定SW1为instance 2生成树的根桥
[SW1] stp instance 1 root secondary 指定SW1为instance 1生成树的备份根桥
下面来看下MST域的信息
[SW1]stp region-configuration
[SW1-mst-region]check region-configuration
别忘了vlan在交换机之间的通信走的是trunk链路,我们还要设置trunk链路
[SW1]interface Ethernet 1/0/1
[SW1-Ethernet1/0/1]port link-type trunk
[SW1-Ethernet1/0/1]port trunk permit vlan all
[SW1]interface Ethernet 1/0/24
[SW1-Ethernet1/0/24]port link-type trunk
[SW1-Ethernet1/0/24]port trunk permit vlan all
SW2
[SW2]stp enable 已经启动MSTP
%Apr 2 07:56:21:127 2000 SW2 MSTP/3/STPSTART:- 1 -STP is now enabled on the device.
[SW2]vlan 10
[SW2]vlan 20
[SW2]vlan 30
[SW2]vlan 40
[SW2]stp region-configuration 进入MST域视图
[SW2-mst-region]region-name jrd 配置MST域的域名,这里域名为jrd,域名必须一致
[SW2-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一个树映射vlan 10 20
[SW2-mst-region]instance 2 vlan 30 40 第二树映射vlan 30 40
[SW2-mst-region]revision-level 1 配置MST域的 MSTP 修订级别为1
[SW2-mst-region]active region-configuration 激活MST域的配置
下面配置当前交换机为根桥或备份根桥
[SW2] stp instance 1 root primary 指定SW2为instance 1生成树的根桥
[SW2] stp instance 2 root secondary 指定SW2为instance 2生成树的备份根桥
下面来看下MST域的信息
[SW2]stp region-configuration
[SW2-mst-region]check region-configuration
别忘了vlan在交换机之间的通信走的是trunk链路,我们还要设置trunk链路
[SW2]interface Ethernet 1/0/24
[SW2-Ethernet1/0/24]port link-type trunk
[SW2-Ethernet1/0/24]port trunk permit vlan all
[SW2]interface Ethernet 1/0/22
[SW2-Ethernet1/0/22]port link-type trunk
[SW2-Ethernet1/0/22]port trunk permit vlan all
SW3配置
[SW3]stp enable 已经启动MSTP
%Apr 2 07:56:21:127 2000 SW2 MSTP/3/STPSTART:- 1 -STP is now enabled on the device.
[SW3]stp region-configuration 进入MST域视图
[SW3-mst-region]region-name jrd 配置MST域的域名,这里域名为jrd,域名必须一致
[SW3-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一个树映射vlan 10 20
[SW3-mst-region]instance 2 vlan 30 40 第二树映射vlan 30 40
[SW3-mst-region]active region-configuration 激活MST域的配置
因为这个交换机不是任何一个vlan的跟和备份跟,所以不需要配置,这里我们只将SW3加入MST区域
别忘了vlan在交换机之间的通信走的是trunk链路,我们还要设置trunk链路
[SW3]interface Ethernet 1/0/1
[SW3-Ethernet1/0/22]port link-type trunk
[SW3-Ethernet1/0/22]port trunk permit vlan all
[SW3]interface Ethernet 1/0/22
[SW3-Ethernet1/0/22]port link-type trunk
[SW3-Ethernet1/0/22]port trunk permit vlan all
下面我们来测试下
首先我们需要了解MSTP的端口角色和端口状态
端口角色
在MSTP 的计算过程中,端口角色主要有根端口、指定端口、Master端口、域边缘
端口、Alternate端口和Backup端口。
根端口是负责向树根方向转发数据的端口。
指定端口是负责向下游网段或交换机转发数据的端口。
Master端口是连接 MST域到总根的端口,位于整个域到总根的最短路径上。
域边缘端口是连接不同MST域、MST域和运行STP 的区域、MST域和运行
RSTP 的区域的端口,位于 MST域的边缘。
Alternate端口是Master端口的备份端口,如果Master端口被阻塞后,Alternate
端口将成为新的Master端口。
当同一台交换机的两个端口互相连接时就存在一个环路,此时交换机会将其中
一个端口阻塞,Backup端口是被阻塞的那个端口。
MSTP 中,根据端口是否转发用户流量、接收/ 发送BPDU 报文,端口状态划分为三
种:
Forwarding 状态:既转发用户流量又接收/ 发送BPDU 报文;
Learning 状态:不转发用户流量,只接收/ 发送BPDU 报文;
Discarding 状态:只接收BPDU 报文。
通过上面的介绍,我们已经知道这些端口的状态以及含义,下面我们一起看下SW1、SW2、SW3的端口状态,从下图可以看到每一个树都有自己的跟端口(root)、指定端口(mast)、阻塞端口。