生成树协议(二)RSTP快速生成树协议原理

更新时间:2023-07-12 05:43:30 阅读: 评论:0

⽣成树协议(⼆)RSTP快速⽣成树协议原理
⽂章⽬录
STP的不⾜之处
1. 收敛速度慢:STP为了避免临时环路的产⽣,⼜因为没有确认机制,所以必须等待⾜够长的时间来确保全⽹端⼝状态收敛完成(从
Listening到Learning状态要⼀个Forward Delay,从Learning到Forwarding状态需要⼀个Forward Delay。Forward Delay缺省为15s)
2. 根桥或链路发⽣故障收敛时间需要(30s~50s)
3. 交换机连接终端的端⼝(边缘端⼝),实际上不需要进⾏⽣成树计算,但是STP中边缘端⼝也需要进⾏⽣成树计算并需要两个
Forward Delay的收敛时间。
4. 当STP的拓扑变更之后,STP中由变更点向上游设备发送TCN BPDU,收到消息后的上游设备会回复TCA消息确认,知道根桥接收到
TCN BPDU,再由根桥发送TC消息通知所有下游设备删除MAC地址表。这种机制⽐较复杂,效率较低,所有设备MAC地址表都需删除没有必要。
5. 端⼝状态不清晰:STP中有5种端⼝⾓⾊,但是其中Disabled、Blocking、Listening对⽤户流量的处理是⼀样的(从⽤户使⽤⾓度对
应的⾏为都相同),但是STP却分为了三种状态,增加了学习和理解的难度。
6. 端⼝⾓⾊不明确:STP中有三种端⼝⾓⾊。当DP或RP故障之后,备⽤端⼝需转化成DP或RP,需要进⾏重新选举于收敛,浪费时间。具体STP信息可以查看
RSTP
RSTP(rapid spanning Tree Protocol ):
快速⽣成树协议,最早在IEEE 802.1W-2001中提出,这种协议在⽹络结构发⽣变化时,能更快的收敛⽹络。
是针对由于STP有诸多的不⾜⽽提出的优化⽣成树版本协议,针对STP的问题,做了诸多的改进,使得协议更加清晰、规范、⾼效。所以想要学习RSTP协议,先弄懂STP协议是必不可少的。
RSTP对STP的改进
BPDU报⽂
STP与RSTP的BPDU报⽂基本相同,主要有三个字段不同。
字段STP RSTP
PVI STP(802.1D)传统⽣成树  值为0RSTP(802.1W)快速⽣成树 值为2
BPUD Type 0x00:STP的Configuration BPDU 0x80:STP
的TCN BPDU
0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple
Spanning-Tree BPDU)
Flags8bits只⽤了2bits:TC、TCA8bits全⽤Flags:
Bit7:TCA (Topology Change Acknowledgement)
Bit6:Agreement
Bit5:Forwarding
Bit4:Learning
bit5bit4端⼝状态
10Forwarding
01Learning
00Discarding Bit3和Bit2:端⼝⾓⾊
00:未知
01(低位为1⾼位为0):Alternate / Backup
人力资源模型10(低位为0⾼位为1):根端⼝
11:指定端⼝
Bit1:Proposal
Bit0:TC (Topology Change)
端⼝⾓⾊
相⽐于STP只有⼀种阻塞端⼝,RSTP新增加了两种端⼝⾓⾊,并且把端⼝属性充分地按照状态和⾓⾊解耦,使得可以更加精确地描述端⼝。同时也加快了拓扑收敛。通过端⼝⾓⾊的增补,简化了⽣成树协议的理解及部署。
新增端⼝:
1. Alternate Port:由于学习到其它⽹桥发送的配置BPDU报⽂⽽阻塞的端⼝。提供了从指定桥到根的另⼀条可切换路径,作为根端⼝的备份端⼝。
2. Backup Port:由于学习到⾃⼰发送的配置BPDU报⽂⽽阻塞的端⼝。作为指定端⼝的备份,提供了另外⼀条从根节点到叶节点的备份通路。
端⼝状态
RSTP将STP的5种端⼝状态缩减成3种:因为从⽤户⾓度讲,Listening、Learning和Blocking状态并没有区别,都同样不转发⽤户流量。
STP****端⼝状态RSTP****端⼝状态端⼝状态对应的⾏为
Disabled Discarding如果不转发⽤户流量也不学习MAC地址,那么端⼝状态就是Discarding状态。
Blocking
Listening
Learning Learning如果不转发⽤户流量但是学习MAC地址,那么端⼝状态就是Learning状态。
Forwarding Forwarding如果既转发⽤户流量⼜学习MAC地址,那么端⼝状态就是Forwarding状态。
快速收敛机制
RSTP选举原理和STP本质上相同:
但是RSTP在选举的过程中加⼊了“发起请求-回复同意”(Proposal/Agreement机制)这种确认机制,由于每个步骤有确认就不需要依赖计时器来保证⽹络拓扑⽆环才去转发,只需要考虑BPDU发送报⽂并计算⽆环拓扑的时间(⼀般都是秒级)。
p/A机制其⽬的是让⼀个指定端⼝尽快进⼊Forwarding状态。P/A机制要求两台交换设备链路必须是点对点的全双⼯模式,⼀旦P/A协商不成功,则指定端⼝的选举需要等待两个Forward Delay,协商过程与STP⼀致。
P/A机制中有来回确认机制和同步变量机制。
⼯作原理:
如上图:有⾼优先级的BID设备会忽略低优先级BID的P置位,低优先级设备会接收⾼优先级的P置位,并且停⽌发送RTS BPDU,并开始执⾏同步。阻塞所有⾮边缘端⼝之后,低优先级的将会发送⼀个A置位的RTS BPDU。(表⽰我同意你的提意)⾼优先级设备接收到了A置位的BPDU之后,⽴即进⼊Forwarding状态。
具体选举过程
问题⼀的解决⽅案:井底之蛙的故事
肚子疼的英语1. 阶段⼀:设备刚刚启动,RSTP协议刚刚启⽤,所有交换机都认为⾃⼰是根桥,向其他交换机发送P置位的BPDU,并把发送P消息的
端⼝变成DP⼝,同时接⼝处在Discarding状态。
2. 阶段⼆:交换机SWA收到SWB和SWC的P消息会置之不理,因为他的桥优先级最⾼。交换机SWB和SWC收到SWA的P消息后,由
于认同SWA是最优的根桥,会根据P/A协商流程回复A消息,并把发送端⼝变成RP端⼝,同时接⼝处在Forwarding状态。
3. 阶段三:SWA与SWB,SWA与SWB的P/A协商已经完成,接下来是SWB和SWC的P/A协商。
鸡胗怎么炒好吃1. SWB和SWC都会发送根桥为SWA的P消息给对⽅。
2. SWC收到SWB的P消息后,发现P消息⾥虽然根桥和⾃⼰认可的⼀样,但是发送者的桥优先级⽐⾃⼰⾼(SWB>SWC),所有马上
大熊猫介绍停⽌发送P消息,但是由于已经有端⼝是RP⼝,也不会回A消息。
3. SWB收到SWC的P消息后,发现P消息⾥虽然根桥和⾃⼰认可的⼀样,但是发送者的桥优先级⽐⾃⼰低(SWB>SWC),会不停的
发送P消息。
4. 以上状态在等待2个Forward Delay时间后,SWB端⼝为DP端⼝,处在Forwarding状态, SWC端⼝为AP端⼝,处在
Discarding状态。
5. 实际上SWB与SWC之间的协商等同于退回到STP的模式,但是反正是Discarding状态,根本不影响其他业务转发。
根端⼝快速切换机制
在STP中,与根桥相连直连链路故障导致的重新收敛时间⼤约为30s。
然后在RSTP中为加快收敛时间,设备上旧的根端⼝失效后,新的根端⼝就应该在保证⽆环的情况下⽴刻迁移到Forwarding状态,⽽AP端⼝在选举的时候就考虑到该需求,故可⽴即进⼊转发状态(对⾯必然为DP。(当前根端⼝发⽣故障时,阻塞端⼝会向对⾯进⾏P/A协商,我是否可以转发状态,如果对⾯的指定端⼝为转发状态,则可以变为转发状态(1-2秒协商时间))
次优BPDU报⽂处理机制
SWB与SWA的直连链路down掉,SWC的AP端⼝切换成DP端⼝并进⼊转发状态。
车厘子种植如果交换机的端⼝在连续3次Hello Timer规定的时间间隔内(6s)没有收到上游交换机发送的RST BPDU,便会确认本端⼝和对端端⼝的通信失败,从⽽需要重新进⾏RSTP的计算来确定交换机及端⼝⾓⾊。
边缘端⼝的引⼊
化石是什么在STP中,连接终端的交换机端⼝(边缘端⼝)也需要进⾏选举,向外发送BPDU报⽂。但是对⾯是主机,不能给它回复BPDU报⽂,所以边缘的选举是没有意义的。
在RSTP中我们设置了边缘端⼝的属性,若端⼝被设置为边缘端⼝则会⽴即进⼊转发状态。
但是边缘端⼝⼀旦接收到了BPDU报⽂之后,就丧失了边缘端⼝的属性,成为了普通STP端⼝,并重新进⾏⽣成树计算。
拓扑变更机制优化
在STP中拓扑变化需要先通知根桥,然后再由根桥发送全⽹交换设备。这样既浪费时间过程还复杂。
⽽RSTP中,当⼀个⾮边缘端⼝迁移到Forwarding状态,即认为发送了拓扑变化。变更点交换机直接向全⽹发送TC置位的BPDU报⽂,⽽不是先⽤TCN BPDU通知根桥,再由根桥向全⽹发送TC置位的消息,这样在⼀定程度上节省了收敛时间。(谁变化,谁发送消息)。
注意:拓扑变化唯⼀的标准:⼀个⾮边缘端⼝迁移到Forwarding状态
详细过程:
为本交换设备的所有⾮边缘指定端⼝启动⼀个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空状态发⽣变化的端⼝上学习到的MAC地址。同时,由这些端⼝向外发送RST BPDU,其中TC置位。⼀旦TC While Timer超时,则停⽌发送RST BPDU。
胶片照片其他交换设备接收到RST BPDU后,清空所有端⼝学习到MAC地址,除了收到RST BPDU的端⼝。然后也为⾃⼰所有的⾮边缘指定端⼝和根端⼝启动TC While Timer,重复上述过程。 如此,⽹络中就会产⽣RST BPDU的泛洪。
边缘端⼝down掉和故障恢复之后up都不会触发拓扑更新
保护功能
BPDU保护
为了防⽌有⼈伪造RST BPDU恶意攻击交换设备,当边缘端⼝接收到该报⽂时,会⾃动设置为⾮边缘端⼝,并重新进⾏⽣成树计算,引起⽹络震荡。
实现原理:配置BPDU保护功能后,如果边缘端⼝收到BPDU报⽂,边缘端⼝将会被⽴即关闭。

本文发布于:2023-07-12 05:43:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1092045.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:状态   设备   发送   消息   协议   需要   成树   机制
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图