STP生成樹協議

STP生成樹:

STP將環形網絡修剪成爲一個無環的樹形網絡,避免報文在環形網絡中的增生和無線循環,主要爲二層環形網絡。採用生成樹(spanning-tree)協議,能夠在網絡中存在二層環路時,通過阻塞(block)特定端口從而打破環路,並且在網絡出現拓撲更新時及時收斂,以保證網絡的冗餘性。

環路帶來的問題

  • 廣播風暴

網絡中如若存在二層環路,一旦出現廣播數據幀,這些數據幀將被交換機不斷進行洪泛,從而造成廣播風暴。

  • MAC表的紊亂

頻繁更新MAC地址表

若出現故障時:

採用生成樹協議,能夠在網絡中存在二層環路時,通過阻塞特定端口從而打破環路,並且在網絡出現拓撲更新時及時收斂,以保證網絡的冗餘性。

基本概念和術語:

根橋:每個廣播域選擇一個根橋,橋ID最小的,整個網絡的邏輯中心。

根端口(RP):去往根橋路徑最近的端口。負責向根橋方向轉發數據,同時負責接收上游設備的BPDU報文和用戶流量轉發。

指定端口(DP):指定端口是向下遊交換設備轉發BPDU報文的端口

非指定端口(AP):阻塞端口,當STP啓用後非指定端口爲阻塞狀態。當鏈路發生變化時,該非指定端口轉化爲指定端口

橋ID:八個字節:兩個字節的優先級和六個字節的MAC地址構成,默認32768(修改時以4096爲倍數修改),橋ID最小的爲根橋。

Path cost:路徑開銷,根設備的端口的路徑開銷都爲0,在一個STP/RSTP網絡中,某端口到根橋累計的路徑開銷就是所經過的各端口的開銷。

帶寬 802.1t 802.1d
10Mbps 2000000 100
100Mbps 200000 19
1000Mbps 20000 4
10000Mbps 2000 2

Port ID:端口ID=端口優先級(1字節)+端口編號(1字節),缺省優先級128,範圍0-255,越小越優。

STP端口狀態:

端口狀態

端口能力

Disabled

不收發任何報文

Blocking(阻塞)

不接收或者轉發數據,接受但不發送BPDU,不進行地址學習

Listening

不接收或者轉發數據,接受併發送BPDU,不進行地址學習

Learning

不接收或者轉發數據,接受併發送BPDU,開始進行地址學習

Forwarding

接收或者轉發數據,接受併發送BPDU,進行地址學習

端口狀態的轉化:

BPDU:網橋協議數據單元

從根橋發出,非根橋爲從根端口收到從指定端口發出(中繼)

BPDU報文:

佔用字節 內容 意義
2 Protocol ID 協議ID
1 version 協議版本標識符  STP爲0,RSTP爲2,MSTP爲3
1 message type BPDU消息類型
1 flags 標籤
8 root ID 根ID,網橋優先級+MAC地址
4 cost of path 路徑開銷,標識本交換機距離根的距離
8 bridge ID 發送者的BID
2 port ID 發送端口PID
2 message age 消息時間,最大300s,在啓用portfast後變爲15s
2 max age 20s,最大生存時間
2 hellotime hello時間,默認爲2s
2 forward delay 轉發延時,最大15s

端口選舉:

比較次序:root identifier>root path cost>bridge identifier>port identifier         值越小越優

根橋選舉

  1. 比較BID即可,BID由兩部分組成:兩個字節的優先級和六個字節的MAC地址。
  2. 比較時,先比較優先級,優先級越小越優。若優先級一樣,比較MAC地址,MAC地址越小越優。

指定端口選舉

  1. 比較root ID,越小越優。
  2. 若相同比較cost of path,越小越優。
  3. 以上相同,比較BID。
  4. 以上相同,比較PID。

發生故障(拓撲變更):

發生故障處的交換機向上遊交換機發送TCN BPDU報文,報告鏈路發生故障,上游路由器回覆TCN ACK報文表示收到。

根橋收到TCN BPDU報文後,向下泛洪。

其他交換機收到TC標誌位置爲後,將CAM表老化時間降爲15s。

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