STP.RSTP协议理解
STPRSTPMSTP对比与分析

STPRSTPMSTP对比与分析STP(Spanning Tree Protocol),RSTP(Rapid Spanning Tree Protocol)和MSTP(Multiple Spanning Tree Protocol)都是用于管理和构建冗余链路的网络协议,以提高网络的可靠性和冗余容错能力。
下面将对它们进行详细的比较与分析。
1.网络拓扑计算方式:- STP:通过计算距离(路径开销)来选择根桥和最佳路径,根据BPDU(Bridge Protocol Data Unit)的交换来构建最佳路径,存在较慢的收敛时间。
-RSTP:通过计算端口状态变化的时间,使用端口状态变化的计时器来加速收敛时间,以改进STP的收敛效率。
-MSTP:将网络划分为多个实例,并使用VLAN作为实例的依据,每个实例建立独立的树,在不同实例之间共享一些信息,达到提高收敛速度和优化网络利用率的目的。
2.收敛时间:-STP:在网络拓扑发生变化时,需要等待一段时间才能重新计算生成树,收敛时间较长,通常需要几秒到几十秒。
-RSTP:通过端口状态变化计时器的计时,可以快速检测到网络更改并重新计算最短路径,从而实现快速收敛。
通常可以在数秒内完成收敛,比STP收敛速度快。
-MSTP:与RSTP相比,MSTP可以更有效地利用多树实例进行并行计算,从而进一步缩短收敛时间。
3.网络利用率:-STP:生成树只使用一条路径,其他冗余链路处于阻塞状态,无法充分利用网络资源。
-RSTP:通过快速收敛和端口状态的变化,可以更快地利用冗余链路,提高网络的利用率。
-MSTP:通过将网络划分为多个实例,可根据不同实例的需要,更好地利用冗余链路,提高网络利用率。
4.配置复杂性:-STP:配置相对简单,只需配置根桥和端口优先级。
-RSTP:相对于STP更复杂一些,需要进行一些新的配置和调整。
-MSTP:相对于RSTP更复杂一些,需要进行实例的配置和管理。
综上所述,虽然STP是最基本的冗余链路协议,但收敛时间较长且无法充分利用冗余链路。
STP_RSTP_MSTP分析比较

RSTP (802.1W)
RSTP概述 STP协议是选好端口角色后等待 30秒(转发延迟的 2 倍时间)后再转发。整个网络拓扑的稳定大约需要 50 秒的时间。 IEEE 802.1w 标准(RSTP)是802.1D标 准的一种进化,当网络拓扑发生改变的时候,快速生 成树协议能够显著加快重新计算生成树的速度。
11
STP的BPDU 包实例
12
STP的缺陷
? STP协议的缺陷主要表现在收敛速度上。 当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个 时延称为 Forward Delay ,协议默认值是 15秒。
? 在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有 发现自己应该在新的拓扑中停止转发,则可能存在临时环路。也就是网络复杂 化后,网络拓扑的变化也很多,所以对收敛的速度要求很高,如果向老式的 STP 这样,在新的信息中要求转发端口停止转发,换成另外一个端口,但是因 为延迟自己不知道,所以就存在 2个转发端口,而造成临时的环路。
为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状 态到转发状态中间加上一个只学习 MAC 地址但不参与转发的中间状态,两次状 态切换的时间长度都是 Forward Delay ,这样就可以保证在拓扑变化的时候, 新增的那个端口不会马上成为转发端口,也就不会产生临时环路。但是,这个 看似良好的解决方案实际上带来的却是至少两倍 Forward Delay 的收敛时间!
2、Bridge Max Age >= 2 (Bridge Hello Time + 1.0 seconds )
10
BPDU的格式
IEEE802.1D的STP BPDU的帧格式: BPDU 报文的目标 MAC 地址为: 01-80-C2-00-00-00。BPDU 报文在直连的两个网桥 或多个网桥内交换,不能被转发。没有运行 STP协议的网桥将把BPDU报文当作普通 业务报文转发。 BPDU格式:
stp-rstp-mstp-对比

