去可网 > 杂谈 > 正文

​stp和mstp是什么(一文教你弄明白STP)

2023-07-12 03:43 来源:去可网 点击:

stp和mstp是什么(一文教你弄明白STP)

初识网络的小伙伴对于STP可能比较陌生,不清楚为何会出现,有何作用,这里我就聊一聊STP、RSTP和MSTP,已经熟练掌握的兄弟们可以划过,讲得不好的地方若能给点指正性意见将不胜感激。

STP出现背景

(1)局域网络中容易产生广播风暴和MAC地址表震荡

(2)STP可消除局域网中环路

STP的作用:1:防环;2.链路的冗余

stp和mstp是什么(一文教你弄明白STP)(1)

STP出现背景

拓扑描述

1.广播风暴 假设交换设备上没有启用STP协议。如果PC1发出广播请求,那么广播报文将被其他两台交换设备的端口port1接收,并分别从端口port2广播出去,然后端口port2又收到另一台交换设备发过来的广播报文,再分别从两台交换设备的端口port1转发,如此反复,最终导致整个网络资源被耗尽,网络瘫痪不可用。

2.MAC地址表震荡 交换机S1可以在Port2上学习到PC2的MAC地址,但是由于S2会将PC2发出的数据帧向自己其它的端口转发,所以S1也可能在port1上学习到PC2的MAC地址。如此S1会不停的修改自己的MAC地址表。这样就引起了MAC地址表的抖动(Flapping)。 ------目的MAC地址为未知单播帧

STPP遵循IEEE std 802.1D标准;RSTP遵循802.1W标准;mstp遵循802.1s标准。STP根据网络拓扑构建无回路的树,STP通过阻塞适当的端口来避免环路。

STP

(1)STP可以消除网络中的环路。其基本理论依据是根据网络拓扑构建(生成)无回路的连通图(就是树),从而保证数据传输路径的唯一性,避免出现环路报文流量增加和循环。STP是工作在OSI第二层(Data Link Layer)的协议。

(2)STP协议通过在交换机之间传递特殊的消息(BPDU)并进行分布式的计算,来决 ----通过BPDU来确定端口角色定一个有环路的网络中,哪台交换机的哪个端口应该被阻塞,用这种方法来剪切掉环路

STP基本概念-重要概念

stp和mstp是什么(一文教你弄明白STP)(2)

STP重要概念

1.根桥RB(root Bridge)

根桥就是网桥ID最小的桥,由优先级和MAC地址组成。(都是值越小越优)

2.根端口RP(Root Port)(非根桥)

所谓根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。

3.指定端口和指定桥

(1)每一个网段选择到根桥最近的网桥作为指定桥,该网桥到这个网段的端口为指定端口。

(2)指定端口为负责转发BPDU的端口,指定桥为负责转发配置BPDU的设备。

4.Alternate端口

既不是根端口,又不是指定端口

一旦根桥、根端口、指定端口选举成功,则整个树形拓扑建立完毕。在拓扑稳定后,只有根端口和指定端口转发流量,其他的非根端口和非指定端口都处于阻塞(Blocking)状态,它们只接收STP协议报文(BPDU)而不转发用户流量。

STP基本概念-配置BPDU

通常所说的BPDU报文多数指配置BPDU。

在初始化过程中,每个桥都主动发送配置BPDU。但在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他桥在收到上游传来的配置BPDU后,才触发发送自己的配置BPDU。配置BPDU的长度至少要35个字节,包含了桥ID、路径开销和端口ID等参数。

1.配置BPDU在以下3种情况下会产生

(1)只要端口使能STP,则配置BPDU就会按照Hello Time定时器规定的时间间隔从指定端口发出。(初始化所有STP设备/稳定后就是ROOT)

(2)当根端口收到配置BPDU时,根端口所在的设备会向自己的每一个指定端口复制一份配置BPDU。(稳定后)

