MSTP(多区域生成树协议)

MSTP(多区域生成树协议)

多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE802.1s中定义的生成树协议,通过生成多个生成树,来解决以太网环路问题。

STP/RSTP的缺点:

1.部分VLAN路径不通

在这里插入图片描述

如图所示,网络中有SWA、SWB、 SWC三台交换机。配置VLAN2通过两条上行链路,配置VLAN3只通过一条上行链路。

为了解决VLAN2的环路问题,需要运行生成树。在运行单个生成树的情况下,假设SWC与SWB相连的端口成为预备端口( Discarding状态) ,那么VLAN3的路径就会被断开,无法上行到SWB。

2.无法实现流量分担

在这里插入图片描述

  • 为了实现流量分担,需要配置两条上行链路为Trunk链路,允许通过所有VLAN ; SWA和SWB之间的链路也配置为Trunk链路,允许通过所有VLAN。将VLAN2的三层接口配置在SWA_上,将VLAN3的三层接口配置在SWB上。
  • 我们希望VLAN2和VLAN3分别使用不同的链路上行到相应的三层接口,但是如果连接到SWB的端口成为预备端口( Alternate Port )并处于Discarding状态,则VLAN2和VLAN3的数据都只能通过一条上行链路上行到SWA ,这样就不能实现流量分担。

3.次优二层路径

在这里插入图片描述

MSTP对STP/RSTP改进

  • 为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
  • MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)。
  • 所谓生成树实例就是多个VLAN的一个集合。通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上的转发状态取决于端口在对应MSTP实例的状态。

MSTP基本概念:

  • MST域(MST Region)

都启动了MSTP

  • 具有相同的域名。
  • 具有相同的VLAN到生成树实例映射配置。
  • 具有相同的MSTP修订级别配置。

一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。

  • VLAN映射表:

VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系。

  • CST

公共生成树CST(Common Spanning Tree)是连接交换网络内所有MST域的一棵生成树。

如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。

  • IST

    内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。

    IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。

    IST是CIST在MST域中的一个片段。

  • SST

运行STP或RSTP的交换设备只能属于一个生成树。

MST域中只有一个交换设备,这个交换设备构成单生成树。

  • CIST

    公共和内部生成树CIST(Common and Internal Spanning Tree)是通过STP或RSTP协议计算生成的,连接一个交换网络内所有交换设备的单生成树。

  • 域根

    域根(Regional Root)分为IST域根和MSTI域根。

    一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI域根是每个多生成树实例的树根。

  • 总根

    总根是CIST(Common and Internal Spanning Tree)的根桥。

  • 主桥

    主桥(Master Bridge)也就是IST Master,它是域内距离总根最近的交换设备。

  • 端口角色

    根端口、指定端口、Alternate端口、Backup端口和边缘端口的作用同RSTP协议中定义。

    除边缘端口外,其他端口角色都参与MSTP的计算过程。

    同一端口在不同的生成树实例中可以担任不同的角色。

端口角色:

端口角色 说明
根端口 在非根桥上,离根桥最近的端口是本交换设备的根端口。根交换设备没有根端口。根端口负责向树根方向转发数据。
指定端口 对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。
Alternate端口 从配置BPDU报文发送角度来看,Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。 从用户流量角度来看,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。
Backup端口 从配置BPDU报文发送角度来看,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。 从用户流量角度来看,Backup端口作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。
Master端口 1、 Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换设备上连接MST域到总根的端口。 2、 Master端口是域中的报文去往总根的必经之路。 3、 Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。
域边缘端口 域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。
边缘端口 1、如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。2、 边缘端口一般与用户终端设备直接连接。 3、 端口使能MSTP功能后,会默认启用边缘端口自动探测功能,当端口在(2 × Hello Timer + 1)秒的时间内收不到BPDU报文,自动将端口设置为边缘端口,否则设置为非边缘端口。

端口状态:

MSTP定义的端口状态与RSTP协议中定义相同。

注:根端口、Master端口、指定端口和域边缘端口支持Forwarding、Learning和Discarding状态,Alternate端口和Backup端口仅支持Discarding状态。

MSTP拓扑计算:

MSTP可以将整个二层网络划分为多个MST域,各个域之间通过计算生成CST。域内则通过计算生成多棵生成树,每棵生成树都被称为是一个多生成树实例。其中实例0被称为IST,其他的多生成树实例为MSTI。MSTP同STP一样,使用配置消息进行生成树的计算,只是配置消息中携带的是设备上MSTP的配置信息。

优先级向量:

MSTI和CIST都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU中。各交换设备互相交换MST BPDU来生成MSTI和CIST。

  • 优先级向量简介

    • 参与CIST计算的优先级向量为:

      { 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }

    • 参与MSTI计算的优先级向量为:

      { 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }

    括号中的向量的优先级从左到右依次递减。

向量说明:

向量名 说明
根交换设备ID 根交换设备ID用于选择CIST中的根交换设备。根交换设备ID = Priority(16bits) + MAC(48bits)。其中Priority为MSTI0的优先级。
外部路径开销(ERPC) 从CIST的域根到达总根的路径开销。MST域内所有交换设备上保存的外部路径开销相同。若CIST根交换设备在域中,则域内所有交换设备上保存的外部路径开销为0。
域根ID 域根ID用于选择MSTI中的域根。域根ID = Priority(16bits) + MAC(48bits)。其中Priority为MSTI0的优先级。
内部路径开销(IRPC) 本桥到达域根的路径开销。域边缘端口保存的内部路径开销大于非域边缘端口保存的内部路径开销。
指定交换设备ID CIST或MSTI实例的指定交换设备是本桥通往域根的最邻近的上游桥。如果本桥就是总根或域根,则指定交换设备为自己。
指定端口ID 指定交换设备上同本设备上根端口相连的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。
接收端口ID 接收到BPDU报文的端口。Port ID = Priority(4位) + 端口号(12位)。端口优先级必须是16的整数倍。
  • 比较原则

    同一向量比较,值最小的向量具有最高优先级。

    优先级向量比较原则如下。

    1. 首先,比较根交换设备ID。
    2. 如果根交换设备ID相同,再比较外部路径开销。
    3. 如果外部路径开销相同,再比较域根ID。
    4. 如果域根ID仍然相同,再比较内部路径开销。
    5. 如果内部路径仍然相同,再比较指定交换设备ID。
    6. 如果指定交换设备ID仍然相同,再比较指定端口ID。
    7. 如果指定端口ID还相同,再比较接收端口ID。

    如果端口接收到的BPDU内包含的配置消息优于端口上保存的配置消息,则端口上原来保存的配置消息被新收到的配置消息替代。端口同时更新交换设备保存的全局配置消息。反之,新收到的BPDU被丢弃。

CIST中端口角色的选举:

1、比价CIST的总根ID,越小越优。
2、比较CIST到达总根的ERPC,越小越优。
3、比较CIST域根的BID,越小越优。
4、比较CIST到达域根的IPRC,越小越优。
5、比较CIST中BPDU报文发送者的BID,越小越优。
6、比较CIST中BPDU报文发送者的PID,越小越优。
7、比较CIST中BPDU报文接收者的PID,越小越优。

CIST的计算:

经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。

MSTI的计算:

在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似。

MSTI的特点:

  • 每个MSTI独立计算自己的生成树,互不干扰。
  • 每个MSTI的生成树计算方法与STP基本相同。
  • 每个MSTI的生成树可以有不同的根,不同的拓扑。
  • 每个MSTI在自己的生成树内发送BPDU。
  • 每个MSTI的拓扑通过命令配置决定。
  • 每个端口在不同MSTI上的生成树参数可以不同。
  • 每个端口在不同MSTI上的角色、状态可以不同。
  • 在MST域内,沿着其对应的MSTI转发。
  • 在MST域间,沿着CST转发。

MSTP对拓扑变化的处理:

MSTP拓扑变化处理与RSTP拓扑变化处理过程类似。

在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。

  • 为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。

    在这个时间内,清空所有端口上学习到的MAC地址。

    同时,由非边缘端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

  • 其他交换设备接收到RST BPDU后,清空所有端口学习到MAC地址,除了收到RST BPDU的端口。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。

如此,网络中就会产生RST BPDU的泛洪。

MSTP快速收敛机制:

MSTP支持普通方式和增强方式两种P/A(Proposal/Agreement)机制:

  • 普通方式

    MSTP支持普通方式的P/A机制实现与RSTP支持的P/A机制实现相同。

  • 增强方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XRA97vVK-1612010404749)(E:\Typora\image\20180522131916791)]

图:增加方式的P/A机制

在MSTP中,P/A机制工作过程如下:

  • 上游设备发送Proposal报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口。
  • 上游设备继续发送Agreement报文。下游设备接收到后,根端口转为Forwarding状态。
  • 下游设备回应Agreement报文。上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入Forwarding状态。

缺省情况下,华为数据通信设备使用增强的快速迁移机制。如果华为数据通信设备和其他制造商的设备进行互通,而其他制造商的设备P/A机制使用普通的快速迁移机制,此时,可在华为数据通信设备上通过设置P/A机制为普通的快速迁移机制,从而实现华为数据通信设备和其他制造商的设备进行互通。

MSTP配置

stp region-configuration //进入MST域视图
region-name name //配置MST域的域名
instance 1 vlan 2 to 3 //配置多生成树的实例与VLAN映射关系
vlan-mapping modulo modulo //配置多生成树实例和VLAN按照缺省算法自动分配映射关系。缺省情况下,MST域内所有的VLAN都映射到生成树实例0。
revision-level level //配置MST域的MSTP修订级别
//缺省情况下,MST域的MSTP修订级别为0。
//MSTP是标准协议,各厂商设备的MSTP修订级别一般都默认为0。如果某厂商的设备不为0,为保持MST域内计算,在部署MSTP时,需要将各设备的MSTP修订级别修改为一致。
active region-configuration //激活MST域的配置


stp instance 0 root primary //配置当前设备为根桥设备。 
stp instance 0 root secondary//配置当前交换设备为备份根桥设备。


猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/113446112