STP(生成树协议)、RSTP(快速生成树协议)、MSTP(多生成树协议),这三个协议都是二层交换网络中为了防止环路和实现链路冗余而设计的,他们之间有什么区别与联系呢?本文为您详细介绍。
STP、RSTP、MSTP基本概念1、STP(802.1d)STP协议生来就是为了冗余而存在的,单纯树型的网络无法提供足够的可靠性,由此我们引入了额外的链路,这才出现了环路这样的问题。
但单纯是标准的802.1D STP协议并不能实现真正的冗余与负载分担。
STP为IEEE 802.1D标准,它内部只有一棵STP tree,因此必然有一条链路要被blocking,不会转发数据,只有另外一条链路出现问题时,这条被blocking的链路才会接替之前链路所承担的职责,做数据的转发。
无论怎样,总会有一条链路处于不被使用的状态,冗余是有了,但是负载分担是不可想象的。
cisco对STP做了改进,它使得每个VLAN都运行一棵stp tree,这样第一条链路可以为vlan 1 2 3服务,对vlan 4 5 6 blocking,第二条链路可以为vlan 4 5 6 forwarding,对vlan 1 2 3关闭,无形中实现了链路的冗余,负载分担。
这种技术被称之为PVST+随着网络的发展,人们发现传统的STP协议无法满足主备快速切换的需求,因为STP协议将端口定义了5种状态,分别为:blocking listening learning forwarding disabling,想要从blocking切换至forwarding状态,必需要经过50秒的周期,这50秒我们只能被动地去等待。
20秒的blocking状态下,如果没有检测到邻居发来的BPDU包,则进入listening,这时要做的是选举Root Bridge、Designate Port、Root Port,15秒后,进入learning,learning状态下可以学习MAC地址,为最后的forwarding做准备,同样是15秒,最后到达转发状态。
stprstpmstp详解

stprstpmstp详解⼀ stp⽹络的冗余性设计主要包括两个⽅⾯:关键设备冗余,以及关键链路冗余。
如何在保证⽹络的冗余性情况下,消除⼆层环路,是本章的重点。
Stp(⽣成树协议)在802.1D中定义,RSTP(快速⽣成树协议)在802.1w中定义,MSTP(多⽣成树协议)在802.1s中定义。
1 STP基本概念(1)桥ID:每⼀台运⾏STP的交换机都拥有⼀个唯⼀的桥ID,该值⼀共8byte,包含16bit的优先级(⾼16bit)和48bit的桥MAC地址。
(2)根桥:STP的主要作⽤就是在整个交换⽹络中计算出⼀颗⽆环的STP树,其中树根即根桥很重要,STP的⼀系列计算均已根桥为参考点。
⼀个交换⽹络中只有⼀个根桥。
⽹络中最⼩桥ID的交换机将成为根桥,其次⽐较的是MAC地址,MAC地址最⼩的交换机将成为根桥。
(3)开销(Cost)与跟路径开销(Root Path Cost,RPC):每⼀个激活了Stp的接⼝都会维护⼀个Cost值,⽤来计算RPC。
接⼝的缺省Cost除了与其速率,⼯作模式有关,还与交换机使⽤STP Cost计算⽅法有关。
华为交换机⽀持3种STP cost计算⽅法,分别为IEEE802.1D-1998标准,IEEE802.1t标准,以及华为的私有计算⽅法。
⽹络中所有STP设备使⽤的Cost计算⽅法要⼀致。
2 STP的基本操作过程STP通过4个步骤来保证⽹络中不存在⼆层环路(1)在交换⽹络中选出⼀个根桥(Root Bridge,RB)对于⼀个交换⽹络⽽⾔,正常情况下只会存在⼀个根桥,根桥的地位具有可抢占性。
(2)在每个⾮根桥上选取⼀个根接⼝(Root Port,RP)在⼀个交换⽹络中除了根桥,其他交换机都是⾮根桥,STP将为每个⾮根桥选举⼀个根接⼝,所谓根接⼝,实际上就是⾮根桥上所有接⼝中收到最优BPDU的接⼝,可以理解为交换机在STP树上朝向根桥的接⼝。
⾮根桥可能会有⼀个或者多个接⼝接⼊同⼀个交换⽹络,STP将在这些接⼝中选举出⼀个根接⼝。
RSTP协议深入了解快速生成树协议的快速收敛与恢复

