RSTP(802.1W,Rapid Spanning Tree Protocol,快速生成樹協議)
STP與RSTP區別概要
STP與RSTP的接口狀態對應關係
RSTP端口會在Discarding狀態完成角色的確定,當端口確定為根端口或指定端口後,經過Forward Delay時間會進入Learning狀態,比STP就少一個Forward Delay時間,並且有P/A快速機制,可以直接從Discarding直接到Forwarding狀態。不是根端口或指定端口就會維持Discarding狀態。
端口角色
根端口和指定端口角色的定義和STP相同,就不說了。
較STP新增了兩個端口概念,替代接口和備份接口。但同樣都是阻塞起來的,只是為了指定端口出故障時可以快速收斂。
替代接口(Alternate)
可以理解為根接口的備份接口,是由於收到了其他設備發送的BPDU且優於自身所要發送的BPDU從而被阻塞的接口。當根端口進入阻塞狀態時,會選擇優先級最高的替代接口作為新的根端口。當對端端口是Forwarding狀態,則可以立即進入轉發狀態。
備份接口(Backup)
一臺設備上收到了自己所發送的BPDU從而被阻塞的接口。
如圖,SW2上的GE 0/0/2阻塞,因為是收到了其他交換機的BPDU報文,形成了環路,且收到的BPDU報文比自己的優,從而阻塞,就變成了替代接口。而SW2上的GE 0/0/4,因為收到的是自己發送過來的BPDU報文且端口id較大被阻塞,從而變成備份接口。
BPDU報文
與STP BPDU相比較
Protocol Version Identifier為2
BPDU Type為0x02,表示為RST BPDU
BPDU flags使用全部的8位
在報文的最後增加了Versionl Length字段,值為0,表示本BPDU中不包含Versionl內容。
最高位和最低位TCA和TC與STP相同。Agreement(同意)及Proposal(提議)用於RSTP的P/A機制,會大大提高RSTP的收斂速度。Port Role(接口角色)兩個bit位,01表示根接口,10表示替代接口,11表示指定接口,00保留。Forwarding(轉發)和Learning(學習)用於表示該RST BPDU發送接口的接口狀態。
RSTP與STP不同,在網絡穩定後,STP的非根橋才會轉發根橋發來的BPDU報文,而RSTP無論是非根橋還是根橋都會週期性的發送BPDU。
在STP中只有在指定端口收到低優先級的配置BPDU時才會立即回應(發送自己計算的配置BPDU報文),阻塞狀態端口不會對低優先級的配置BPDU做出回應。
在RSTP中,指定端口或阻塞狀態的端口收到低優先級的RST BPDU,也可以立即對其做出回應。
P/A快速收斂機制
Proposal/Agreement機制,其目的是使一個指定端口儘快進入Forwarding狀態。如圖所示,根橋S1和S2之間新添加了一條鏈路。在當前狀態下,S2的另外幾個端口p2是Alternate端口,p3是指定端口且處於Forwarding狀態,p4是邊緣端口。
RSTP和STP的兼容
當運行RSTP的交換機連續3次接收到配置BPDU時候,認為改端口和STP相連,該端口將切換到STP協議運行。
新鏈路連接成功後,P/A機制協商過程如下:
- p0和p1兩個端口馬上都先成為指定端口,發送RST BPDU。
- S2的p1口收到更優的RST BPDU,馬上意識到自己將成為根端口,而不是指定端口,停止發送RST BPDU。
- S1的p0進入Discarding狀態,於是發送的RST BPDU中把Proposal和Agreement置1。
- S2收到根橋發送來的攜帶Proposal的RST BPDU,開始將自己的所有端口進入sync變量置位。
- p2已經阻塞,狀態不變;p4是邊緣端口,不參與運算;所以只需要阻塞非邊緣指定端口p3。
- 各端口的synced變量置位後,p2、p3進入Discarding狀態,p1進入Forwarding狀態並向S1返回Agreement位置位的回應RST BPDU。
- 當S1判斷出這是對剛剛發出的Proposal的回應,於是端口p0馬上進入Forwarding狀態。
拓撲改變處理
在STP中,端口變為Forwarding狀態或從Forwarding變為Blocking狀態均會觸發拓撲改變處理過程,而RSTP只在非邊緣端口轉為Forwarding狀態時才會觸發處理過程。
當交換機由非邊緣端口轉變為Forwarding狀態時,網橋會在兩倍的Hello Time時間內向根端口以及指定端口發送TC置位為1的RST BPDU,同時清除這些端口學習到的MAC地址。
其他交換機收到TC置位的RST BPDU時候,會清除接收TC報文的端口以及邊緣端口之外的其餘端口MAC地址,並同樣會在兩倍的Hello Time時間內向根端口以及指定端口發送TC置位為1的RST BPDU報文。
交換機收到TC置位的RST BPDU後不需要在Max Age+Forward Delay時間內將MAC地址老化時間設置為Forward Delay,而是直接清除端口MAC地址,重新進行學習,從而實現更快的收斂。
RSTP和STP的兼容
當運行RSTP的交換機連續3次接收到配置BPDU時候,認為改端口和STP相連,該端口將切換到STP協議運行。
閱讀更多 大千世界0 的文章