1. 程式人生 > >STP理論03-拓撲算法

STP理論03-拓撲算法

pat 發生 bpdu 阻塞 listen rst 也有 tca 指定端口

STP理論03-拓撲算法

網絡中所有的設備使能 STP 協議後,每一臺設備都認為自己是根橋。此時,每臺設備僅僅收發配置 BPDU,而不轉發用戶流量,所有的端口都處於 Listening 狀態。所有設備通過交換配置 BPDU後,進行選舉工作,選出根橋、根端口和指定端口。


STP算法的基本過程:
1、初始狀態:
由於每個橋都認為自己是根橋,所以在每個端口所發出的 BPDU 中,根橋字段都是用各自的 BID, Root Path Cost 字段是累計的到根橋的開銷,發送者 BID 是自己的 BID,端口 PID是發送該 BPDU 端口的端口 ID。

  1. 選擇根橋:
    網絡初始化時,網絡中所有的 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地址表。

STP理論03-拓撲算法