(3)当指定端口收到比自己差的配置BPDU时,会立刻向下游设备发送自己的BPDU。(初始化/重新选举根桥/收到低优先级BPDU)

2.根桥ID(Root Identifier)

(1)Root Identifier由根桥优先级和根桥MAC地址组成,缺省值优先级为32768。

3.根路径开销(Root Path Cost)

(1)从发送网桥到根桥的最小路径开销,即最短路径上所有链路开销的和。(由于我们链路的带宽是1000Mbps,所以基于默认的IEEE 802.1t标准,此时cost值为20000)查看stp图中的“STP的根路径开销的标准列表”

4.桥ID(Bridge Identifier)

(1)发送BPDU的桥ID,对于LAN来说,他就是指定桥ID(DesignatedBridgeID)。

5.发送端口ID(Port Identifier)

(1)发送BPDU的端口ID,端口ID由端口优先级和端口号组成(值越小越优)。对于LAN来说,它就是指定端口ID(DesignatedPortID)

1.Hello Time

(1)运行STP协议的设备发送配置消息BPDU的时间间隔,用于设备检测链路是否存在故障。

(2)当网络拓扑稳定之后,该计时器的修改只有在根桥修改后才有效。stp timer hello

(3)但当拓扑变化之后,TCN(拓扑改变通告) BPDU的发送不受这个计时器的管理。

(4)缺省为2秒。

2.Max Age

(1)运行STP协议的网络中非根桥设备收到配置BPDU报文后,报文中的Message Age和Max Age会进行比较:

(1.1)如果Message Age小于等于Max Age,则该非根桥设备继续转发配置BPDU报文。

(1.2)如果Message Age大于Max Age,则该配置BPDU报文将被老化。该非根桥设备直接丢弃该配置BPDU,可认为网络直径过大,导致根桥连接失败。

(3)现实中,配置BPDU报文经过一个桥,Message Age增加1。

(4)缺省为20。

3.Forward Delay

(1)配置BPDU传播到全网最大延迟,默认为15秒。

设备状态迁移的延迟时间,默认为15s。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成临时环路。为此,STP采用了一种状态迁移机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息传遍整个网络,从而防止了临时环路的产生。其目的就是让发生的变化的情况有充分的时间传遍整个网络并且根据新情况调整端口状态,从而防止环路的产生。

Forward Delay Timer指一个端口处于Listening和Learning状态的各自持续时间,默认是15秒。即Listening状态持续15秒(即listening-learning),随后Learning状态再持续15秒(即learning-forwarding)。这两个状态下的端口会处于抑制状态,这正是STP用于避免临时环路的关键。

STP拓扑计算-选举根桥

初始状态所有交换机的所有端口处于listening状态

STP拓扑计算

1.网络中所有的设备使能STP协议后,每一台设备都认为自己是根桥。此时,每台设备仅仅收发配置BPDU,而不转发用户流量,所有的端口都处于Listening状态。所有设备通过交换配置BPDU后,进行选举工作,选出根桥、根端口和指定端口。

2.网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。

3.交换机优先级是可以配置的,取值范围是0~65535,默认值为32768。

stp和mstp是什么(一文教你弄明白STP)(3)

选举根桥

拓扑描述

1.为了方便描述,假设交换机S1和交换机S2的优先级分别为0和1,交换机S1通过PortA和S2的PortB互联。开始时,交换机S1和交换机S2分别发送配置BPDU,分别为{0,0,0,portA}和{1,0,1,portB}。经比较,S1的优先级优于S2的优先级,所以S1为根桥。

{根桥ID,累计根路径开销,发送者BID,发送端口PID}。

STP拓扑计算--最优配置BPDU

最优配置BPDU处理方法:

步骤1:每个端口将收到的配置BPDU与自己的配置BPDU进行比较:

(1)如果收到的配置BPDU优先级较低,则将其直接丢弃,对自己的配置消息不进行任何处理;(自己优)