RSTP协议深入了解快速生成树协议的快速收敛与恢复Rapid Spanning Tree Protocol (RSTP) 是一种用于局域网中的快速生成树协议。
它的主要目标是在网络拓扑发生变化时,实现快速的收敛和恢复,以确保数据的正常传输。
本文将深入探讨RSTP协议,包括其原理、特点以及快速收敛和恢复的机制。
一、RSTP协议原理与特点RSTP是基于Spanning Tree Protocol (STP) 的改进版,它在STP的基础上进行了优化,以提高网络的收敛速度和性能。
RSTP协议的主要原理是通过在网络中选择一条主干路径(Root Path)和多个备选路径(Alternate Path),以实现冗余和负载均衡。
它引入了新的端口状态,包括Discarding、Learning、Forwarding三个状态,以提高网络的收敛性能。
RSTP协议的特点包括:1. 快速收敛:RSTP协议通过链路状态变化的感知和决策机制,可以更快地收敛网络拓扑。
当网络中的链路发生变化时,RSTP能够快速重新计算生成树,并调整端口状态,以确保数据的正常传输。
2. 支持快速下线检测:RSTP协议引入了BPDU Guard机制,用于快速检测并禁用非法的下线连接。
当RSTP交换机接收到非法的BPDU 帧时,它会立即将相应的端口置为锁定状态,以防止环路的产生。
3. 多实例支持:RSTP协议支持多实例的特性,可以同时运行多个生成树实例。
这使得RSTP可以应对复杂的网络环境,并提供更灵活和可靠的拓扑改变和收敛机制。
二、RSTP的快速收敛机制RSTP协议的快速收敛机制主要包括以下几个方面:1. 快速端口切换:当网络中的某个端口出现链路故障时,RSTP能够快速检测到变化,并将其切换到备选路径上。
这样,数据包可以立即沿新的路径传输,无需等待生成树重新计算。
2. Proposal/Agreement机制:RSTP使用Proposal/Agreement机制来加快收敛速度。
stp rstp 白皮书

stp rstp白皮书
STP(Spanning Tree Protocol,生成树协议)和RSTP(Rapid Spanning Tree Protocol,快速生成树协议)都是网络中用于防止环路并确保冗余路径不导致数据包洪泛的协议。
1.STP(生成树协议):
-STP是一种用于生成树拓扑的协议,最早定义在IEEE802.1D标准中。
-STP通过选择一条树状路径,将网络中的冗余路径阻塞,以防止环路的发生。
在拓扑变化时,STP需要一段时间来重新计算生成树,因此收敛速度相对较慢。
2.RSTP(快速生成树协议):
-RSTP是对STP的改进,旨在提高网络收敛速度。
-RSTP引入了诸多优化机制,包括端口角色的转变、不同类型的BPDU(Bridge Protocol Data Unit)的使用、更快的端口收敛等。
这些改进使得RSTP能够更快地适应网络拓扑的变化,减少了网络在故障恢复时的收敛时间。
总体而言,RSTP是STP的一个改进版本,通过减少冗余计算和引入一些优化来提高网络收敛速度。
网络管理员可以选择使用STP或RSTP,具体取决于网络的需求和设备的支持。
更多详细信息可以查阅相关的IEEE802.1D和802.1w标准文档,这些文档包含了STP和RSTP的技术细节。
请简述stp协议工作的过程。并说明rstp和mstp的区别。

