STP理論03-拓撲演算法
STP理論03-拓撲演算法
網路中所有的裝置使能 STP 協議後,每一臺裝置都認為自己是根橋。此時,每臺裝置僅僅收發配置 BPDU,而不轉發使用者流量,所有的埠都處於 Listening 狀態。所有裝置通過交換配置 BPDU後,進行選舉工作,選出根橋、根埠和指定埠。
STP演算法的基本過程:
1、初始狀態:
由於每個橋都認為自己是根橋,所以在每個埠所發出的 BPDU 中,根橋欄位都是用各自的 BID, Root Path Cost 欄位是累計的到根橋的開銷,傳送者 BID 是自己的 BID,埠 PID是傳送該 BPDU 埠的埠 ID。
- 選擇根橋:
網路初始化時,網路中所有的 STP 裝置都認為自己是“根橋”,根橋 ID 為自身的裝置 ID。通過交換配置訊息,裝置之間比較根橋 ID,網路中根橋 ID 最小的裝置被選為根橋。
3.1. 選擇根埠和指定埠
1)、非根橋裝置將接收最優配置訊息(最優配置訊息的選擇過程如表 2 所示)的那個埠定為根埠;
2)、裝置根據根埠的配置訊息和根埠的路徑開銷,為每個埠計算一個指定埠配置訊息:
a、根橋 ID 替換為根埠的配置訊息的根橋 ID;
b、根路徑開銷替換為根埠配置訊息的根路徑開銷加上根埠對應的路徑開銷;
c、傳送者 BID 替換為自身裝置的 ID;
d、傳送埠 PID 替換為自身埠 ID。
3)、裝置將計算出的配置訊息與角色待定埠自己的配置訊息進行比較:
a、如果計算出的配置訊息更優,則該埠被確定為指定埠,其配置訊息也被計算出的配置訊息替換,並週期性地向外傳送;
b、如果該埠自己的配置訊息更優,則不更新該埠的配置訊息並將該埠阻塞。該埠將不再轉發資料,且只接收不傳送配置訊息。
3.2.最優配置訊息的選擇過程
1)、每個埠將收到的配置訊息與自己的配置訊息進行比較:
a、如果收到的配置訊息優先順序較低,則將其直接丟棄,對自己的配置訊息不進行任何處理;
b、如果收到的配置訊息優先順序較高,則用該配置訊息的內容將自己配置訊息的內容替換掉。
2)、裝置將所有埠的配置訊息進行比較,選出最優的配置訊息。
STP 拓撲變化處理過程:
1)、在網路拓撲發生變化後,下游裝置會不間斷地向上遊裝置傳送 TCN BPDU 報文;
2)、上游裝置收到下游裝置發來的 TCN BPDU 報文後,只有指定埠處理 TCN BPDU 報文。其它埠也有可能收到 TCN BPDU 報文,但不會處理;
3)、上游裝置會把配置 BPDU 報文中的 Flags 的 TCA 位設定 1,然後傳送給下游裝置,告知下游裝置停止傳送 TCN BPDU 報文;
4)、上游裝置複製一份 TCN BPDU 報文,向根橋方向傳送;
5)、重複步驟 1、 2、 3、 4,直到根橋收到 TCN BPDU 報文;
6)、根橋把配置 BPDU 報文中的 Flags 的 TC 位置 1 後傳送,通知下游裝置直接刪除橋 MAC 地址表項。
注:
1)、TCN BPDU 報文主要用來向上遊裝置乃至根橋通知拓撲變化;
2)、置位的 TCA 標記的配置 BPDU 報文主要是上游裝置用來告知下游裝置已經知道拓撲變化,通知下游裝置停止傳送 TCN BPDU 報文;
3)、置位的 TC 標記的配置 BPDU 報文主要是上游裝置用來告知下游裝置拓撲發生變化,請下游裝置直接刪除橋 MAC 地址表項,從而達到快速收斂的目的。
a、MAC地址表預設的老化時間是300s,收到TC置位的BPDU後,MAC地址表的老化時間就修改為15s,設計成15s的原因也是為了防止臨時環路;
b、RSTP不同,是直接刪除MAC地址表。