跳至內容

生成樹協議

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

生成樹協議(英語:Spanning Tree ProtocolSTP),是一個作用在OSI網絡模型第二層的通信協議。基本應用是防止交換機冗餘鏈路產生的環路,用於確保以太網中無環路的邏輯拓撲結構,從而避免廣播風暴大量占用交換機的資源。

生成樹協議工作原理:任意一交換機中如果到達根網橋有兩條或者兩條以上的鏈路,生成樹協議都根據算法把其中一條切斷,僅保留一條,從而保證任意兩個交換機之間只有一條單一的活動鏈路。因為這種生成的拓撲結構,很像是以根交換機為樹幹的樹形結構,故為生成樹協議。

生成樹協議是基於Radia Perlman英語Radia PerlmanDEC工作時發明的一種算法[1]被納入了IEEE 802.1d中。2001年IEEE組織推出了快速生成樹協議(RSTP)在網絡結構發生變化時能比STP更快的收斂網絡,還引進了端口角色來完善了收斂機制,被納入在IEEE 802.1w中。

STP的工作過程如下:首先,依據網橋優先權(橋優先)和MAC地址組合生成的橋ID進行網橋選舉,橋ID最小的網橋將成為網絡中的根橋(橋根);在此基礎上,計算每個節點到根橋的距離,並由這些路徑得到各冗餘鏈路的代價,選擇最小的成為通信路徑(相應的端口狀態變為forwarding),其它的就成為備份路徑(相應的端口狀態變為blocking)。STP生成過程中的通信任務由BPDU完成,這種數據包又分為包含配置信息的配置BPDU(其大小不超過35B)和包含拓撲變化信息的通知BPDU(其長度不超過4B)。

STP端口狀態
端口狀態 端口能力
Disabled 不收發任何報文。
Blocking 不接收或者轉發數據,接收但不發送BPDU,不進行地址學習。
Listening 不接收或者轉發數據,接收並發送BPDU,不進行地址學習。
Learning 不接收或者轉發數據,接收並發送BPDU,開始進行地址學習。
Forwarding 接收或者轉發數據,接收並發送BPDU,進行地址學習。

相關條目

參考文獻

  1. ^ Perlman, Radia (1985). "An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN". ACM SIGCOMM Computer Communication Review 15 (4): 44–53.