(2)如果收到的配置BPDU优先级较高,则用该配置消息的内容将自己配置消息的内容替换掉。(别人优)

步骤2:设备将所有端口的配置BPDU进行比较,选出最优的配置BPDU

STP拓扑计算-选举根端口和指定端口

步骤1:非根桥设备将接收最优配置BPDU的那个端口定为根端口

步骤2:

stp和mstp是什么(一文教你弄明白STP)(4)

设备根据根端口的配置BPDU(即使从上游发出来的配置BPDU的消息)和根端口的路径

开销(根端口在本链路的cost值),为每个端口计算一个指定端口配置BPDU:

(1)根桥ID替换为根端口的配置消息的根桥ID

其实非根桥的指定端口转发的配置BPDU中的根桥ID就是root发出的配置BPDU中的根桥ID,这两个根桥ID是同一个东西;

(2)根路径开销替换为根端口配置BPDU的根路径开销(从上游传递下来的配置BPDU中所携带的的cost的值0)加上根端口对应的路径开销(该根端口自己接口所在链路中的cost值20000);即实验中SW2的指定接口G0/0/2中的cost值=根端口接口G0/0/1的cost值(0 20000)=20000

(3)发送者BID替换为自身设备的ID;

(4)发送端口PID替换为自身端口ID。

步骤3:设备将计算出的配置BPDU与角色待定端口自己的配置BPDU进行比较:

(1)如果计算出的配置BPDU更优,则该端口被确定为指定端口,其配置BPDU也被计算出的配置BPDU替换,并周期性地向外发送;

(2)如果该端口自己的配置BPDU更优,则不更新该端口的配置BPDU并将该端口阻塞。该端口(AP)将不再转发数据,且只接收不发送配置BPDU。

STP拓扑计算-确定端口角色

端口角色选举的步骤:

(1)根桥ID较小的配置BPDU优先级高;

(2)若根桥ID相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销,假设而这之和为S,则S较小的配置消息优先级高;

(3)若根路径开销也相同,则依次比较指定根桥ID、BPDU包发送方的PID、BPDU包接收方PID

(4)上述比较方法均比小,较小者胜出

1.根桥ID

2.根路径开销 rp

3.指定桥ID dp

4.BPDU包发送方PID

5.BPDU包接收方PID

STP拓扑计算-等路径开销计算

stp和mstp是什么(一文教你弄明白STP)(5)

左侧拓扑描述(发送BPDU包的发送方PID值越小越优,接口ID=接口优先级 接口索引号)

(1)根据STP根桥选举原则,很容易得出S1为根桥,接下来确定根端口、指定端口和Alternate端口。

(2)S2从接口E0和E1接收到S1发送两条BPDU,分别为{0,0,0,E0}和{0,0,0,E1},该两个BPDU只有发送端口不同,根据比较原则,较小的发送端口胜出,所以E0为根端口,E1为Alternate端口。

右侧拓扑描述(接收BPDU包的接收方PID值越小越优)

(1)根据STP根桥选举原则,很容易得出S1为根桥,接下来确定根端口、指定端口和Alternate端口。

(2)S2从接口E0和E1接收到S1发送两条BPDU,分别为{0,0,0,E0}和{0,0,0,E0},该两个BPDU优先级向量均相同,根据比较原则,只能比较接收端口的PID大小。经比较接收端口E0较小,所以E0为根端口,E1为Alternate端口。

STP拓扑计算-对低优先级BPDU的处理

stp和mstp是什么(一文教你弄明白STP)(6)

通常情况下,只有根桥交换机才会发送配置BPDU,其他非根网桥只从指定端口转发从根端口接收到的配置BDPU。非根网桥指定端口只有在接收到次优BPDU时,才会主动发送最优BPDU。

拓扑描述:

当S2收到S4的次优BPDU后,会马上发送回应配置BPDU,这是因为网桥都会保存当前最优的配置BPDU。

STP端口状态

