HCIP——STP
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端口状态 | 端口在拓扑中的角色 |
---|---|---|
Forwarding | Forwarding | 包括根端口、指定端口 |
Learning | Learning | 包括根端口、指定端口 |
Listening | Discarding | 包括根端口、指定端口 |
Blocking | Discarding | 包括Alternate端口、Backup端口 |
Disabled | Discarding | 包括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。
- instanceid:指定生成树实例的编号。整数形式,取值范围是0-4094。
- level:指定MST域的修订级别。整数形式,取值范围是0-65535。
- MSTP是标准协议,各厂商设备的MSTP修订级别一般都默认为0。如果某厂商的设备不为0,为保持MST域内计算,在部署MSTP时,需要将各设备的MSIP修订驭别修以为一致。
- 5、激活MST域的配置
[Huawei-mst-region] active region-configuration
使域名、VLAN映射表和MSTP修订级别生效
相关文章:
![](https://img-blog.csdnimg.cn/1162b148dd1a4a36811e5a1bfa955bd6.png)
HCIP——STP
STP 一、STP概述二、二层环路带来的问题1、广播风暴问题2、MAC地址漂移问题3、多帧复制 三、802.1D生成树STP的BPDU1、配置BPDU2、RPC3、COST4、配置BPDU的工作过程5、TCN BPDU6、TCN BPDU的工作原理 四、STP的角色五、STP角色选举六、STP的接口状态七、接口状态的迁移八、STP的…...
![](https://img-blog.csdnimg.cn/bd78c648e2d3442587e8924913be1431.png)
【数据结构】“单链表”的练习题
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
![](https://img-blog.csdnimg.cn/896fb422c4a045fabda5b6093387269f.png)
项目实战 — 消息队列(5){统一硬盘操作}
前面已经使用数据库管理了交换机、绑定、队列,然后又使用了数据文件管理了消息。 那么,这里就创建一个类,讲之前的两个部分整合起来,对上层提供统一的一套接口,表示硬盘上存储的所有的类的信息。 /* * 用这个类来管理…...
![](https://img-blog.csdnimg.cn/13b9528ef63642f99c6eb70643315ad1.png)
【2.2】Java微服务:Hystrix的详解与使用
目录 分布式系统面临问题 Hystrix概念 Hystrix作用 降级 什么是降级 order服务导入Hystrix依赖(简单判断原则:谁调用远程谁加) 启动类添加注解 业务方法添加注解(冒号里填回调方法名,回调方法返回兜底数据&…...
![](https://www.ngui.cc/images/no-images.jpg)
【PYTHON】WebSocket服务端与客户端通信实现
目录 1 简介 2 WebSocket优点 3 前后端交互的方式 4 心跳机制和重连机制 5 后端代码 6 测试...
![](https://www.ngui.cc/images/no-images.jpg)
Runloop 的五种mode
1.runloop是一个事件驱动的循环,收到事件就去处理,没有事件就进入睡眠. 2.应用一启动主线程被创建后,主线程对应的runloop也被创建,runloop也保证了程序能够一直运行.之后创建的子线程默认是没有runloop的,只有当调用[NSRunLoop currentRunLoop]去获取的时候才被创建. 3.runloo…...
![](https://www.ngui.cc/images/no-images.jpg)
C++头文件使用精要
一、头文件包含顺序 根据《Google C 编程风格指南》,对于Foo.cpp,顺序推荐为: Foo.hC标准库C标准库其它库的头文件本工程的头文件 另外,在包含头文件时应该加上头文件所在工程的文件夹名,可区分重名文件。即假如你有…...
![](https://www.ngui.cc/images/no-images.jpg)
Flink之SideOutput(数据分流)
Flink在早期版本有一个split算子用来做数据分流使用的,但是在flink-1.12开始这个API就已经被删除了,在1.12版本以后我们是通过process算子来做数据分流的,这里就介绍一下如何使用prodess进行数据分流. 代码 import org.apache.flink.api.common.typeinfo.TypeInformation; im…...
![](https://img-blog.csdnimg.cn/b0d31364b7e740d9a61a1ad3866084c2.png)
Android Studio新版本logcat过滤说明
按包名过滤 //输入package:(输入一个p就会有提示的) ,后面加上包名 比如: package:com.xal.runcontrol package:包名可以完整或者输部分包名即可 package:包名需要输完整准确 package~:正则表达式过滤 不了解正则表达式的可以参考&#…...
![](https://www.ngui.cc/images/no-images.jpg)
carsim与matlab仿真
matlab2021a安装教程,亲测。 百度网盘: matlab2021a安装包 提取码:1223 CarSim2020安装教程, 亲测。 百度网盘: CarSim2020安装包 提取码:1223 ,破解可参考 b站视频...
![](https://www.ngui.cc/images/no-images.jpg)
rust里如何快速实现一个LRU 本地缓存?
LRU是Least Recently Used(最近最少使用)的缩写,是一种常见的缓存淘汰算法。LRU算法的基本思想是,当缓存空间已满时,优先淘汰最近最少使用的数据,以保留最常用的数据。 在计算机系统中,LRU算法…...
![](https://img-blog.csdnimg.cn/40ab896baebe454b9b3522b9ae19f0dd.png)
MQTT 订阅接收消息 mosquitto 方式
1 说明 采用 mosquitto 库,实现订阅主题,并接收消息。其中服务器有做限制,需要对应的 cilent id ,cafile 、certfile 、keyfile 等配置2 环境 采用ubuntu 直接编译调试 安装mosquitto 库 sudo apt install libmosquitto-dev su…...
![](https://img-blog.csdnimg.cn/f7007382116746d4b6674b2dca4b2163.png)
以mod_jk方式整合apache与tomcat(动静分离)
前言: 为什么要整合apache和tomcat apache对静态页面的处理能力强,而tomcat对静态页面的处理不如apache,整合后有以下好处 提升对静态文件的处理性能 利用 Web 服务器来做负载均衡以及容错 更完善地去升级应用程序 jk整合方式介绍&#…...
![](https://www.ngui.cc/images/no-images.jpg)
springboot动态数据源切换
1)、就是将多个数据源全部注入到bean中,根据需要实现多数据源之间的切换。 2)、使用baomidou的DS注解。见文章DS注解实现数据源动态切换 com.baomidou dynamic-datasource-spring-boot-starter 3.5.1 ##设置默认的数据源或者数据源组,默认值…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录训练营day14
101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 func isSymmetric(root *TreeNode) bool {if root nil{ return true}return judge(root.Left,root.Right) }func judge(lf *TreeNode , ri *TreeNode)bool{if lf nil && ri nil{ retu…...
![](https://www.ngui.cc/images/no-images.jpg)
功能测试进阶自动化测试如何摸清学习方向,少走弯路呢?
目录 抛开疑问,只做学术探讨 小白在想什么? 盖楼之前先打好地基,首先需要学习一门语言 语言入门后,正式踏上开始自动化成神之路,入门篇Selenium 玩腻了Selenium 开始接触自动化框架unittest/testNG 不满足于单元…...
![](https://www.ngui.cc/images/no-images.jpg)
检测前端是否可以ping通后端返回的ip地址
检测前端是否可以ping通后端返回的ip地址 前端检测是否可ping通ip地址(PC端)前端检测是否可ping通ip地址(uniapp小程序端) 前端检测是否可ping通ip地址(PC端) // 前端检测是否可ping通ip地址 ping…...
![](https://img-blog.csdnimg.cn/77ae16fe4e9e4537b4c9772996bf5b6b.jpeg)
SMART司马他法则(目标管理)
S代表具体(Specific),指绩效考核要切中特定的工作指标,不能笼统; M代表可度量(Measurable),指绩效指标是数量化或者行为化的,验证这些绩效指标的数据或者信息是可以获得的; A代表可实现(Attainable)&…...
![](https://img-blog.csdnimg.cn/8af39143eaca471da142a9949367272d.png)
【LeetCode】删除并获得点数
删除并获得点数 题目描述算法分析编程代码空间优化 链接: 删除并获得点数 题目描述 算法分析 编程代码 class Solution { public:int deleteAndEarn(vector<int>& nums) {const int N 10001;int arr[N] {0};for(const auto& n : nums){arr[n]n;}vector<in…...
![](https://img-blog.csdnimg.cn/53a1c524cc7c42baaa6b443d5b0a8fd2.png)
SciencePub学术 | 传感器类重点SCIE征稿中
SciencePub学术 刊源推荐: 传感器类重点SCIE征稿中!信息如下,录满为止: 一、期刊概况: 传感器类重点SCIE 【期刊简介】IF:2.0-2.5,JCR3区,中科院4区; 【版面类型】正刊࿱…...
![](https://www.ngui.cc/images/no-images.jpg)
移动端开发基础总结
移动端学习总结 (适合于复习) 移动端基础 技术选型: 单独制作移动端页面(主流) 流式布局(百分比布局)flex弹性布局(强烈推荐)lessrem媒体查询布局混合布局 响应式页面兼容移动端(…...
![](https://www.ngui.cc/images/no-images.jpg)
小X学游泳(深搜)
第一题 题目描述 小X想要学游泳。 这天,小X来到了游泳池,发现游泳池可以用N行M列的格子来表示,每个格子的面积都是1,且格子内水深相同。 由于小X刚刚入门,他只能在水深相同的地方游泳。为此,他把整个游泳池…...
![](https://img-blog.csdnimg.cn/20fecc4f6c3b491eb411be0a7a225c02.png#pic_center)
分布式协议与算法——拜占庭将军问题
拜占庭将军问题 背景:以战国时期为背景 战国时期,齐、楚、燕、韩、赵、魏、秦七雄并立,后来秦国的势力不断强大起来,成了东方六国的共同威胁。于是,这六个国家决定联合,全力抗秦,免得被秦国各个…...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL数据库管理的基本原则和技巧
MySQL数据库是一种常用的关系型数据库管理系统,用于存储和管理大量的数据。在进行MySQL数据库管理时,有一些基本原则和技巧可以帮助我们更有效地管理数据库。 数据库设计原则: 合理规划数据表结构: 根据数据之间的关系和业务需求…...
![](https://img-blog.csdnimg.cn/7323e8be94b54c2e9fb89c3b925256a6.png)
SQL-每日一题【1193. 每月交易 I】
题目 Table: Transactions 编写一个 sql 查询来查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数及其总金额。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 1.题目要求我们查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数…...
![](https://img-blog.csdnimg.cn/img_convert/f5db83664dd9dbe87cdbdd0c3ed28c0e.jpeg#pic_center)
探析青少年口才训练在个人发展中的重要性与影响
论文题目:探析青少年口才训练在个人发展中的重要性与影响 摘要: 本论文旨在探讨青少年口才训练对个人发展的重要性和影响。通过对相关文献的综述和实证研究的分析,论文将阐述口才训练对青少年自信心、表达能力和思维能力的提升,以…...
![](https://img-blog.csdnimg.cn/49003d19702f43c9a233b53cf361faf0.png)
HTML 元素的 class 和 id 属性有何区别?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 唯一性⭐ 选择器权重⭐ JS操作⭐ CSS和JavaScript引用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏…...
![](https://www.ngui.cc/images/no-images.jpg)
关于GKPhoto点击放大没有图片只有缺省图
GKPhoto,点进去看看,人家可传递的不止有url,还有UiImage NSString *photo self.detailModel.teacherModel.teacher_picture; NSString *placeHoldStr "ing_morentouxiang"; NSMutableArray *photos [NSMutableArray new]; GKPhoto *phot…...
![](https://img-blog.csdnimg.cn/51eb7a77eda84f2094766104e440d2da.jpeg)
建议收藏!总结了 42 种前端常用布局方案
对 CSS 布局掌握程度决定你在Web开发中的开发页面速度。随着Web技术的不断革新,实现各种布局的方式已经多得数不胜数了。 本篇文章总结了四十二种CSS的常见布局,这四十二种布局可以细分为如下几类: 水平居中垂直居中水平垂直居中两列布局三…...
![](https://www.ngui.cc/images/no-images.jpg)
spring AOP两种动态代理
本文开始 1.什么是动态代理? 动态代理:本来是通过直接访问目标对象的,但是找个代理对象替你进行访问目标对象,这就是动态代理过程; 例如:买饭作为目标对象,自己不想亲自跑腿,就点个…...
![](/images/no-images.jpg)
南安网站定制/今日油价92汽油价格
功能描述:服务将一串base64码传到前端,用户点击下载就可以将该base64码解码。 实现方法:1、将base64码转成二进制流,2、下载 附全部代码: <!DOCTYPE html> <html lang"en"> <head><…...
![](https://img-blog.csdnimg.cn/img_convert/2840b526c313a724a7d723ce4bcd4c90.gif)
广州宝盈网络科技有限公司网站/成年学校培训班
大家好,我是本公众号的小编每天加班都到很晚,是为了给大家收集最好玩的游戏从做这个号开始到现在已玩过几千款各式各样的游戏现推荐的每一款游戏都是小编亲自试玩过几千款游戏中我们只推荐一百款这一百款游戏无论从玩法、画质都是同类型中最好最优质而且…...
![](/images/no-images.jpg)
免费做会计试题网站/优秀网站设计欣赏
1、维度建模相关概念 1.1、度量和环境 维度建模支持对因为过程的支持,这是通过对业务过程度量进行建模来实现的。 那么,什么是度量呢?实际上,通过和业务方、需求方交谈、或者阅读报表、图表等,可以很容易地识别度量。 …...
![](/images/no-images.jpg)
成品网页网站/长春seo推广
题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式:第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<5000,M<200000)接下来M行每行…...
![](/images/no-images.jpg)
网页制作与网站建设实战大全/提高搜索引擎排名
use命令可以让我们来使用数据库。use命令格式: use ;例如,如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb;屏幕提示:Database changed1) use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用…...
![](/images/no-images.jpg)
无锡专业做网站的/网站批量查询工具
摘自http://www.2cto.com/os/201404/296364.html(原文请关注)这几天在centos下装mysql,这里记录一下安装的过程,方便以后查阅 Mysql5.5.37安装须要cmake,5.6版本号開始都须要cmake来编译,5.5以后的版本号应…...