华为---MSTP(一)---MSTP生成树协议

2024-03-05 07:04
文章标签 协议 华为 生成 mstp

本文主要是介绍华为---MSTP(一)---MSTP生成树协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1. MSTP技术产生背景

2. STP/RSTP的缺陷

​编辑

2.1 无法均衡流量负载

2.2 数据使用次优路径

3. MSTP生成树协议

3.1 MSTP相关概念

3.2 MSTP树生成的形成过程

4. MSTP报文


1. MSTP技术产生背景

        RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但由于局域网内所有的VLAN共享一棵生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费。为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。

2. STP/RSTP的缺陷

2.1 无法均衡流量负载

        如上图所示,交换机都运行STP或RSTP,PC1、PC2访问服务器Server1,希望vlan 10的数据依次经过SW2和SW1到达Server1,vlan 20的数据依次经过SW3和SW1到达Server1。
        SW2是根桥,根据生成树选举规则,连接SW1和SW3的链路上会有一个端口被阻塞,也就是说SW1和SW3之间的链路将不负责转发数据流量。那么vlan 20的数据流量就无法经过SW3和SW1,只能和vlan 10的数据流量一样,依次经过SW3、SW2、SW1到达Server1,SW1和SW3之间的链路没有数据流量,无法分担网络数据流量。

2.2 数据使用次优路径

        如上图所示,因为SW1和SW3之间链路没有数据流量转发,vlan 20的数据流量只能依次经过SW3、SW2、SW1到达Server1,无法使用从SW3到SW1之间的更好链路,这就导致选用次优路径。

3. MSTP生成树协议

        MSTP,即Multiple Spanning Tree Protocol,又称多生成树协议。

  • MSTP兼容STP和RSTP,在破除环路的基础上,可以快速收敛;
  • 基于实例计算出多棵生成树,实例间实现负载分担;
  • 设置VLAN映射表,将一个或多个VLAN映射到一个多生成树(MSTP)实例(instance)上 。


        如上图所示,VLAN 2对应一棵以交换机5700-A为根的生成树,交换机5700-B和交换机3700之间的链路就会被阻塞。VLAN3对应一棵以交换机5700-B为根的生成树,交换机5700-A和交换机3700之间的链路就会被阻塞。不同VLAN的数据流走不同的生成树,就实现了负载分担,同时也消除了次优路径问题。

3.1 MSTP相关概念

MSTP的网络层次:如下图所示,MSTP网络中包含1个或多个MST域(MST Region),每个MST Region中包含一个或多个MSTI(多生成树实例)。组成MSTI的是运行STP/RSTP/MSTP的交换设备,MSTI是所有运行STP/RSTP/MSTP的交换设备经MSTP协议计算后形成的树状网络。


        MSTP网络层次示意图

MST Region(多生成树域,简称MST域):MSTP可以把一个二层网络划分成多个区域,每个区域内都可以自主形成生成树,不同区域间的生成树互不干扰。同一个MST域的设备具有下列特点:

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

MSTI(多生成树实例):每一棵生成树都会有一个生成树实例,每个实例里面会有一个VLAN映射表,这张表记录了有哪些VLAN映射到了该实例中(该生成树上),不同的实例之间采用不同的Instance ID来标识,取值范围是0-4094,但默认情况下,所有VLAN都会映射到Instance 0中。一个或多个VLAN映射到一个Instance(实例),再基于Instance计算生成树,映射到同一个Instance的VLAN共享同一棵生成树。

VLAN映射表:

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

如下图所示,MST域D0的VLAN映射表是:

  • VLAN1映射到MSTI1
  • VLAN2和VLAN3映射到MSTI2
  • 其余VLAN映射到MSTI0

CST(公共生成树):如果把MST域看成一台交换机,那么域与域之间通过链路连接,存在冗余链路,那么域与域之间就也会存在二层的环路,所以也需要一棵生成树来消除环路,而公共生成树就是这棵用来消除域与域之间环路的生成树。

IST(内部生成树):这是MST域内Instance ID为0的特殊生成树,是一个特殊的生成树实例,注意IST不是指MST域里面的所有生成树。

CIST(公共和内部生成树):这是由所有MST域内的IST加上CST所构成一棵完整的生成树。

SST(单生成树):指MST域内只有一台交换机并且只有一个实例的生成树。

