014-STP根橋、根端口、指定端口、預備端口的選舉-筆記
阿新 • • 發佈:2018-09-28
分享圖片 idg 轉發 生成樹 51cto bridge mar 端口優先級 rpc 圖中的阻塞端口指的就是預備端口。。。。個人習慣
STP中定義了三種端口角色:指定端口, 根端口和預備端口。
指定端口是交換機向所連網段轉發配置BPDU的端口, 每個網段有且只
能有一個指定端口。 一般情況下, 根橋的每個端口總是指定端口。
根端口是非根交換機去往根橋路徑最優的端口。 在一個運行STP協議的
交換機上最多只有一個根端口, 但根橋上沒有根端口。
如果一個端口既不是指定端口也不是根端口, 則此端口為預備端口。 預
備端口將被阻塞。
在以太網中, 二層網絡的環路會帶來廣播風暴, MAC地址表震蕩, 重復
數據幀等問題, 為解決交換網絡中的環路問題, 提出了STP。
STP的主要作用:
STP中定義了三種端口角色:指定端口, 根端口和預備端口。
指定端口是交換機向所連網段轉發配置BPDU的端口, 每個網段有且只
能有一個指定端口。 一般情況下, 根橋的每個端口總是指定端口。
根端口是非根交換機去往根橋路徑最優的端口。 在一個運行STP協議的
交換機上最多只有一個根端口, 但根橋上沒有根端口。
如果一個端口既不是指定端口也不是根端口, 則此端口為預備端口。 預
備端口將被阻塞。
在以太網中, 二層網絡的環路會帶來廣播風暴, MAC地址表震蕩, 重復
數據幀等問題, 為解決交換網絡中的環路問題, 提出了STP。
STP的主要作用:
- 消除環路:通過阻斷冗余鏈路來消除網絡中可能存在的環路。
- 鏈路備份:當活動路徑發生故障時, 激活備份鏈路, 及時恢復網絡
連通性
STP通過構造一棵樹來消除交換網絡中的環路。
每個STP網絡中, 都會存在一個根橋, 其他交換機為非根橋。 根橋或者
根交換機位於整個邏輯樹的根部, 是STP網絡的邏輯中心, 非根橋是根
橋的下遊設備。 當現有根橋產生故障時, 非根橋之間會交互信息並重新
選舉根橋, 交互的這種信息被稱為BPDU。 BPDU中包含交換機在參加
生成樹計算時的各種參數信息, 後面會有詳細介紹。
STP中定義了三種端口角色:指定端口, 根端口和預備端口。
指定端口是交換機向所連網段轉發配置BPDU的端口, 每個網段有且只
能有一個指定端口。 一般情況下, 根橋的每個端口總是指定端口。
交換機上最多只有一個根端口, 但根橋上沒有根端口。
如果一個端口既不是指定端口也不是根端口, 則此端口為預備端口。 預
備端口將被阻塞
STP中根橋的選舉依據的是橋ID, STP中的每個交換機都會有一個橋
ID(Bridge ID) 。 橋ID由16位的橋優先級(Bridge Priority) 和48位的
MAC地址構成。 在STP網絡中, 橋優先級是可以配置的, 取值範圍是
0~65535, 默認值為32768。 優先級最高的設備(數值越小越優先) 會
被選舉為根橋。 如果優先級相同, 則會比較MAC地址, MAC地址越小
則越優先。
交換機啟動後就自動開始進行生成樹收斂計算。 默認情況下, 所有交換
BPDU報文就可以通過所有端口轉發。 對端交換機收到BPDU報文後,
會比較BPDU中的根橋ID和自己的橋ID。 如果收到的BPDU報文中的橋
ID優先級低, 接收交換機會繼續通告自己的配置BPDU報文給鄰居交換
機。 如果收到的BPDU報文中的橋ID優先級高, 則交換機會修改自己的
BPDU報文的根橋ID字段, 宣告新的根橋。
非根交換機在選舉根端口時分別依據該端口的根路徑開銷、 對端BID
(Bridge ID) 、 對端PID(Port ID) 和本端PID。
交換機的每個端口都有一個端口開銷(Port Cost) 參數, 此參數表示該
端口在STP中的開銷值。 默認情況下端口的開銷和端口的帶寬有關, 帶
寬越高, 開銷越小。 從一個非根橋到達根橋的路徑可能有多條, 每一條
路徑都有一個總的開銷值, 此開銷值是該路徑上所有接收BPDU端口的
端口開銷總和(即BPDU的入方向端口) , 稱為路徑開銷。 非根橋通過
對比多條路徑的路徑開銷, 選出到達根橋的最短路徑, 這條最短路徑的
路徑開銷被稱為RPC(Root Path Cost, 根路徑開銷) , 並生成無環樹
狀網絡。 根橋的根路徑開銷是0。
一般情況下, 企業網絡中會存在多廠商的交換設備, 華為X7系列交換機
支持多種STP的路徑開銷計算標準, 提供最大程度的兼容性。 缺省情況
下, 華為X7系列交換機使用IEEE 802.1t標準來計算路徑開銷。
運行STP交換機的每個端口都有一個端口ID, 端口ID由端口優先級和端
口號構成。 端口優先級取值範圍是0到240, 步長為16, 即取值必須為
16的整數倍。 缺省情況下, 端口優先級是128。 端口ID(Port ID)可以用
來確定端口角色。
每個非根橋都要選舉一個根端口。 根端口是距離根橋最近的端口, 這個
最近的衡量標準是靠路徑開銷來判定的, 即路徑開銷最小的端口就是根
端口。 端口收到一個BPDU報文後, 抽取該BPDU報文中根路徑開銷字
段的值, 加上該端口本身的端口開銷即為本端口路徑開銷。 如果有兩個
或兩個以上的端口計算得到的累計路徑開銷相同, 那麽選擇收到發送者
BID最小的那個端口作為根端口。
如果兩個或兩個以上的端口連接到同一臺交換機上, 則選擇發送者PID最小的那個端口
作為根端口。 如果兩個或兩個以上的端口通過Hub連接到同一臺交換機的同一個接口上,
則選擇本交換機的這些端口中的PID最小的作為根端口。
在網段上抑制其他端口(無論是自己的還是其他設備的) 發送BPDU報
文的端口, 就是該網段的指定端口。 每個網段都應該有一個指定端口,
根橋的所有端口都是指定端口(除非根橋在物理上存在環路) 。
指定端口的選舉也是首先比較累計路徑開銷, 累計路徑開銷最小的端口
就是指定端口。 如果累計路徑開銷相同, 則比較端口所在交換機的橋ID,
所在橋ID最小的端口被選舉為指定端口。 如果通過累計路徑開銷和所在
橋ID選舉不出來, 則比較端口ID, 端口ID最小的被選舉為指定端口。
網絡收斂後, 只有指定端口和根端口可以轉發數據。 其他端口為預備端
口, 被阻塞, 不能轉發數據, 只能夠從所連網段的指定交換機接收到
BPDU報文, 並以此來監視鏈路的狀態。
014-STP根橋、根端口、指定端口、預備端口的選舉-筆記