stp和mstp是什么(一文教你弄明白STP)(7)

STP拓扑改变-TCN消息

TCN BPDU

1.指在下游拓扑发生变化时向上游发送拓扑变化通知,直到根桥

2.产生条件:

(1)端口状态变为Forwarding状态

(2)指定端口收到TCN BPDU,复制TCN BPDU并发往根桥

STP拓扑改变-TCN消息处理

stp和mstp是什么(一文教你弄明白STP)(8)

TCN消息处理

拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。

拓扑变更以及MAC地址表项更新的具体过程如下:

(1)SWC感知到网络拓扑发生变化后,会不间断地向SWB发送TCN BPDU报文。

(2)SWB收到SWC发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SWC,告知SWC停止发送TCN BPDU报文。

(3)SWB向根桥转发TCN BPDU报文。

(4)SWA把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300秒修改为Forwarding Delay的时间(默认为15秒)。

(5)最多等待15秒之后,SWB中的错误映射关系会被自动清除。此后,SWB就能通过G0/0/2端口把从主机A到主机B的帧正确地进行转发。

STP拓扑改变-收敛时长

stp和mstp是什么(一文教你弄明白STP)(9)

根桥失效:

(1)当S1出现故障,S2和S3都不能收到来自根桥的BPDU报文,他们在等待最长max age时间后,才能发现根桥失效,进而进行新的根桥选举、根端口和指定端口的确定。所以到达最终的拓扑稳定需要经历BPDU的老化、2个forwarding delay(listening learning)时长,即50秒。

链路失效:

(2)当S3连接S1的链路失效后,S3马上感知到这一情况的发生。S3的阻塞端口立即变为根端口。S3的面向S2的端口状态要经历listening、learning再到forwarding,即经历30秒。链路失效或者链路增加均需要经历30秒,才能恢复正常。

STP的不足:

(1)STP没有对端口状态和端口角色进行细致区分。例如从端口运行角度看,端口处于Blocking和Listening状态没有任何区别,因为这两种状态下的端口都无法收发数据,也不能进行MAC地址学习。

(2)STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。

(3)STP的算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理转发由根桥发出的配置BPDU报文,传遍整个STP网络。(极其不适应拓扑频繁变化的网络中)

RSTP基本原理

STP →RSTP→ MSTP 儿子

1.RSTP与STP的不同

(1)增加端口角色:DP(指定端口) AP(阻塞端口) RP(根端口) BP(备份端口)

(2)减少端口状态:discarding,learning, forwarding

(3)充分利用BPDU中的Flag字段(参考报文格式大全RST BPDU)

(4)对BPDU的处理方式发生了改变

(5)提高收敛速度

(6)增加了保护功能

RSTP和STP消除环路的思想保持一致,RSTP具备了STP的所有功能,支持RSTP的网桥可以和支持STP的网桥一同运行

RSTP基本概述-端口角色

stp和mstp是什么(一文教你弄明白STP)(10)

RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口。

根端口和指定端口的作用同STP协议中定义,Alternate端口和Backup端口的描述如下:

1.从配置BPDU报文发送角度来看:

(1)Alternate端口就是由于学习到其它网桥发送的更优配置BPDU报文而阻塞的端口。【即该端口的自身的配置BPDU优于计算出来的配置BPDU,此时该端口为AP】

(2)Backup端口就是由于学习到自己发送的更优配置BPDU报文而阻塞的端口。

2.从用户流量角度来看:

(1)Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端 ---------即B-C-A口的备份端口。

(2)Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。给一个RSTP域内所有端口分配角色的过程就是整个拓扑收敛的过程。

RSTP基本概述-端口状态

stp和mstp是什么(一文教你弄明白STP)(11)

端口状态角色对应表

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

(1)如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态。

(2)如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning状态。

(3)如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding状态。

RSTP计算过程:端口在Discarding状态下完成端口角色的确定:

