STP理論04-RSTP相對STP的改進
STP理論04-RSTP相對STP的改進
STP不足之處:
網路拓撲收斂慢,影響了使用者通訊質量。如果網路中的拓撲結構頻繁變化,網路也會隨之頻繁失去連通性,從而導致使用者通訊頻繁中斷。
導致STP收斂慢的原因:
1)、STP沒有細緻區分埠狀態和埠角色,不利於初學者學習及部署,listening、learning和 Blocking 狀態並沒有區別,都同樣不轉發使用者流量;
2)、STP 演算法是被動的演算法,依賴定時器等待的方式判斷拓撲變化,收斂速度慢;
3)、在網路穩定時,只有根橋傳送BPDU報文。
RSTP 對 STP 的改進:
1、通過埠角色的增補,簡化了生成樹協議的理解及部署;RSTP 的埠角色共有 4 種:根埠、指定埠、 Alternate 埠和 Backup 埠;
1)、從配置 BPDU 報文傳送角度來看:
a、Alternate 埠就是由於學習到其它網橋傳送的配置 BPDU 報文而阻塞的埠;
b、Backup 埠就是由於學習到自己傳送的配置 BPDU 報文而阻塞的埠。
2)、從使用者流量角度來看:
a、Alternate 埠提供了從指定橋到根的另一條可切換路徑,作為根埠的備份埠;
b、Backup 埠作為指定埠的備份,提供了另一條從根橋到相應網段的備份通路。
2、埠狀態的重新劃分:
RSTP 的狀態規範把原來的 5 種狀態縮減為 3 種。根據埠是否轉發使用者流量和學習 MAC 地址來劃分:
1)、discarding:不轉發流量,不學習MAC地址;
2)、learning:不轉發流量,學習MAC地址;
3)、forwarding:轉發流量,學習MAC地址。
3、配置 BPDU 格式的改變,充分利用了 STP 協議報文中的 Flag 欄位,明確了埠角色;
1)、Type 欄位,配置 BPDU 型別不再是 0 而是 2,所以執行 STP 的裝置收到 RSTP 的配置BPDU 時會丟棄;
2)、Flags 欄位,使用了原來保留的中間 6 位,這樣改變的配置 BPDU 叫做 RST BPDU,具體RSTP Flags欄位格式如下:
Bit7:TCA
Bit6:Agreement
Bit5:Forwarding
Bit4:Learning
Bit3和Bit2:埠角色
00:未知
01:根埠
10:Alternate / Backup
11:指定埠
Bit1:Proposal
Bit0:TC
4、配置 BPDU 的處理髮生變化;
1)、傳送BPDU:配置BPDU由根橋產生並且傳送,非根橋在接收到根橋的配置BPDU後,才出發發送;RSTP每個裝置都會按規定時間傳送配置BPDU;
2)、BPDU超時:STP要等待Max age超時,RSTP只等待3個Hello time時間;
3)、處理次優BPDU:當一個埠收到上游的指定橋發來的 RST BPDU 報文時,該埠會將自身儲存的 RST BPDU 與收到的 RST BPDU 進行比較。
如果該埠儲存的 RST BPDU 的優先順序高於收到的 RST BPDU,那麼該埠會直接丟
棄收到的 RST BPDU,立即迴應自身儲存的 RST BPDU。當上遊裝置收到下游裝置迴應
的 RST BPDU 後,上游裝置會根據收到的 RST BPDU 報文中相應的欄位立即更新自己
儲存的 RST BPDU。
由此, RSTP 處理次等 BPDU 報文不再依賴於任何定時器通過超時解決拓撲收斂,從而
加快了拓撲收斂
5、快速收斂;
1)、Proposal/Agreement 機制:
在點到點乙太網鏈路上,指定埠可以和對端通過握手協商的方式進行快速遷移。雙方裝置必須滿足如下狀態機:
a. proposing. 指定埠處於discarding或learning狀態的時候,會設定該變數。向下遊交換機傳遞Proposal flag被置位的RST BPDU。
b. proposed. 當收到指定埠發來的proposal BPDU的時候,該變數設定。該變數指示本網段上的指定埠希望儘快的進入forwarding狀態。
c. sync. 當proposed被設定以後,收到proposal的根埠會依次為自己的其他埠設定sync變數。將所有不是Edge port的指定埠轉為discarding狀態。
d. synced. 當埠完成轉到discarding後, 會設定自己的synced。Alternate、Backup 和邊緣埠會馬上設定該變數。根埠監視其他埠的synced,當所有其他埠的synced全被設定,根埠會設定自己的synced,然後傳回RST BPDU,其中Agreement flag被設定。
e. agreed. 當指定埠接收到一個RST BPDU的時候,如果該BPDU中的agreement flag被置位且埠角色欄位是“根埠”,該變數被設定。當agreed被設定的時候,指定埠馬上轉入forwarding狀態。
1.1)、觸發Proposal/Agreement 機制的條件:
a、 裝置之間鏈路必須是點對點的全雙工模式,且埠型別為指定埠;
b、 新接入的裝置傳送更優的RST BPDU。
1.2)、P/A機制協商過程:
a、剛開始交換機都認為自己的埠為指定埠,只不過指定埠的狀態是discarding。
b、進入discarding狀態後就開始傳送proposal置位的RST BPDU。
c、比較自己與收到的RST BPDU,如果本端的優,就丟棄對端傳送過來的RST BPDU,並且繼續傳送本端的RST BPDU;如果對端的優,就停止傳送RST BPDU,並進入下個步驟。
d、不優的交換機將自己所有介面阻塞(又稱同步)(除已經阻塞介面,邊緣埠)。
e、不優的交換機向優的一方傳送agreement置位的RST BPDU,並將這個埠置於forwarding狀態,角色為根埠。
f、RST BPDU優的一端收到agreement置位的RST BPDU後,就將這個埠置於forwarding狀態,角色為指定埠。
1.3)、Proposal/Agreement 機制的目的是使一個指定埠儘快進入 Forwarding 狀態。
2)、根埠快速切換機制:如果網路中一個根埠失效,那麼網路中最優的 Alternate 埠將成為根埠,進入Forwarding 狀態;
3)、邊緣埠的引入:邊緣埠不接收處理配置 BPDU,不參與 RSTP運算,可以由 Disable直接轉到 Forwarding狀態,一旦邊緣埠收到配置 BPDU,就喪失了邊緣埠屬性,成為普通 STP 埠,並重新進行生成樹計算,從而引起網路震盪。
6、保護功能;
1)、BPDU 保護:交換裝置上啟動了 BPDU 保護功能後,如果邊緣埠收到RST BPDU,邊緣埠將被error-down,但是邊緣埠屬性不變,同時通知網管系統。
2)、根保護:對於啟用 Root 保護功能的指定埠,其埠角色只能保持為指定埠。一旦啟用 Root 保護功能的指定埠收到優先順序更高的 RST BPDU 時,埠狀態將進入 Discarding 狀態,不再轉發報文。在經過一段時間(通常為兩倍的 Forward Delay),如果埠一直沒有再收到優先順序較高的RST BPDU ,埠會自動恢復到正常的Forwarding 狀態。(Root 保護功能只能在指定埠上配置生效)
3)、環路保護:在啟動了環路保護 功能後,如果根埠 或Alternate 埠長時間收不到來自上游的 RST BPDU 時,則向網管發出通知資訊(如果是根埠則進入 Discarding 狀態)。而阻塞埠則會一直保持在阻塞狀態,不轉發報文,從而不會在網路中形成環路。直到根埠或 Alternate 埠收到 RST BPDU ,埠狀態才恢復正常到Forwarding 狀態。(環路保護功能只能在根埠或 Alternate 埠上配置生效)
4)、防TC-BPDU***:啟用防 TC-BPDU 報文***功能後,在單位時間內,交換裝置處理 TC BPDU 報文的次數可配置。如果在單位時間內,交換裝置在收到 TC BPDU報文數量大於配置的閾值,那麼裝置只會處理閾值指定的次數。對於其他超出閾值的 TCN BPDU
報文,定時器到期後設備只對其統一處理一次。這樣可以避免頻繁的刪除 MAC 地址表項和ARP 表項,從而達到保護裝置的目的。