请简述stp协议工作的过程。
并说明rstp和mstp的区别。
摘要:一、STP协议工作过程概述二、RSTP协议与STP协议的区别1.收敛速度2.报文类型3.端口状态4.选举根桥和指定端口三、MSTP协议与STP协议的区别1. multiple instance2.端口状态3.根桥选举正文:一、STP协议工作过程概述STP(Spanning Tree Protocol)协议,即生成树协议,其工作过程主要分为以下几个阶段:1.交换机初始化:交换机启动后,所有端口处于listening状态,交换机之间互相发送BPDU(Bridge Protocol Data Units)报文。
2.选举根桥:交换机通过比较收到的BPDU报文中的序列号和时间戳来选举根桥,序列号越大,优先级越高;如果序列号相同,则比较时间戳,时间戳越小,优先级越高。
3.选举指定端口:非根桥交换机通过比较收到的BPDU报文中的路径成本来选举指定端口,路径成本越小,优先级越高。
4.端口状态转换:根据选举结果,交换机的端口状态发生转换,分为三种状态:forwarding(转发状态)、learning(学习状态)、blocking(阻塞状态)。
5.生成树建立:所有交换机根据选举结果,构建生成树,阻塞不必要的端口,以防止环路的产生。
二、RSTP协议与STP协议的区别1.收敛速度:RSTP(Rapid Spanning Tree Protocol)协议的收敛速度比STP协议快,因为它引入了端口状态机制,使得端口状态转换更加迅速。
2.报文类型:RSTP协议使用了与STP协议不同的报文类型,包括RSTP BPDU、MSTP BPDU和ERP BPDU。
3.端口状态:RSTP协议引入了端口状态的概念,将端口分为三种状态:forwarding(转发状态)、learning(学习状态)、blocking(阻塞状态),以实现快速收敛。
4.选举根桥:RSTP协议的根桥选举过程与STP协议类似,但RSTP协议在选举过程中会优先考虑端口状态,从而提高收敛速度。
H3C_STP_RSTP_MSTP协议原理及配置