(1)当端口角色确定为根端口和指定端口后,经过forwarding delay(15s)后,端口进入Learning状态,处于Learning状态的端口其处理方式和STP相同,此期间端口开始学习MAC地址并在Forwarding delay(15s)后进入Forwarding状态,开始转发数据。实际上,RSTP会通过其他方式加快这个过程。(P/A机制)

(2)当端口角色确定为Alternate端口和BP口后,端口会维持在Discarding状态。

RSTP基本概述-BPDU中的flag

stp和mstp是什么(一文教你弄明白STP)(12)

在配置BPDU报文的格式上,除了保证和STP格式基本一致之外,RSTP作了一些小变化:

1.Type字段,配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。

2.Flags字段,使用了原来保留的中间6位,这样改变的配置BPDU叫做RSTBPDU。

MSTP基本概念

stp和mstp是什么(一文教你弄明白STP)(13)

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

MST域(MST Region)

stp和mstp是什么(一文教你弄明白STP)(14)

MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:

(1)都启动了MSTP。

(2)具有相同的域名。

(3)具有相同的VLAN到生成树实例映射配置。

(4)具有相同的MSTP修订级别配置。

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

如图2所示的MST Region 4中由交换设备A、B、C和D构成,域中有3个MSTI。

stp和mstp是什么(一文教你弄明白STP)(15)

VLAN映射表

stp和mstp是什么(一文教你弄明白STP)(16)

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

如图所示,MST Region 4的VLAN映射表是:

(1)VLAN1映射到MSTI1

(2)VLAN2映射到MSTI2

(3)其余VLAN映射到MSTI3

图中表示A是在MSTI实例1中是root,B是在MSTI实例2中是root,C是在MSTI实例3中是root

CST(公共生成树)

stp和mstp是什么(一文教你弄明白STP)(17)

公共生成树CST(Common Spanning Tree)是连接交换网络内所有MST域的一棵生成树。如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。如图所示,浅蓝色线条连接各个域构成CST。

IST(内部生成树(即instance 0))

stp和mstp是什么(一文教你弄明白STP)(18)

内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。(即instance 0)IST是CIST在MST域中的一个片段。如图所示,黑色线条在域中连接该域的所有交换设备构成IST。

SST(单生成树)构成单生成树SST(Single Spanning Tree)有两种情况:

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

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

CIST(公共和内部生成树,其实就是以总根为根桥建立的instance0的一棵树)

stp和mstp是什么(一文教你弄明白STP)(19)

公共和内部生成树CIST(Common and Internal Spanning Tree)是通过STP或RSTP协议计算生成的,连接一个交换网络内所有交换设备的单生成树。如图所示,所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。

域根

stp和mstp是什么(一文教你弄明白STP)(20)

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

(1)IST域根如图MSTP网络层次示意图所示,在MST域中IST生成树中距离总根(CIST Root)最近的交换设备是IST域根。(即图中MST域2中的S1就是IST域根也是总根;而其他的域都是边界黄色设备为该域的IST域根)

(2)一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI域根是每个多生成树实例的树根。如图MST域示意图所示,域中不同的MSTI有各自的域根。

总根是CIST(Common and Internal Spanning Tree)的根桥。如图1中的S1。

主桥(Master Bridge)也就是IST Master,它是域内距离总根最近的交换设备。如图中的黄色交换机。如果总根在MST域中,则总根为该域的主桥。

端口角色

根端口、指定端口、Alternate端口、Backup端口和边缘端口的作用同RSTP协议中定义,MSTP中定义的所有端口角色如表所示。

MSTP的端口状态

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

1.Forwarding

在这种状态下,端口既转发用户流量又接收/发送BPDU报文。

2.Learning

(1)这是一种过渡状态。在Learning下,交换设备会根据收到的用户流量,构建MAC地址表,但不转发用户流量,所以叫做学习状态。

(2)Learning状态的端口接收/发送BPDU报文,不转发用户流量。

3.Discarding

Discarding状态的端口确定端口角色,只接收BPDU报文。

MSTP报文结构

stp和mstp是什么(一文教你弄明白STP)(21)

MSTP拓扑计算(查看华为HDX)

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

STP 配置BPDU

RSTP RST BPDU

MSTP MST BPDU

优先级向量

MSTI和CIST都是根据优先级向量来计算的,这些优先级向量信息都包含在MST BPDU中。各交换设备互相交换MST BPDU来生成MSTI(多生成树实例)和CIST(公共和内部生成树)。

优先级向量简介

参与CIST计算的优先级向量为:{ 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }

参与MSTI计算的优先级向量为:{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }括号中的向量的优先级从左到右依次递减。

其实就是:确定组成CIST树的设备端口角色是由CIST的七步选举原则决定的:

1.CIST的主根桥ID

2.CIST到达主根的外部开销(ERPC)(CIST ROOT=主根):域根到达主根的cost值为20000,凡是和该域根在同一个区域(HW区域)的其他桥到达主根的cost值也是20000.

3.CIST域根的桥ID (CIST ReROOT=域根)

4.CIST到达域根的内部开销(IRPC)

5.CIST发送者的桥ID

6.CIST发送者的port ID

7.CIST接收者的本地PORT ID

确定组成MSTI树的设备端口角色是由MSTI的五步选举原则决定的(instance other):

1.比较RID

2.比较到达根桥的RPC

3.比较指定桥BID(交换机优先级和MAC地址)

4.比较BPDU包发送方的PID(port id:端口优先级和索引号)

5.比较bgpd接收方的PID

CIST的计算(查看华为HDX)

stp和mstp是什么(一文教你弄明白STP)(22)

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

MSTI的计算(查看华为HDX)

在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成

树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似,

在MSTI的五步选举原则(instance other的端口选举)

1.比较RID

2.比较到达根桥的RPC

3.比较BPDU包发送方的BID(交换机优先级和MAC地址)

4.比较BPDU包发送方的PID(port id:端口优先级和索引号)

分区 快速笔记 的第 3 页

4.比较BPDU包发送方的PID(port id:端口优先级和索引号)

5.比较bgpd接收方的PID

MSTI的特点:

(1)每个MSTI独立计算自己的生成树,互不干扰。

(2)每个MSTI的生成树计算方法与STP基本相同。

(3)每个MSTI的生成树可以有不同的根,不同的拓扑。

(4)每个MSTI在自己的生成树内发送BPDU。

(5)每个MSTI的拓扑通过命令配置决定。

(6)每个端口在不同MSTI上的角色、状态可以不同。

在运行MSTP协议的网络中,一个VLAN报文将沿着如下路径进行转发:

(1)在MST域内,沿着其对应的MSTI转发。

(2)在MST域间,沿着CST转发。

MSTP对拓扑变化的处理(查看华为HDX)

MSTP拓扑变化处理与RSTP拓扑变化处理过程类似,请参见RSTP技术细节中的RSTP拓扑变化处理。

MSTP快速收敛机制(查看华为HDX)

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

1.普通方式

MSTP支持普通方式的P/A机制实现与RSTP支持的P/A机制实现相同,RSTP支持的P/A机制请见RSTP技术细节中的P/A机制。

2.增强方式

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

(1)上游设备发送Proposal报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口。

(2)上游设备继续发送Agreement报文。下游设备接收到后,根端口转为Forwarding状态。

(3)下游设备回应Agreement报文。上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入Forwarding状态。

(4)缺省情况下,华为数据通信设备使用增强的快速迁移机制。如果华为数据通信设备和其他制造商的设备进行互通,而其他制造商的设备P/A机制使用普通的快速迁移机制,此时,可在华为数据通信设备上通过设置P/A机制为普通的快速迁移机制,从而实现华为数据通信设备和其他制造商的设备进行互通。stp no-agreement-check:配置当前端口使用普通的快速迁移机制

,