生成樹協議——RSTP基礎(day 5)

RSTP(STP 優化)

思維導圖:

1 STP缺陷

STP生成樹收斂需要依賴定時器計時,端口狀態從Blocking到Forwarding至少需要兩個forward relay的時間長度,收斂時間太長,一般都需要幾十秒。IEEE 802.1w定義了RSTP(Rapid Spanning Tree Protocol)彌補了STP收斂時間慢的缺陷。

2 RSTP

2.1 RSTP端口角色

角色 描述
Backup Backup端口作爲指定端口的備份,提供了另外一條從根橋到非根橋的備份鏈路。
Alternate Alternate端口作爲根端口的備份端口,提供了從指定橋到根橋的另一條備份路徑。

2.2 三種端口狀態

RSTP中定義了三種端口狀態:Discarding、Learning、Forwarding。

RSTP 端口狀態 對應STP端口狀態 說明
Forwarding Forwarding 可以轉發用戶數據幀,可以學習MAC地址
Learning Learning 不可以轉發用戶數據幀,但是可以學習MAC地址
Discarding Listening、Blocking、Disabled 不可以轉發用戶數據幀,不可以學習MAC地址

2.3 P/A機制

在RSTP中,一個端口被指定成爲指定端口後,此端口會先進入discarding,然後通過**P/A(Proposal/Agreement)**機制主動與對端端口協商,通過協商後,就可以立即進入Forwarding狀態。

2.4 邊緣端口

  • RSTP裏,位於網絡邊緣的指定端口被稱爲邊緣端口。
  • 邊緣端口一般與用戶終端設備直接連接,不與任何交換設備連接。邊緣端口不接收配置BPDU報文,不參與RSTP運算,可以由Disabled狀態直接轉到Forwarding狀態,且不經歷時延,就像在端口上將STP禁用了一樣。但是,一旦邊緣端口收到配置BPDU報文,就喪失了邊緣端口屬性,成爲普通STP端口,並重新進行生成樹計算,從而引起網絡震盪。

2.5 RSTP收斂過程

RSTP BPDU:RSTP對此進行了改進,即在拓撲穩定後,無論非根橋設備是否接收到根橋傳來的配置BPDU報文,非根橋設備都會仍然按照Hello Timer規定的時間間隔發送配置BPDU,該行爲完全由每臺設備自主進行。

  1. 每一臺交換機啓動RSTP後,都認爲自己是“根橋”,並且發送RST BPDU。所有端口都爲指定端口,處於Discarding狀態
  2. 交換機互相發送Proposal置位的RST BPDU。每個認爲自己是“根橋”的交換機生成一個RST BPDU報文來協商指定網段的端口狀態,此RST BPDU報文的Flags字段裏面的Proposal位需要置位。當一個端口收到RST BPDU報文時,此端口會比較收到的RST BPDU報文和本地的RST BPDU報文。如果本地的RST BPDU報文優於接收的RST BPDU報文,則端口會丟棄接收的RST BPDU報文,併發送Proposal置位的本地RST BPDU報文來回復對端設備。
  3. **交換機使用同步機制來實現端口角色協商管理。**當收到Proposal置位並且優先級高的BPDU報文時,接收交換機必須設置所有下游指定端口爲Discarding狀態。如果下游端口是Alternate端口或者邊緣端口,則端口狀態保持不變
  4. 當確認下游指定端口遷移到Discarding狀態後,設備發送RST BPDU報文回覆上游交換機發送的Proposal消息。在此過程中,端口已經確認爲根端口,因此RST BPDU報文Flags字段裏面設置了Agreement標記位和根端口角色。
  5. 在P/A進程的最後階段,上游交換機收到Agreement置位的RST BPDU報文後,指定端口立即從Discarding狀態遷移爲Forwarding狀態。然後,下游網段開始使用同樣的P/A進程協商端口角色。

2.6 鏈路故障/根橋失效

  • 在STP中,當出現鏈路故障或根橋失效導致交換機收不到BPDU時,交換機需要等待Max Age時間後才能確認出現了故障。

  • 在STP中,當出現鏈路故障或根橋失效導致交換機收不到BPDU時,交換機需要等待Max Age時間後才能確認出現了故障。

  • 而在RSTP中,如果交換機的端口在連續3次Hello Timer規定的時間間隔內沒有收到上游交換機發送的RST BPDU,便會確認本端口和對端端口的通信失敗,從而需要重新進行RSTP的計算來確定交換機及端口角色。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章