這是本文件的舊版!
STP,RSTP及MSTP一開始設計就是要防止Level 2 switch網路造成迴圈(Loop)和實現鏈路冗餘(redundancy)。
當網路發生Loop時,透過STP演算法適當地將其它界面Broke掉。如下圖 會將左邊switch Fa0/2 Block
假若網路線路發生斷掉或其中網路介面壞掉等問題時,會自動再透過STP演算法將壞掉界面Broke, 原本被Broke 掉介面會再度被打開,這樣就有利於形成網路線路的備援機制。 下圖左邊switch Fa0/1壞掉(紅色),透過STP演算法會將左方switch fa0/2界面打開
STP(Spanning Tree Protocol)定義在IEEE 802.1D標準中,STP主要利用在Level 2 Bridge 或Switch 網路設備連接成網路時,避免網路迴圈(LOOP)的情形發生。STP是用STP演算法將網路迴圈結構以樹狀型式呈現,造成兩個節點之間只有一個唯一路徑,這唯一路徑就是轉送目的MAC address 的路徑。
STP在進行演算法其間,會依照下圖的模式進行switch Port角色的選擇。
另外,STP演算法在運算其間,forward delay time(轉送時間)約為15秒。整個STP要達成收斂時間約為30~50秒;即是Listening →(15秒)Learning–>(15秒)Forwarding。因此STP通常最快也需要30 秒才能收斂完成,對於網路服務無法忍受中斷30秒以上來說,STP收斂過慢
就是一個嚴重缺點。
(資料來源:MOOCS計算機網路概論)
為要解決STP收斂過慢問題,IEEE在2001年制定IEEE 802.1w的RSTP(Rapid Spanning Tree Protocol)標準,透過減少Bridge Port Status 轉換時間及新增Alternate port及Backup Port兩種角色來減少收斂時間。通常約1秒內即可收斂。
STP Port Status | RSTP Port Status | Port 是否為Active狀態 | Port 是否學習來源Mac Address |
---|---|---|---|
disable | disable | NO | NO |
Blocking | disable | NO | NO |
Listening | disable | YES | NO |
Learning | Learning | YES | YES |
Forwarding | Forwarding | YES | YES |