STP學習心得

瞭解生成樹協議

1.STP:bridges之間交換BPDU信息來檢測循環,並通過關閉接口的方式來破壞循環
  
2.根橋(root bridge):擁有最好的bridge ID即爲根橋,網絡中的一些諸如哪些端口被堵塞(block)哪些端口作爲轉發模式的決定都由根橋來決定
  
3.BPDU:Bridge Protocol Data Unit,所有的switches通過交換這些信息來選擇根switch
  
4.bridge ID:用於STP跟蹤網絡中的所有switches,這個ID由bridge優先級(priority)和MAC地址符合而成,優先級默認爲32768,ID最低的即爲根橋
  
5.非根橋(nonroot bridge):不是根橋的全爲非根橋,非根橋交換BPDUs來更新STP拓撲數據庫
  
6.根端口(root port):與根橋直接相連的端口,或者是到根橋最短的接口.如果到根橋的連接不止1條,將比較每條連接的帶寬,耗費(cost)低的作爲根端口;如果耗費相同就比較bridge ID,ID低的將被選用
  
7.指定端口(designated port):耗費低的端口,作爲轉發端口
  
8.端口耗費(port cost):帶寬來決定
  
9.非指定端口(nondesignated port):耗費較高,爲堵塞模式(blocking mode),即不轉發幀
  
10.轉發端口(forwarding port):轉發端口用來轉發幀
  
11.堵塞端口(blocked port):不轉發幀,用來防止循環的產生,雖然不轉發,但是它可以監聽(listen)幀

  Spanning Tree Operations

  之前說過:STP的任務就是查找出網絡中的所有連接,並關閉些會造成循環的冗餘連接.STP首先選舉1個根橋,用來對網絡中的拓撲結構做決定.當所有的switches認同了選舉出來的根橋後,所有的bridge開始查找根端口.假如在switches之間有許多連接,只能有1個端口作爲指定端口

  Selecting the Root Bridge

  bridge ID用來在STP域裏選舉根橋和決定根端口,這個ID是8字節長,包含優先級和設備的MAC地址,IEEE版本的STP的默認優先級是32768.決定誰是根橋,假如優先級一樣,那就比較MAC地址,MAC地址小的作爲根橋

  Selecting the Designated Port

  假如不止1個連接到根橋,那就開始比較端口耗費,耗費低的作爲根端口,下面是一些典型的耗費標準:
  1.10Gbps:2
  2.1Gbps:4
  3.100Mbps:19
  4.10Mbps:100

  Spanning-Tree Port States

  運行STP的bridges和switches的5種狀態:
  1.堵塞(blocking):不轉發幀,只接受BPDUs,主要目的是防止循環的產生.默認情況下,當switch啓動時所有端口均爲blocking狀態,一般爲20s
  2.監聽(listening):端口接受和發送BPDUs監聽數據幀,不轉發數據幀,來決定在傳送數據幀之前沒有循環會發生,一般爲15s
  3.學習(learning):監聽BPDUs和學習所有路徑,學習MAC地址表,不轉發幀,一般爲15s
  4.轉發(forwarding):轉發和接收數據幀,讀取MAC地址,更新橋的CAM表。
  5.禁用(disabled):不參與幀的轉發和STP,一般在這個狀態的都是不可操作的

生成樹”資料

交換機內的生成樹算法(STA)使你可以創建一條備用鏈路(當網絡中存在多臺交換機時)。在主鏈路正常工作時,備用鏈路處於空閒狀態(不工作);只有在主鏈路出現問題時,備用鏈路纔不需要任何人工干預自動地接替主鏈路。這種自動重構的功能,使得網絡上的用戶能夠最大限度地與網絡保持正常的連接。生成樹算法較複雜,所以,建議最好在充分研究理解其之後,再更改其一些設置。請仔細閱讀並理解下述內容之後,再去更改交換機上的生成樹的默認設置。

網絡環路的偵測和預防(Network loop detection and prevention):任何兩個局域網之間應該只有一條路徑,否則,網絡中將出現環路。如果存在着多於一條的路徑,那麼生成樹算法將會偵測到環路的發生,並自動選擇開銷值(c ost)最低的那條路徑作爲可使用的路徑(主鏈路),而阻斷其它路徑,將它們作爲備用路徑(備用鏈路)。

自動拓撲重構(Automatic topology re-configuration):當主鏈路出現故障時,生成樹算法將自動啓用備用鏈路,重構網絡結構。

