華三交換機生成樹

 

STP

本篇的基本內容:生成樹協議包括最初的STPSpanning Tree Protocol,生成樹協議),能夠快速收斂的RSTPRapid Spanning Tree Protocol,快速生成樹協議),以及適應多VLAN複雜環境的MSTPMultiple Spanning Tree Protocol,多生成樹協議)。

         STP介紹:局域網中的物理環境通常有兩種產生原因,一種是基於可靠性的考慮,爲交換機之間提供冗餘連接;另一種是由於錯誤的網絡設置導致環路的產生。如果不對網絡拓撲加以管理,以上兩種情況均會導致嚴重的後果,如廣播風暴和MAC地址學習錯誤等。

         STPIEEE制定的802.1D標準中定義:用於在局域網中消除數據鏈路層環路。STP可以通過計算動態地阻斷冗餘鏈路,而當活動鏈路發生故障時,STP又可以激活冗餘鏈路,恢復網絡的連通,避免網絡中斷。

         STP消除鏈路層環路的基本思想:將網絡拓撲修建爲樹形拓撲,而樹形拓撲是不存在環路的。(注意)

         運行STP設備之間交互一些信息,然後通過計算實現拓撲的收斂,具體內容如下:

(1)      運行STP的設備依據一定的準則選舉一個樹根節點作爲網絡中的根橋,其他節點爲非樹根節點。

(2)      每一個非樹根節點,會選擇最優的路徑和根相連,非樹根節點上位於最優路徑的端口,爲該節點的根端口。

(3)      如果網絡中存在冗餘鏈路,則阻塞冗餘鏈路。

每一個非樹根節點都進行同樣的計算,最終網絡中任何兩臺設備之間都只有一條路徑可達,從而形成一顆無環的樹。

當拓撲發生變化時,節點重新進行計算,收斂爲新的樹形拓撲。

STP基本概念

1、  橋和端口的角色

STP中有兩種特殊的網橋:根橋(Root Bridge)和指定橋(Designate Bridge)。根橋是整個生成樹的根節點,由所有網橋中優先級最高的橋擔任。指定橋是負責一個Physical Segment(物理段)上數據轉發任務的橋,由這個Physical Segment上優先級最高的擔任。

網橋上的端口有不同的角色,包括根端口(Root port)、指定端口(Designate Port)、和候補端口(Alternate port)。

根端口指定網橋上距離根最近的端口。根橋沒有根端口,每一個非根橋有且僅有一個根端口

指定端口指Physical Segment上屬於指定橋的端口。根橋是所有網橋中優先級最高的,它在其所連接的所有Physical Segment上都是指定橋,所以通常情況下根橋的所有端口都是指定端口。

Alternate端口指既不是根端口也不是指定端口的端口,它用來爲根端口或指定端口做備份,從Alternate端口出發到達根橋的路徑,是網橋到達根橋的備用路徑,即最終需要阻塞的路徑。

網絡處於穩定狀態時,根端口和指定端口處於轉發狀態,Alternate端口處於阻塞狀態,阻塞Alternate端口,就消除了網絡中的環路。

         ID

         STP中每一個網橋都具有一個橋IDBridge ID),用於在網絡中唯一標識一個橋。根橋選擇的依據就是橋ID,具有最小橋ID的網橋即爲網絡中的根橋。

         在進行橋ID的比較時,先比較橋優先級,優先級數值小者爲優;在優先級相同的情況下,在比較MAC地址,MAC地址小者爲優。當網橋沒有哦配置優先級時,使用默認優先級32768,此時,具有最小MAC地址的網橋即爲網絡中的根橋。

         路徑開銷

非根橋需要確定根端口,根端口的選擇取決於端口到達根橋距離的遠近,網橋上到達根橋距離最近的端口爲根端口。衡量距離遠近依據是路徑開銷(Path Cost)。路徑開銷用戶衡量橋與橋之間路徑的優劣。STP中每條鏈路都具有開銷值,默認的鏈路開銷值取決於所遵循的路徑開銷標準以及鏈路帶寬。路徑開銷等於整個路徑上全部鏈路開銷的和。

         BPDU

         STP使用BPDUBridge Protocol Data Unit,橋協議數據單元)來交互協議信息,BPDU分兩類

(1)      配置BPDUConfiguration BPDU):用來進行生成樹計算和維護生成樹拓撲的報文。

(2)      TCNBPDUTopology Change Notification BPDU):當拓撲結果改變時,用來通知相關設備網絡拓撲結構發生變化的報文。

網橋之間通過交互配置BPDU來進行根橋的選舉以及端口角色的確定。配置BPDU基於二層組播方式發送,目的地址爲01-80-C20-00-00-00

配置BPDU由根橋從指定端口週期性發出,發送週期爲Hello Time。非根橋從根端口接受配置BPDU,進行更新並從指定端口將其發送出去。網絡中只有根橋會產生配置BPDU,非根橋只對配置BPDU進行中繼,不會自行生成配置BPDU。沒有運行STP協議的網橋將把配置BPDU當作普通數據幀轉發。

網橋上的每個端口都會保存本端口接收到的最優配置BPDU,端口保存的配置BODU信息老化時間爲Max Age時間內配置BPDU信息沒有得到更新時,端口將清除保存的配置BPDU信息。

配置BPDU包含目的MAC地址、源MAC地址、幀長、邏輯鏈路頭以及載荷

STP計算過程

STP的計算過程主要包含兩個任務:選舉根橋和確定端口角色。在實際計算過程中,這兩個任務是同步計算完成的。

進行STP計算時,網橋將各個端口收到的配置BPDU和自己的配置BPDU作比較,得出優先級最高的配置BPDU;網橋用優先級最高的配置BPDU更新本身的配置BPDU,用於選舉根橋和確定端口角色;網橋從指定端口發送新的配置BPDU

比較配置BPDU時依據優先級向量最小者最優的原則。

根橋選舉

在初始狀態時,每一個網橋都還沒有收到其他網橋發送的配置BPDU,此時每個網橋都認爲自己是網絡中的根橋,並將向外發送以自己爲根橋的配置BPDU。同時也會收到對端網橋發送的配置BPDU。每一個網橋都將自身認爲的Root Bridge ID 和接收到的配置BPDU中的Root Bridge ID進行比較,選擇Root Bridge ID較小的作爲網絡中的根橋。

確定端口角色

端口角色的確定方式分爲根端口確定、指定端口確定和Alternate端口確定的3個工作。

根端口的確定需要比較RPC。當網橋從一個端口收到配置BPDU後首先獲取其中的RPC,和接收端口的鏈路開銷相加,得到此端口的RPC,每個收到配置BPDU的端口都進行同樣的計算,然後比較各端口的RPC,擁有最下RPC值的端口即爲本網橋的根端口。

指定端口的確定需要比較端口發送的配置BPDU和接收的配置BPDU,如果發送的配置BPDU優於接收到的配置BPDU,表明端口在本Physical Segment上擁有最優的配置BPDU則該端口爲指定端口。

Alternate端口指該端口的配置BPDU在其所屬Physical Segment上不是最優的,且端口不是根端口。

(注意:在華三設備上該協議是默認開啓的所以本篇不附實驗)


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