生成樹協定(Spanning Tree Protocol, STP)的用途
生成樹協定(Spanning Tree Protocol, STP)是網路橋接器(Bridge)和交換器(Switch)用來防止網路中出現迴路(loop)的一種協定。迴路會導致網路中的廣播風暴(broadcast storm)、重複數據幀和網路不穩定。STP 的主要用途包括:
-
防止網路迴路:
- 用途:STP 的主要目的之一是防止網路中出現迴路。迴路會導致數據幀在網路中無限循環,耗盡網路資源,並且可能使整個網路癱瘓。
- 運作方式:STP 透過關閉(blocking)部分連接來形成一棵無迴路的生成樹(spanning tree),從而防止迴路的出現。
-
動態調整網路結構:
- 用途:STP 可以根據網路拓撲的變化動態調整生成樹結構,以保證網路的穩定性和連通性。
- 運作方式:當網路中的某個連接發生故障時,STP 會重新計算生成樹,啟用原本處於關閉狀態的備用連接,確保網路仍然連通。
-
提高網路穩定性和可靠性:
- 用途:通過消除迴路和動態調整網路結構,STP 提高了網路的穩定性和可靠性。
- 運作方式:STP 確保了數據幀在網路中的唯一路徑,避免數據幀的重複和丟失。
生成樹協定(STP)的運作原理
-
選擇根橋(Root Bridge):
- 步驟:所有橋接器和交換器在網路中選舉一個根橋(Root Bridge)。選舉過程中,具有最低橋 ID 的設備會成為根橋。
- 橋 ID:橋 ID 由橋的優先級和 MAC 地址組成。
-
計算最短路徑:
- 步驟:每個橋接器和交換器計算到達根橋的最短路徑。通過這些最短路徑,設備選擇根端口(Root Port)作為到達根橋的最佳路徑。
- 根端口:每個橋接器和交換器都會選擇一個端口作為根端口,這是到達根橋的最短路徑。
-
選擇指定端口(Designated Port):
- 步驟:每個網段會選擇一個指定端口,這是該網段中到達根橋的最佳路徑。
- 指定端口:指定端口負責轉發該網段中的流量。
-
關閉冗餘端口:
- 步驟:除根端口和指定端口外,其他端口會被關閉(阻塞),以消除網路中的迴路。
- 阻塞端口:這些端口不會轉發流量,但會保持監聽狀態,以監測網路拓撲的變化。
範例示意
假設有三個交換器 A、B 和 C,其中 A 是根橋,B 和 C 通過多條連接相互連接。
- 選擇根橋:A 被選為根橋。
- 計算最短路徑:B 和 C 計算到達 A 的最短路徑。
- 選擇根端口和指定端口:
- B 選擇其與 A 直接相連的端口作為根端口。
- C 也選擇其與 A 直接相連的端口作為根端口。
- 對於 B 和 C 之間的連接,其中一個端口被選為指定端口,另一個端口被關閉(阻塞)。
生成樹協定(STP)的主要用途是防止網路中出現迴路,動態調整網路結構以應對拓撲變化,從而提高網路的穩定性和可靠性。通過選擇根橋、計算最短路徑、選擇指定端口和關閉冗餘端口,STP 確保了網路中數據的唯一傳輸路徑,避免了因迴路造成的問題。