生成樹的級別(STA Operation Levels)

生成樹有兩種工作級別:橋級別(bridge level)和端口級別(port level)。在橋一級上,生成樹算法爲每臺交換機計算橋的標誌級數(Bridge Identifier),然後設定根橋(Root Bridge)和指定橋(Designated Bridges)。而在端口一級上,生成樹算法設定根端口(Root Port)和指定端口(Designated Ports)。詳述如下:

在橋一級上(On the Bridge Level):

根橋(Root Bridge):具有最小橋標誌級數的(lowest Bridge Identifier)交換機是根橋(Root Bridge)。當然,你希望根橋是環路中所有交換機當中最好的一臺(交換機),以保證能夠提供最好的網絡性能和可靠性。

橋標誌級數(Bridge Identifier):橋標誌級數是橋的優先級(Bridge Priority)和交換機的MAC地址的綜合數值,其中橋的優先級(Bridge Priority)是一個你可以設定的參數。例如,“4 00 80 C8 00 01 00”中的“4”是橋的優先級,“00 80 C8 00 01 00”是交換機的MAC地址。交換機的橋標誌級數越低,則交換機的優先級越高,這樣可以增加其成爲根橋的可能性。

指定橋(Designated Bridge):在每個網段中,到根橋(Root Bridge)的路徑開銷最低的(lowest Root Path Cost)橋將成爲指定橋(Designated Bridge),數據包將通過它轉發到網段。一旦所有的交換機具有相同的根路徑開銷(Root Path Cost),那麼具有最低的橋標誌級數的(lowest Bridge Identifier)交換機纔會被定爲指定橋(Designated Bridge)。

根路徑開銷(Root Path Cost):一臺交換機的根路徑開銷(Root Path Cost)是根端口(Root Port)的路徑開銷(Path Cost)與數據包經過的所有交換機的根路徑開銷(Root Path Cost)之和。根橋(Root Bridge)的根路徑開銷(Root Path Cost)是零。

橋的優先級(Bridge Priority):是一個用戶可以設定的參數。設定的值越小,優先級越高。交換機具有越高的優先級,才越有可能成爲根橋。

在端口一級上(On the Port Level):

根端口(Root Port):每臺交換機都有一個根端口(Root Port),這個端口到根橋的路徑開銷最低。一旦多個端口具有相同的到根橋的路徑開銷時,那麼具有最低的端口標誌級別的纔會成爲根端口。

指定端口(Designated Port):指定端口就是指定橋(Designated Bridge)上的端口。

端口優先級(Port Priority):數值越小,端口的優先級就越高。具有越高端口優先級,才越有可能成爲根端口。

路徑開銷(Path Cost):這是一個可變的參數,它將隨着生成樹中的設定值的變化而變化。依據STA的默認參數值,每個1000Mbps網段有一個指定的路徑開銷值爲4 ,100Mbps網段的路徑開銷值19,10Mbps網段的路徑開銷值100。

生成樹參數(STA Parameters)

生成樹的參數用戶可以根據自己的需要進行修改,但是建議最好使用出廠時的默認設置。除非確實需要對出廠設置值進行變動時,再去改動默認值。用戶可以改動的生成樹參數有如下幾個:

橋優先級(Bridge Priority):數值範圍從0到65535。“0”的優先級最高。

呼叫時間(Bridge Hello Time):數值範圍從1秒到10秒。是指根橋向其它所有交換機發出BPDU數據包的時間間隔,以告知其它所有交換機它是根橋。如果你的交換機還未是根橋時爲其設置了呼叫時間,那麼,一旦你的交換機成爲根橋,該呼叫時間就會派上用處。

注意:呼叫時間不能大於橋的最大老化時間(Max. Age),否則,將出現錯誤信息。

最大的橋老化時間(Bridge Max. Age):數值範圍從6秒到40秒。如果在超出最大老化時間之後,還沒有收到根橋發出的BPDU數據包,那麼,在允許的條件下你的交換機將充當根橋向其它所有的交換機發出B PDU數據包。如果交換機確實具有最小的橋標誌級數,那麼,它將隨之成爲根橋。

橋轉發時延(Bridge Forward Delay):數值範圍從4秒到30秒。是指交換機的端口從阻塞狀態轉爲轉發狀態所用的監聽時間。

當你欲變動生成樹參數時,請一定記住下述公式:

最大的橋老化時間≤ 2 x(橋轉發時延 – 1秒)
即:Max. Age ≤ 2 x (Forward Delay - 1 second)
最大的橋老化時間≥ 2 x(呼叫時間 + 1秒)
即:Max. Age ≥ 2 x (Hello Time + 1 second)
端口優先級(Port Priority):數值範圍從0到255。數值越小,那麼該端口越可能成爲根端口。

生成樹協議(STP)

1. 冗餘鏈路:冗餘連接可以防止網絡中的單點失效的問題;冗餘連接也導致了交換回路的出現。

2. 交換回路引發的問題:廣播風暴;同一幀的多拷貝;不穩定的MAC地址表。

3. STP介紹:通過阻塞一個或多個冗餘端口,維護一個無迴路的網絡(IEEE802.1d)

4. 工作過程:運行生成樹算法(STA)的交換機定期發送BPDU;選取唯一一個根網橋;在每個非根網橋選取唯一一個根端口;在每網段選取唯一一個標誌端口。

(1). 選取唯一一個根網橋:BPDU中包含Bridge ID;Bridge ID(8B)=優先級(2B)+交換機MAC地址(6B);一些交換機的優先級默認爲32768,可以修改;優先級值最小的成爲根網橋;優先級值最小的成爲根網橋;優先級值相同,MAC地址最小的成爲根網橋;Bridge ID值最小的成爲根網橋;根網橋缺省每2秒發送一次BPDU;

(2). 在每個非根網橋選取唯一一個根端口:根網橋上沒有根端口;端口代價最小的成爲根端口;端口代價相同,Port ID最小端口的成爲端口;Port ID通常爲端口的MAC地址;MAC地址最小的端口成爲根端口;

(3). 在每網段選取唯一一個標誌端口:端口代價最小的成爲標識端口;根網橋端口到各網段的代價最小;通常只有根網橋端口成爲標識端口;被選定爲根端口和標識端口的進行轉發狀態;落選端口進入阻塞狀態,只偵聽BPDU;

(4). 阻塞端口在指定的時間間隔(缺省20秒)收不到BPDU時,會重新運行生成樹算法進行選舉;缺點:在運行生成樹算法的過程中,網絡處理阻斷狀態,所有端口都不進行轉發。計算過程缺省爲50秒。

生成樹相關的幾個概念STP/RSTP/MSTP

STP
:IEEE Std 802.1D-1998定義,不能快速遷移。即使是在點對點鏈路或邊緣端口,也必須等待2倍的forward delay的時間延遲,網絡才能收斂。

RSTP:IEEE Std 802.1w定義,可以快速收斂,卻存在以下缺陷:
局域網內所有網橋共享一棵生成樹,不能按vlan阻塞冗餘鏈路。

MSTP可以彌補這樣缺陷,它允許不同vlan的流量沿各自的路徑分發,從而爲冗餘鏈路提供了更好的負載分擔機制。

MSTP:Multiple Spanning Tree Protocol多生成樹協議在規範IEEE Std 802.1s中第13節描述。

MSTP算法通過應用MSTP、STP或RSTP的橋任意互連的橋接網絡,爲分配給任一個特定VLAN的幀提供了簡單而完備的連通性。

MSTP允許不同VLAN的數據從各自的路徑分發。各條路徑建立在由LAN和MST橋組成的MST域中的各個獨立的多生成樹實例的基礎上。

當STP和RSTP混用

當STP和RSTP混用時,STP會丟棄RSTP的BPU,當RSTP收到STP的BPDU的時候會在經過一個hello週期後(防止端口頻繁切換),適配未STP模式!

當網絡中支持STP的設備被拿走後,RSTP的設備不會自動切換爲RSTP狀態,因爲設備不能察覺這種情況!

MSTP和PVST的區別!

PVST會爲每一個VLAN維護一個STP 的進程,發送BPUD,但是會給交機和鏈路帶來很大的負擔!

但是在實際組網中並不需要爲每個VLAN生成獨立的VLAN,可以給一組VLAN採用相同的STP!

因此MSTP,對此進行了改進!提出了region的概念!

詳細可以參考RFC!  

MSTP和RSTP的互通

MSTP上存在一個IST(Internal Spanning Tree),相當於一個RSTP的進程,通過該IST和其它RSTP設備互通!整個MSTP的Region 對於CST(Common Spanning Tree)來說是一個虛擬的交換機!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章