总根:指CIST这棵生成树的根桥,整个MSTP网络中具有最高优先级的交换机就被选举为总根。

域根:又分为IST域根和MSTI域根,IST域根是距离总根最近的交换机;MSTI域根是指MSTI域的根桥:也就是实例中的最优交换机,但因为每一个MST域内都有多棵生成树,每棵生成树都有一个实例:所以每一个实例就都会有它自己的MSTI域根;

主桥:域内距离总根最近的交换机就是主桥,包括了总根它自己,也就是整一个MSTP网络最优的交换机既是总根,也是主桥。

MSTP还在STP/RSTP的基础上新增了两种端口角色:

  • Master端口:Master端口是MST域和总根相连的所有路径中最短路径上的端口,是一个特殊的域边缘端口。本质就是就是某一个MST域距离总根最近的那一个端口,报文必须要经过该端口才可以到达总根。
  • 域边缘端口:连接其他区域的交换机的端口就是域边缘端口。

3.2 MSTP树生成的形成过程

  • MSTP先将整个二层网络划分成多个MST域,之后域与域之间建立CST,MST域内部建立IST,CST和IST构成了连接整个网络的CIST生成树。
  • MSTP生成树形成,首先在二层网络中选举一个优先级最高的交换机成为总根;然后在每一个MST域内计算得到IST,在每一个MST域间计算得到CST;IST和CST结合就构成了整个交换网络的CIST。
  • 在MST域内,MSTP是根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。之后转发数据时,MST域之间,遵循着CST路径转发,而在MST域内,就根据不同的生成树实例来转发。

4. MSTP报文

字段内容

字节

说明

Protocol Identifier

2

协议标识符。

Protocol Version Identifier

1

协议版本标识符,STP为0,RSTP为2,MSTP为3。

BPDU Type

1

BPDU类型:
  • 0x00:STP的Configuration BPDU

  • 0x80:STP的TCN BPDU(Topology Change Notification BPDU)

  • 0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Spanning-Tree BPDU)

CIST Flags

1

CIST标志字段。

CIST Root Identifier

8

CIST的总根交换设备ID。

CIST External Path Cost

4

CIST外部路径开销指从本交换设备所属的MST域到CIST根交换设备所属的MST域的累计路径开销。CIST外部路径开销根据链路带宽计算。

CIST Regional Root Identifier

8

CIST的域根交换设备ID,即IST Master的ID。如果总根在这个域内,那么域根交换设备ID就是总根交换设备ID。

CIST Port Identifier

2

本端口在IST中的指定端口ID。

Message Age

2

BPDU报文的生存期。

Max Age

2

BPDU报文的最大生存期,超时则认为到根交换设备的链路故障。

Hello Time

2

Hello定时器,缺省为2秒。

Forward Delay

2

Forward Delay定时器,缺省为15秒。

Version 1 Length

1

Version1 BPDU的长度,值固定为0。

Version 3 Length

2

Version3 BPDU的长度。

MST Configuration Identifier

51

MST配置标识,表示MST域的标签信息,包含4个字段。

CIST Internal Root Path Cost

4

CIST内部路径开销指从本端口到IST Master交换设备的累计路径开销。CIST内部路径开销根据链路带宽计算。

CIST Bridge Identifier

8

CIST的指定交换设备ID。

CIST Remaining Hops

1

BPDU报文在CIST中的剩余跳数。

MSTI Configuration Messages(may be absent)

16

MSTI配置信息。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes。

参考链接:MSTP简介

这篇关于华为---MSTP(一)---MSTP生成树协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775663

相关文章

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

hdu 1102 uva 10397(最小生成树prim)

hdu 1102: 题意: 给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。 解析: 把已经修的路的权值改为0,套个prim()。 注意prim 最外层循坏为n-1。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstri

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

poj 3723 kruscal,反边取最大生成树。

题意: 需要征募女兵N人,男兵M人。 每征募一个人需要花费10000美元,但是如果已经招募的人中有一些关系亲密的人,那么可以少花一些钱。 给出若干的男女之间的1~9999之间的亲密关系度,征募某个人的费用是10000 - (已经征募的人中和自己的亲密度的最大值)。 要求通过适当的招募顺序使得征募所有人的费用最小。 解析: 先设想无向图,在征募某个人a时,如果使用了a和b之间的关系

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp