HCIP——STP

news2024/11/15 14:20:41

STP

  • 一、STP概述
  • 二、二层环路带来的问题
    • 1、广播风暴问题
    • 2、MAC地址漂移问题
    • 3、多帧复制
  • 三、802.1D生成树
    • STP的BPDU
      • 1、配置BPDU
      • 2、RPC
      • 3、COST
      • 4、配置BPDU的工作过程
      • 5、TCN BPDU
      • 6、TCN BPDU的工作原理
  • 四、STP的角色
  • 五、STP角色选举
  • 六、STP的接口状态
  • 七、接口状态的迁移
  • 八、STP的收敛时间
    • 1、首次收敛
    • 2、结构突变
      • 2.1 根桥故障
      • 2.2 直连链路故障
      • 2.3 非直连链路故障
  • 九、STP基本配置
  • 十、RSTP
    • 1、802.1D生成树的缺点
    • 2、RSTP的改进点
      • 2.1 改进点1:端口角色
      • 2.2 改进点2:端口状态
      • 改进点3:RST BPDU
      • 改进点4:配置BPDU的处理
      • 改进点5:快速收敛机制
      • P/A机制讲解
      • 改进6:拓扑变更机制
      • 改进点7:保护功能
  • 十一、MSTP
    • 1、MSTP概述
    • 2、MST Region
    • 3、MSTP的基本配置

一、STP概述

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用几余链路。但是使用几余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断为解决交换网络中的环路问题,提出了生成树协议STP(SpanningTree Protocol)。
在这里插入图片描述

  • 随着局域网规模的不断扩大,越来越多的交换机被用来实现主机之间的互连。如图,接入层交换机单链路上联,则存在单链路故障,也就是如果这根上联链路发生故障,交换机下联用户就断网了。另一个问题的单点故障,也就是交换机如果宕机,交换机下联用户也就断网了。
  • 为了解决此类问题,交换机在与连时一般都会使用几余链路来实现备份。几余链路虽然增强了网络的可靠性但是也会产生环路,而环路会带来一系列的问题,继而导致通信质量下降和通信业务中断等问题。

二、二层环路带来的问题

1、广播风暴问题

在这里插入图片描述

  • 根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播,或者是一个目的MAC地址未知的单播帧,了则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个顿会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。
  • 本例中,SW3收到了一个广播将其进行泛洪,SW1和SW2也会将此顿转发到除了接收此的其他所有端口,结果此帧又会被再次转发给SW3,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。

2、MAC地址漂移问题

在这里插入图片描述

  • 交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。
  • 本例中,SW3收到一个广播泛洪,SW1从GE0/0/1接口接收到广播后学习且泛洪,形成MAC地址5489.98EE-788A与GE0/0/1的映射SW2收到广播后学习且泛洪,SW1再次从GE0/0/2收到源MAC地址为5489.98EE-788A的广播顿并进行学习,5489-98EE-788A会不断地在GE0/0/1与GE0/0/2接口之间来回切换,这被称为MAC地址漂移现象。

3、多帧复制

同一数据帧被重复收到多次,被称为多帧复制。
为了保证备份链路的存在,并且不会出现二层环路,所以,我们设计了STP协议。
在这里插入图片描述

  • STP通过构造一棵树来消除交换网络中的环路。
  • 运行STP算法,判断网络中存在环路的地方并阻断几余链路,将环路网络修剪成无环路的树型网络,从而避免了数据顿在环路网络中的增生和无穷循环。

在这里插入图片描述

  • 交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整
    (如图,交换机上运行STP协议,会通过报文监控网络的拓扑结构,正常情况下是将SW3上的一个接口进行阻塞(Block),从而打破环路,当监控到SW1与SW3之间出现链路故障,则恢复阻塞端口进入转发状态。)
  • 因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。

生成树协议原理:在二层交换网络中,逻辑的阻塞部分的接口,实现从根交换机到所有节点唯一的路径目为最佳路径,生成一个没有环路的拓扑。当最佳路径出现故障时,个别被阻塞的接口将打开,形成备份链路。

三、802.1D生成树

生成树是相对比较早的一个协议了,所以,也经历了多种版本的更替。我们现在常见的主要是802.1D生成树(最早期的生成树种类),RSTP(快速生成树协议—定义在802.1W中,也被称为802.1W生成树),MSTP(多生成树协议— 定义在802.1S中,也被称为802.1S生成树。
我们首先需要关注的是最基本的802.1D生成树协议,其他版本都是在802.1D的基础上改进的,本质原理相同。

STP的BPDU

所谓BPDU— Bridge ProtocolData Unit,网桥协议数据单元 — 其实就是STP生成树需要发送的数据包的法。

  • BPDU是STP能够正常工作的根本。BPDU是STP的协议报文。
  • STP交换机之间会交互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。

BPDU主要分为两大类

  • 配置BPDU
  • TCN BPDU

其中,配置BPDU是STP进行拓扑计算的关键,TCN BPDU只在网络拓扑发生变更时才会被触发。

1、配置BPDU

配置BPDU的报文格式
在这里插入图片描述

  • 配置BPDU是STP进行拓扑计算的关键。
  • 只有根网桥主动发送配置BPDU,其他非根网桥都只是转发根网桥发送的配置BPDU。

2、RPC

在这里插入图片描述

3、COST

在这里插入图片描述
在这里插入图片描述
接口Cost是已经激活了STP的接口所维护的一个开销值,该值存在默认值,与接口的速率有关联,并且设备使用不同的算法时,相同的接口速率对应不同的Cost值。
(华为设备默认采用的是802.1t标准,华三设备默认使用的是自定义标准)

4、配置BPDU的工作过程

所有交换机刚启动,所有接口都激活STP,一开始,并不知道谁是根,则所有设备都将判定自己为根网桥,从字节的所有激活了STP的接口发送配置BPDU,则其中将包含本机参数。之后,所有设备都交换参数后,将根据参数数值进行选举,之后,将选举出一个直正的根网桥。之后,只有根网桥将周期的发送配置BPDU,而其他非根网桥只能在接受到根网桥发送的BPDU后进行转发。(转发时可以修改其中的参数。)—发送周期为2S,MAXAGE— 20S。

5、TCN BPDU

TCNBPDU的报文格式
仅拥有配置BPDU的前三个参数,其中BPDU类型字段为0x80

6、TCN BPDU的工作原理

拓扑改变导致MAC地址表变化
在这里插入图片描述
TCN BPDU— 本地交换链路故障后,STP将重新收敛,为了加快刷新交互机的MAC地址表,将向本地所有STP接口发那个TCN BPDU,邻居交换机收到TCN BPDU后将回复一个TCA位置1的配置BPDU,用于可靠性传出,之后将TCN BPDU逐级转发到根网桥处,由根网桥下发TC标记位置1的配置BPDU,逐级下发给所有的交换机,所有交换机在收到后将临时的将300S的MAC地址老化时间改为15S。

四、STP的角色

STP中一共存在四种角色
1、根网桥(也叫根桥) — RB

  • STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。
  • 根桥是一个STP交换网络中的“树根”。
  • STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算o得出的无环拓扑的”树根”。

2、根端口— RP

  • 每台非根网桥有且仅有一个接口将被选择为根端口,用来接受根网桥的BPDU
  • 一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优目0唯一的,就必须从该非根桥设备的端口中确定出一个被称为”根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。
  • 在选举出根桥后,根桥仍然持续发送BPDU,而非根桥将持续不断的收到根桥发送的BPDU。因此,在所0有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的BPDU。
  • 即:根端口保证了交换机与根桥之间工作路径的唯一性和最优性。

3、指定端口— DP

  • 每条链路存在一个接口为指定接口,用来发送或者转发根网桥的BPDUo
  • 网络中的每个链路与根桥之间的工作路径必须是唯一的且最优的。当一个链路有两条及以上的路径通往根.桥时(该链路连接了不同的交换机,或者该链路连接了同一台交换机的不同端口),与该链路相连的交换机(可能不止一台)就必须确定出一个唯一的指定端口
  • 因此,每个链路(Link) 选举一个指定端口,用于向这个链路发送BPDU。

4、非指定端口— NDP

  • 所有剩余接口,没有任何角色,都属于非指定接口,非指定接口将被阻塞。

五、STP角色选举

1、根网桥选举
在这里插入图片描述

  • 如图:根桥的选举先比较优先级,交换机SW1、2、3的优先级相等,则比较MAC地址,也优选最小的所以SW1的BID最小,因此SW1为根桥,Sw2和SW3为非根桥。

2、根端口选举
在这里插入图片描述
选举过程:

  • 1、交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“RootID、RPC、BID、PID”等关键字段,端口会针对这些字段进行PK。
  • 2、首先比较根路径开销RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越优选,因此交换机会选RPC最小的端口作为根端口。
  • 3、当RPC相同时,比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优选,因此交换机会选上行设备BID最小的端口作为根端口。
  • 4.当上行交换机BID相同时,比较上行交换机的PID,即比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口。
  • 5.当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口。

3、指定端口选举
在这里插入图片描述
指定端口也是通过比较RPC来确定的,选择RPC最小的作为指定端口,如果RPC相同,则比较BID和PID。

  • 1.首先比较根路径开销(RPC),值越小,越优选,因此交换机会选RPC最小的端口作为指定端口.
  • 2.若RPC相等,则比较链路两端交换机的BID,值越小,越优选,因此交换机会选BID最小的交换机的端口作为指定端口。
  • 3.若BID相等,则比较链路两端端口的PID,值越小,越优选,因此交换机会选PID最小的交换机的端口作为指定端口。

4、非指定端口选举
在这里插入图片描述

  • STP会对这些非指定端口进行逻辑阻塞,即这些端口不能转发由终端计算机产生并发送的帧(用户数据帧)。
  • 一旦非指定端口被逻辑阻塞后,STP树(无环路工作拓扑)就生成了。
  • 注意:非指定端口可以接收并处理BPDU。

六、STP的接口状态

状态名称状态描述
禁用(Disable)该接口不能收发BPDU,也不能收发业务数据顿,例如接口为down
阻塞(Blocking)该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习
侦听(Listening)当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据顿,也不会进行MAC也址学习
学习(Learning)当接口处于该状态时,会侦听业务数据顿(但是不能转发业务数据),并且在收到业务数据顿后进行MAC地址学习
转发(Forwarding)处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态

七、接口状态的迁移

在这里插入图片描述
图中所示为STP的端口状态迁移机制,运行STP协议的设备上端口状态有5种:

  • Forwarding:转发状态,端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能讲入Forwarding状态。
  • Learning: 学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
  • Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
  • Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是0预备端口的最终状态。
  • Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

八、STP的收敛时间

802.1D生成树在收敛时主要是基于计时器收敛的

1、首次收敛

首次收敛,所有设备最先进入的是阻塞状态,需要先停留20S(最大寿命时间)之后进入侦听,此状态停留15秒总共50S。选举角色,之后进入学习状态,再停留15S,总共50S。

2、结构突变

2.1 根桥故障

在这里插入图片描述
根桥故障

  • 在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
  • 如果根桥发生了故障,停止发送BPDU,下游交换机就无法收到来自根桥的BPDU报文。
  • 如果下游交换机一直收不到BPDU报文,Max Age计时器(缺省: 20s)就会超时,从而导致已经收到的0BPDU报文失效,此时,非根桥会互相发送配置BPDU,重新选举新的根桥。

端口状态:

  • SW3的预备端口,20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
    收敛时间:
  • 根桥故障会导致50s左右的恢复时间,等于MaxAge加上2倍的Forward Delay收敛时间。

2.2 直连链路故障

在这里插入图片描述

  • 直连链路故障:
    • 当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路
    • 当网络稳定时,交换机SWB检测到根端口的链路发生故障,则其备用端口会进入用户流量转发状态。
  • 端口状态:
    • 备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。
  • 收敛时间:
    • 直连链路故障,备用端口会经过30s后恢复转发状态。

2.3 非直连链路故障

在这里插入图片描述

  • 非直连故障
    • 在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
    • 若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自根桥SW1的BPDU报0文,Max Age计时器(缺省: 20 s)就会超时,从而导致已经收到的BPDU报文失效。
    • 此时,非根桥SW2会认为根桥失效,并目认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。
    • 在此期间,SW3的预备端口一直收不到包含根桥ID的BPDU,Max Age计时器超时后,端口进入到0Listening状态,开始向SW2“转发”从上游发来的包含根桥ID的BPDU。
    • 因此,MaxAge定时器超时后,SW2和SW3几乎同时收到对方发来的BPDU,再进行STP重新计算,SW2o发现SW3发来的BPDU更优,就放弃宣称自己是根桥并重新确定端口角色。
  • 端口状态
    • SW3预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
  • 收敛时间:
    • 非直连故障会导致50s左右的恢复时间,等于MaxAge加上2倍的Forward Delay收敛时间。

九、STP基本配置

  • 1.配置生成树工作模式
    [Huawei] stp mode ( stpl rstpI mstp
    交换机支持STP、RSTP和MST(Multiple SpanningTree Protocol) 三种生成树工作模式,默认情况工作在MSTP模式
  • 2.(可选)配置根桥
    [Huawei] stp root primary
    配置当前设备为根桥。缺省情况下,交换机不作为任何生成树的根桥。配置后该设备优先级数值自动为0,并且不能更改设备优先级
  • 3.(可选)备份根桥
    [Huawei] stp root secondary
    配置当前交换机为备份根桥。缺省情况下,交换机不作为任何生成树的备份根桥。配置后该设备优先级数值为4096,并且不能更改设备优先级。
  • 4.(可选)配置交换机的STP优先级
    [Huawei] stp priority priority
    缺省情况下,交换机的优先级取值是32768。
  • 5.(可选)配置接口路径开销
    [Huawei] stp pathcost**-standard**{ dot1d-1998 dot1t legacy}
    配置接口路径开销计算方法。缺省情况下,路径开销值的计算方法为IEEE 802.t (dt1t)标准方法同一网络内所有交换机的接口路径开销应使用相同的计算方法
    [Huawei-GigabitEthernet0/0/1]stp cost cost
    设置当前接口的路径开销值
  • 6.(可选)配置接口优先级
    [Huawei-intf] stp priority priority
    配置接口的优先级。缺省情况下,交换机接口的优先级取值是128。
  • 7.启用STP/RSTP/MSTP
    [Huawei] stp ehable
    使能交换机的STP/RSTP/MSTP功能。缺省情况下,设备的STP/RSTP/MSTP功能处于启用状态。

十、RSTP

1、802.1D生成树的缺点

  • STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。
  • STP没有细致区分接口状态和接口角色,不利于初学者学习及部署
  • 网络协议的优劣往往取决于协议是否对各种情况加以细致区分。
    • 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
    • 从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。。根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。

2、RSTP的改进点

2.1 改进点1:端口角色

通过端口的增补,简化了生成树协议的理解于部署。
在这里插入图片描述
RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup
端口根端口和指定端口的作用同STP中定义,Alternate端口和Backup端口的描述如下。

  • 从配置BPDU报文发送角度来看:
    • Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阳塞的端口。
    • Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口.
  • 从用户流量角度来看:
    • Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口
    • Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路

给一个RSTP域内所有端口分配角色的过程就是整个拓扑收敛的过程

2.2 改进点2:端口状态

RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分

  • Discarding状态:不转发用户流量也不学习MAC地址;
  • Learning状态:不转发用户流量但是学习MAC地址;
  • Forwarding状态:既转发用户流量又学习MAC地址
STP端口状态RSTP端口状态端口在拓扑中的角色
ForwardingForwarding包括根端口、指定端口
LearningLearning包括根端口、指定端口
ListeningDiscarding包括根端口、指定端口
BlockingDiscarding包括Alternate端口、Backup端口
DisabledDiscarding包括Disable端口

改进点3:RST BPDU

  • RSTP的配置BPDU充分利用了STP报文中的Flag字段,明确了端口角色。
  • 除了保证和STP格式基本一致之外,RSTP作了如下变化:
    • Type字段:配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。
    • Flag字段:使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU。
  • RSTBPDU报文格式:
    在这里插入图片描述
    RST BPDU与STP配置BPDU报文格式不同点,包括:BPDU类型和Flag字段。
  • BPDU类型,1Byte,RST BPDU的类型值为0x02。
  • 标志,1 Byte,包括:
    • bit 7: TCA,表示拓扑变化确认
    • bit 6: Agreement,表示同意,用于P/A机制;. bit 5: Forwarding,表示转发状态,
    • bit 4: Learning,表示学习状态
    • bit 3和bit2:表示端口角色,00表示未知端口,01表示替代或备份端口,10表示根端口,11表示指定端口;
    • bit 1: Proposal,表示提议,用于P/A机制;.bit 0: TC,表示拓扑变化。

改进点4:配置BPDU的处理

在这里插入图片描述
在这里插入图片描述

改进点5:快速收敛机制

在这里插入图片描述
在这里插入图片描述

  • 边缘接口的UP和Down不会引起拓扑的变动
    在这里插入图片描述
    注意:这个P/A机制是RSTP快速收敛的核心手段,因为他改变了STP依照计时器收敛的方法,可以理解为完成选举后立即切换状态,完成收敛。
  • 事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少一个ForwardDelay所有端口才能进行转发
  • 而RSTP的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现路。而使用P/A机制加快了上游端口进入Forwarding状态的速度。

P/A机制讲解

在这里插入图片描述
在这里插入图片描述

  • SW2的下游端口同步过程:替代端口,状态不变;边缘端口,不参与计算;阻塞非边缘指定端口
    在这里插入图片描述

改进6:拓扑变更机制

在STP中,如果拓扑发生了变化,需要先向根桥传递TCN BPDU,再由根桥来通知拓扑变更,泛洪TC置位的配置BPDU。
在RSTP中,通过新的拓扑变更机制,TC置位的RST BPDU会快速的在网络中泛洪
如上图所示:

  • SW3的根端口收不到从根桥发来的RST BPDU后,Aternate端口会快速切换为新的根端口,启动TC While0Timer,并清空状态发生变化的端口学习到的MAC地址。然后向外发出TC置位的RST BPDU。
  • SW2接收到RST BPDU后,会清空接收口以外所有端口学习到的MAC地址,同时开启计时器,并向外发送0TC号位的的RST BPDU。
  • 最终,RST BPDU会在全网泛洪。

改进点7:保护功能

  • BPDU保护
    在这里插入图片描述
    在交换设备上,通常将直接与用户终端(如PC机)或文件服务器等非交换设备相连的端口配置为边缘端口。
    如上图所示:

  • sw3与某主机互联,并设置该互联端口为边缘端口。

  • 后来该主机被恶意用户侵占,并伪造RST BPDU攻击SW3,因此边缘端口会收到RST BPDU,失去边缘端9口特性,并进行生成树计算。

  • 根保护
    在这里插入图片描述
    由于维护人员的错误配置或网络中的恶意攻击,根桥有可能会收到优先级更高的RST BPDU,使得根桥失去根地位,从而引起网络拓扑结构的借误变动。这种拓扑变化,会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。
    如上图所示:

  • 网络稳定时,SW1为根桥,向下游设备发送最优RST BPDU

  • 如果SW2被恶意用户侵占,例如恶意修改SW2的桥优先级,使得SW2的桥优先级优于sw1,此时SW2会主动发送自己的RST BPDU

  • 当5W1的指定端口收到该RSTBPDU后,会重新进行生成树计算,而SW1也会失去根桥的地位,引起拓扑变动。

十一、MSTP

  • RSTP在STP基础上进行了改进,实现了网络拓快速收敛。但在划分VLAN的网络中运行RSTP/STP,局域网内所有的VLAN共享一棵生成树,被阻塞后的链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡导致链路带宽利用率、设备资源利用率较低
    在这里插入图片描述
  • 为了弥补RSTP/STP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP(MultipleSpanningTreeProtocol,多生成树协议)。MSTP兼容STP和RSTP,通过建立多棵无环路的树,解决广播风暴并实现几余备份。

1、MSTP概述

  • MSTP是IEEE 802.1S中定义的生成树协议,MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个元余路径,在数据转发过程中实现VLAN数据的负载均衡。
  • MSTP可以将一个或多个VLAN映射到一个nstance(实例),再基于instance计算生成树,映射到同一个Instance的VLAN共享同一棵生成树。
    在这里插入图片描述
    如图中例子,经计算,最终生成两棵生成树:
  • Instance1对应的生成树以SW1为根交换设备,转发VLAN1-VLAN10的报文。
  • Instance2对应的生成树以SW2为根交换设备,转发VLAN11-VLAN20的报文。
  • 不同VLAN的报文沿不同的路径转发,实现了负载分担。

注意:生成树不是基于VLAN运行的,而是基于Instance运行的

2、MST Region

在这里插入图片描述
同一个MST域的设备具有下列特点

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

在这里插入图片描述
Instance0是缺省存在的,而且缺省时,华为交换机上所有的VLAN都映射到了Instance0。
通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。

  • 每个VLAN只能对应一个MSTI,即同-VLAN的数据只能在+个MSTI中传输,而一个MSTI可能对应多个VLAN。

3、MSTP的基本配置

1、配首生成树工作模式
[Huawei] stp mode mstp
交换机支持STP、RSTP和MSTP三种生成树工作模式。默认情况工作在MSTP模式
2、启用MSTP
[Huawei] stp enable
使能交换设备或端口上的STP/RSTP/MSTP功能。缺省情况下,全局和端口的STP/RSTP/MSTP均使能注意:为了保证生成树计算过程快速而且稳定,必须在启用STP/RSTP/MSTP之前,完成对交换设备及其端口必要的基本配置。

  • STP和MSTP不能互相识别报文,而MSTP和RSTP可以互相识别报文,所以若工作在MSTP工作模式下,交换设备会设置所有和运行STP的交换设备直接相连的端口工作在STP模式下,其他端口工作在MSTP模式下,实现运行不同生成树协议的设备之间的互通。

3、配置MST域

  • 1、进入MST域视图
    [Huawei] stp region-configuration[Huawei-mst-region]
    缺省情况下,MST域的三个参数均取缺省值。
  • 2、配置MST域的域名
    [Huawei-mst-region]region-name name
    缺省情况下,MST域名等于交换设备的桥MAC地址
    • name:指定交换设备的MST域名。字符串形式,不支持空格,区分大小写,长度为1-32个字符.
  • 3、配置多生成树实例与VLAN的映射关系
    [Huawei-mst-region] instance instance-id vlan { vlan-id1 [ to vlan-id2 ]
    将指定VLAN映射到指定的生成树实例上。缺省情况下,所有VLAN均映射到实例0上
    • instanceid:指定生成树实例的编号。整数形式,取值范围是0-4094。
      4、(可选)配置MST域的MSTP修订级别
      [Huawei-mst-region] revision-levellevel
      配置交换设备的MSTP修订级别。缺省情况下,交换设备MST域的修订级别是0。
  • level:指定MST域的修订级别。整数形式,取值范围是0-65535。
  • MSTP是标准协议,各厂商设备的MSTP修订级别一般都默认为0。如果某厂商的设备不为0,为保持MST域内计算,在部署MSTP时,需要将各设备的MSIP修订驭别修以为一致。
  • 5、激活MST域的配置
    [Huawei-mst-region] active region-configuration
    使域名、VLAN映射表和MSTP修订级别生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/838861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web集群学习:源码安装nginx配置启动服务脚本

1、源码安装nginx,并提供服务脚本。 1、源码安装会有一些软件依赖 (1)检查并安装 Nginx 基础依赖包 pcre-devel 、openssl-devel # rpm -qa | egrep pcre-devel | openssl-devel(2)安装 Nginx 所需的 pcre 库 正则支…

STM32入门学习之定时器中断

1.STM32的通用定时器是可编程预分频驱动的16位自动装载计数器。 STM32 的通用定时器可以被用于:测量输入信号的脉冲长度 ( 输入捕获 ) 或者产生输出波 形 ( 输出比较和 PWM) 等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形 周…

分治法、回溯法与动态规划

算法思想比较 回溯法:有“通用解题法”之称,用它可以系统地搜索问题的所有解。回溯法是按照深度优先搜索(DFS)的策略,从根结点出发深度探索解空间树分治法:将一个难以直接解决的大问题,分割成一些规模较小的相同问题&…

PCIE链路信息

目录 简介: 目的: 详情: 简介: PCIe有很多寄存器,也有很多控制,包括链路状态信息,上一节我们讲到了PCie的链路训练,这节文章将继续学习PCIe相关知识。 目的: 从设计…

30岁程序员第一次失败的餐饮创业经历

背景介绍 我什么都比较晚,我比大多数人晚了两年毕业,事业稳定也比别人晚。直到去年,我才跳槽到一家外企外包工作获得相对满意的薪资。但即使如此,与更有经验的人相比,我仍然有很大的差距,自己也尚未积累足…

kubernetes集群日志管理系统部署方案

安装前请下载各种所需yaml文件 1、安装 elasticsearch 组件 1.1 创建名称空间 #elasticsearch、fluentd、kibana都会安装到此空间下 kubectl apply -f kube-logging.yaml1.2 查看 kube-logging 名称空间是否创建成功 kubectl get namespaces | grep kube-logging[rootk8s-…

一分钟学会JS获取当前年近五年的年份

先看效果图 上代码&#xff1a; 1、HTML <div><el-date-pickerv-model"queryYearXmgk.startYear"format"yyyy"value-format"yyyy"type"year"placeholder"开始"clearable:picker-options"pickerStartAuditYe…

EventBus 开源库学习(三)

源码细节阅读 上一节根据EventBus的使用流程把实现源码大体梳理了一遍&#xff0c;因为精力有限&#xff0c;所以看源码都是根据实现过程把基本流程看下&#xff0c;中间实现细节先忽略&#xff0c;否则越看越深不容易把握大体思路&#xff0c;这节把一些细节的部分再看看。 …

flutter开发实战-flutter_spinkit实现多种风格进度指示器

flutter开发实战-flutter_spinkit实现多种风格进度指示器 最近开发过程中flutter_spinkit&#xff0c;这个拥有多种种风格加载指示器 一、flutter_spinkit 引入flutter_spinkit # 多种风格的模糊进度指示器flutter_spinkit: ^5.1.0效果示例 const spinkit SpinKitRotatingC…

常见历史漏洞之Thinkphp

常见历史漏洞之Thinkphp 一、介绍二、Thinkphp历史漏洞三、Thinkphp特征发现四、批量漏洞检测五、漏洞总结六、5.0.23版本案例演示 一、介绍 Thinkphp是一种开源框架。是一个由国人开发的支持windows/Unix/Linux等服务器环境的轻量级PHP开发框架。很多cms就是基于thinkphp二次开…

动态规划01: 斐波那契数列模型

第 N 个泰波那契数&#xff08;easy&#xff09; 题目链接: 1137. 第 N 个泰波那契数 题目描述: 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&…

Vue表格导出Excel数据,自定义表头,使用xlsx-style修饰

继续上篇文章封装导出方法: 效果图&#xff1a; 1、安装xlsx-style依赖&#xff1a; yarn add xlsx-style 2、安装node-polyfill-webpack-plugin依赖&#xff1a; yarn add node-polyfill-webpack-plugin -D 解决报错&#xff1a;jszip is not a constructor 3、配置vue.…

Cilium系列-13-启用XDP加速及Cilium性能调优总结

系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提升 Cilium 的网络性能. 具体调优项包括不限于: 启用本地路由(Native Routing)完全替换 KubeProx…

广西茶叶元宇宙 武隆以茶为媒 推动茶文旅产业融合发展

8月4日&#xff0c;重庆市武隆区启动为期3天的“武隆首届玩茶荟”。本次活动以“中国最美玩茶地——武隆”为主题&#xff0c;吸引众多国内知名专家、茶企和茶馆相关负责人&#xff0c;共同探索武隆茶文旅融合发展新路径和新业态。 广西茶叶元宇宙&#xff1a;广西茶叶元宇宙 …

GD32F103的EXTI中断和EXTI事件

GD32F103的EXTI可以产生中断&#xff0c;也产生事件信号。 GD32F03的EXTI触发源: 1、I/O管脚的16根线&#xff1b; 2、内部模块的4根线(包括LVD、RTC闹钟、USB唤醒、以太网唤醒)。 通过配置GPIO模块的AFIO_EXTISSx寄存器&#xff0c;所有的GPIO管脚都可以被选作EXTI的触发源…

近阶段的一些思考

文章目录 近阶段&#xff08;大约一个多月&#xff09;一直在投入某个开发项目中&#xff0c;没有机会静下来思考一番。对于自己而言&#xff0c;忙碌是一种不好的现象&#xff0c;不应该认为是一件理所当然的事情&#xff0c;应该是一种危机的存在&#xff0c;这种状态持续两周…

关注提示工程—本世纪最重要的技能可能就是与AI人工智能对话

本文目录与主要结构 引言&#xff1a;介绍提示工程的概念和背景&#xff0c;说明为什么它是本世纪最重要的技能之一。 正文&#xff1a; 一、提示工程的基本原理和方法&#xff1a;介绍什么是提示、如何设计和优化提示、如何使用提示与语言模型进行交互。 二、提示工程的应…

Nginx启动报错- Failed to start The nginx HTTP and reverse proxy server

根据日志&#xff0c;仍然出现 “bind() to 0.0.0.0:8888 failed (13: Permission denied)” 错误。这意味着 Nginx 仍然无法绑定到 8888 端口&#xff0c;即使使用 root 权限。 请执行以下操作来进一步排查问题&#xff1a; 确保没有其他进程占用 8888 端口&#xff1a;使用以…

【动态规划】回文子串专题

文章目录 1. 【LeetCode】647. 回文子串1.1 思路讲解1.1.1 方法选择1.1.2 dp表的创建1.1.3 状态转移方程1.1.4 填表顺序 1.2 整体代码 2. 【LeetCode】5. 最长回文串2.1 思路讲解2.2 代码实现 3.【LeetCode】094. 分割回文串II3.1 解题思路3.1.1 创建dp表3.1.2 状态转移方程3.1…

[每日习题]第一个只出现一次的字符 小易的升级之路——牛客习题

hello,大家好&#xff0c;这里是bang___bang_&#xff0c;本篇记录2道牛客习题&#xff0c;第一个只出现一次的字符&#xff08;简单&#xff09;&#xff0c;小易的升级之路&#xff08;简单&#xff09;&#xff0c;如有需要&#xff0c;希望能有所帮助&#xff01; 目录 1️…