Root Switch is 0001 Lowest Cost to Root = 7
Switch A BID =0001
Root Switch is 0001 Lowest Cost to Root = 3
Cost to Root =18 Switch B BID =0050 Cost to Root =7
Switch A BID =0001
Root Switch is 0001 Lowest Cost to Root = 3
Cost to Root =18 Switch B BID =0050 Cost to Root =7
Cost to Root =3 Switch C BID =1045 Cost to Root =22
11
如何确定根桥
I’m the Root Switch
I’m the Root Switch
Switch A BID =0001
I’m the Root Switch
Switch B BID =0050
Switch C BID =1045
Switch D BID =0030
I’m the Root Switch
Root Switch = 0001 Lowest Cost to Root = 11
22
BPDU交换过程
I’m the Root Switch Lowest Cost to Root = 0
Root Switch is 0001 Lowest Cost to Root = 7
14
如何确定根桥
I’m the Root Switch
Root Switch =0001
Switch A BID =0001
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为三康技术有限公司Huawei-3Com Technologies Co.,Ltd.文档编号Document ID 密级Confidentiality level秘密文档状态Document Status共29页Total 29 pages Draft 1.00STP/RSTP 协议理解拟制Prepared by 沈岭Date日期2004-11-03评审人Reviewed by Date日期yyyy-mm-dd批准Approved byDate日期yyyy-mm-dd 华为三康技术有限公司Huawei-3Com Technologies Co., Ltd.版权所有侵权必究All rights reserved修订记录Revision Record日期Date修订版本RevisionVersion修改章节SecNo.修改描述Change Description作者Author2004-11-031.00 x.x.x; initial 初稿完成沈岭2005-11-0 8 1.1 x.x.x;y.y.y修改算法的部分描述,删除问题1,添加图6,添加判断复杂拓扑的方法,更新部分问题的描述,添加STP和RSTP对inferior BPDU的处理,添加STP TC-Protection特性沈岭目录1 S TP 生成树协议 (7)1.1STP的主要作用 (7)1.2STP的基本原理: (7)1.3STP端口的角色和状态 (8)1.4端口状态: (9)1.5STP算法 (9)1.5.1问题1 (12)1.5.2问题2 (13)1.6STP的计时器: (13)1.7STP拓扑结构改变 (14)1.8问题讨论 (16)1.8.1问题3的答案: (16)1.8.2附加题: (16)2 RSTP 快速生成树协议 (19)2.1RSTP的改进 (19)2.2P/A协商 (22)2.3拓扑结构变化 (23)2.3.1问题1: (24)2.3.2问题2: (25)2.3.3问题3 (25)2.3.4问题4: (25)2.3.5附加题 (26)2.4RSTP新增特性 (26)2.4.1BPDU Guard (26)2.4.2Root Guard (27)2.4.3Root Primary/Secondary (27)2.4.4Loop Guard (27)2.4.5STP Mcheck (28)2.4.6STP TC-protection (28)推荐资料: (29)参考资料: (29)图表目录图1 BPDU的报文格式 (7)图2 STP算法拓扑图 (10)图3 另一种可能的拓扑图...................................................................................... 错误!未定义书签。
图4 更复杂的一种情况.. (13)图5 Flag字段 (14)图6 TCN的发送和BPDU的泛洪 (15)图7 RSTP各端口角色 (19)图8 RSTP/STP BPDU的区别 (21)图9 RSTP的Flags字段 (21)图10 P/A协商机制 (23)图11 RSTP的TC泛洪 (24)图12 RSTP的拓扑变化 (24)前言众所周知,生成树协议是Lanswitching中最复杂的协议,协议的复杂度不仅表现在有STP/RSTP/MSTP等各种类型的生成树,以及各种参数和优化方案,更体现在算法、配置信息的交互比较和拓扑结构的变化上。
根据学习过程中所做的一些实验,本文提供了对算法较详细的描述以及关于各种拓扑结构变化的讨论,相信会让大家STP/RSTP模块的理解能提供较大的帮助。
STP/RSTP 协议理解1 STP 生成树协议1.1 STP 的主要作用消除环路:通过阻断冗余链路来消除网络中可能存在的路径回环。
链路备份:当前活动路径发生故障时,激活冗余备份链路,恢复网络连通性。
1.2 STP 的基本原理:通过在交换机之间传递一种特殊的协议报文——BPDU (在IEEE 802.1D 中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。
配置消息中包含了足够的信息来保证交换机完成生成树计算。
(注:此BPDU 被称为配置BPDU ,另外STP 还有TCN BPDU 。
)DMALLC Headerpayload 2目的源配置消息固定域值SMAL/T 0x0180c20000000x424203BPDU 数据报文字节协议版本11标志位184822Max Age 222MAC 地址是一个固定的组播地址MAC 地址是发送配置消息的桥的MAC 地址。
的链路头帧长协议ID BPDU 类型根桥ID最短路径开销指定桥ID 指定端口ID Hello Time Forward DelayMessage Age图1 BPDU 的报文格式注意看BPDU 数据报文的最后8个字段,分别是:根桥ID :由树根的优先级(0-65535,默认32768)和MAC 地址组合而成;到树根的最短路径开销(实际由PortPathCost叠加而成),有两个标准——dot1d-1998,默认值为100和dot1t,默认值为200000;指定桥的ID:由指定交换机的优先级和MAC地址组合而成;指定端口的ID:由指定端口的优先级(0-256,默认128)和端口编号组成;配置消息的生存期:MessageAge;配置消息的最大生存期:MaxAge;配置消息发送的周期:HelloTime;端口状态迁移的延时:ForwardDelay。
启动了STP的交换机互相之间通过发送配置BPDU来完成根桥,指定桥的选举,各端口状态的选择和整个网络拓扑结构的确定。
比较的关键部分在于这八个字段中的前四个字段,即:根桥ID、路径开销、指定桥ID和指定端口的ID。
其实还有一个接收端口的ID,用于本地比较(当交换机的2个端口都收到相同的BPDU时——比如上连一个stp disable的交换机或hub)。
比较的原则:从上到下、从左到右数值小者优先。
STP协议使用的所有BPDU都是组播报文,目的MAC是01-80-c2-00-00-00。
1.3 STP端口的角色和状态STP拓扑结构的建立微观上说是一个全网交换机互相交互的过程,各台交换机相互之间不停的发送配置BPDU,发送和接受BPDU的是各switch的Ports,BPDU不单在不同交换机的端口之间比较,也在交换机的内部作比较,如果发现比自己“优”的BPDU,就进行报文的更新,如果发现对方传来的BPDU不如自己的,则丢弃报文,直到再收不到比自己更优的BPDU为止。
当网络中所有的交换机都处于这种状态的时候我们可以认为拓扑结构已经建立,但根端口和指定端口还得经过2个Forward Delay Time才能进入转发状态。
所以STP拓扑结构的建立实际上可以理解为端口角色的建立,所有端口都为指定端口的交换机被选为根桥,其余的为指定桥。
这里要提到5个概念:根桥,指定桥,根端口,指定端口,Block端口。
根桥就是“网桥ID”最优的桥,当STP的拓扑结构稳定之后由根桥负责每2秒(Hello Time)向树中所有的网桥发送配置BPDU报文,其他网桥接收并转发。
根端口即去往根桥路径最近的端口,这个最近的衡量是靠Root Path Cost来判定的。
有关Path Cost的计算,是每当一个端口收到一个BPDU后,会在该BPDU所指示的Path Cost上加上该端口的PortPath Cost (这是可以人为配置的)。
比较累计Root Path Cost 最小的端口就是根端口,如果有两条开销相同的路径,那么就选择桥BID 较小的。
指定桥就是对下游来说向它转发BPDU 报文的桥,一个LAN 上除了根桥以外的所有网桥都是指定桥。
为什么这么说呢?根据定义而来,指定桥上必定有指定端口(即使是网络边缘的网桥也有——连接到主机的端口),而指定端口就是用来转发BPDU 报文的。
这里要注意的是拓扑稳定后Root Port 是不发送BPDU 报文的,虽然它的状态是Forwarding ,它只接收BPDU 。
指定端口:即在一个LAN 里面负责转发BPDU 的端口,根桥和指定桥上都有它,但根端口只在指定桥上有,同样block 端口也只存在于指定桥上。
Block 端口:即被对方的指定端口抑制的端口,Block 端口不转发任何报文,但他接收BPDU ,监听网络变化。
根端口、指定端口、Block 端口即为STP 网桥端口的三个角色。
1.4 端口状态:如图所示,一共有5种端口状态:表1 STP 的五种端口状态前三个状态之间的转换各需要经过一个Forwarding Delay Time (15s ),这也是可以人为配置的。
关于几个计时器将在后面的内容加以介绍。
1.5 STP 算法现在重点讲一下STP 算法的实现,纯理论的讲算法过于枯燥,这儿以三台全互连的交换机为例描述一下实现过程。
(注:关于状态机的标准实现可以参考IEEE.802.1D ,这里只用容易理解的语言描述整个过程,可能有细节说法上不太规范,但更方便理解。
)Forwarding 转发用户流量的状态,只有根端口或指定端口才有这种状态。
Learning 构建MAC 地址表,这时接收到用户帧,网桥会填充自己MAC地址表。
所以是学习“状态”。
Listening 根桥、根端口、指定端口的选择就是在该状态内完成。
Blocking 仅仅接收Configuration BPDU 。
Disabled或Down ,认为阻断或物理上断掉。
AP2AP1BP1BP2CP1CP2ABC236图2 STP 算法拓扑图为了描述方便,这里指比较BPDU 的前四项:根桥ID (以以太网交换机的优先级表示),根路径开销,指定交换机ID (以以太网交换机的优先级表示),指定端口ID (以端口号表示)。
假设SWA,SWB,SWC 的桥优先级分别为0,1,2。
各链路开销为2,3,6。
这里要特别说明一点:Root Path Cost 不是一个可配置项,即它是由交换机根据Port Path Cost 比较而累积得出的,Port Path Cost 才是一个可配置的选项。
图中的链路开销可理解为2端端口的Port Path Cost ,只不过它们恰好相同而已。
(1)初始状态各台交换机的各个端口在初始时会生成以自己为根的配置消息,根路径开销为0,指定交换机ID 为自身交换机ID ,指定端口为本端口。
Switch A :端口AP1配置消息:{0,0,0,AP1} 端口AP2配置消息:{0,0,0,AP2} Switch B :端口BP1配置消息:{1,0,1,BP1} 端口BP2配置消息:{1,0,1,BP2} Switch C :端口CP2配置消息:{2,0,2,CP2} 端口CP1配置消息:{2,0,2,CP1} (2)选出最优配置消息各台交换机都向外发送自己的配置消息。