STP理論01-背景及概念

STP理論基礎01-背景及概念

一、 STP出現的背景:
STP 是一個用於局域網中消除環路的協議。運行該協議的設備通過彼此交互信息而發現網絡中的環路,並適當對某些端口進行阻塞以消除環路。

首先了解環路造成的危害如下:
1.廣播風暴
2.MAC地址表震盪
3.網絡中的主機會收到重複的數據幀


二、 STP基礎概念:
一根橋、兩度量、三要素、四比較、五角色;

1、 一根橋:
對於一個 STP 網絡,根橋在全網中只有一個,它是整個網絡的邏輯中心,但不一定是物理中心。根橋會根據網絡拓撲的變化而動態變化。
網絡收斂後,根橋會按照一定的時間間隔產生並向外發送配置 BPDU,其他設備僅對該報文進行處理,傳達拓撲變化記錄,從而保證拓撲的穩定。

根橋的選舉規則:
比較橋ID:越小越優先
橋ID分爲兩部分:
1.橋優先級(默認爲32768)越小越優先
2.MAC地址,越小越優先

2、 兩度量:
1)、橋ID(Bridge ID):
IEEE 802.1D 標準中規定 BID 是由 16 位的橋優先級(Bridge Priority)與橋 MAC 地址構成。 BID 橋優先級佔據高 16 位,其餘的低 48 位是 MAC 地址。在 STP 網絡中,橋 ID 最小的設備會被選舉爲根橋。
2)、端口ID(Port ID):
PID 由兩部分構成的,高 4 位是端口優先級,低 12 位是端口號。

3、 三要素:
從環形網絡拓撲結構到樹形結構,總體來說有三個要素:根橋、根端口和指定端口。
1)、根橋 RB(Root Bridge):
根橋就是網橋 ID 最小的橋,通過交互配置 BPDU 協議報文選出最小的 BID。
2)、根端口 RP(Root Port):
根端口就是去往根橋路徑開銷最小的端口,根端口負責向根橋方向轉發數據,這個端口的選擇標準是依據根路徑開銷判定。在一個運行 STP 協議的設備上根端口有且只有一個,根橋上沒有根端口。
3)、指定端口 DP(Designated Port):
對一臺交換設備而言,它的指定端口是向下遊交換設備轉發BPDU報文的端口。

注:在拓撲穩定後,只有根端口和指定端口轉發流量,其他的非根非指定端口都處於阻塞(Blocking)狀態,它們只接收 STP 協議報文而不轉發用戶流量。

4、 四比較:
STP 選舉有四個比較原則,構成消息優先級向量: { 根橋 ID,累計根路徑開銷,發送設備 BID,發送端口 PID }。
1)、根橋 ID:
每個 STP 網絡中有且僅有一個根。
2)、累計根路徑開銷:
發送配置 BPDU 的端口到根橋的距離,決定了到根橋的路徑開銷。用來在非根橋上選擇根端口。
3)、發送設備 BID:
發送配置 BPDU 的設備的 BID。當一臺運行 STP 協議的設備要在兩個以上根路徑開銷相等的端口之中選擇根端口時,通過 STP 協議計算,將選擇接收到的配置消息中發送者 BID 較小的那個端口。
4)、發送端口 PID:
發出配置 BPDU 的端口的 PID。用於在根路徑開銷相同的情況下,不阻塞最小 PID 的端口,而是阻塞 PID 值較大的端口。

5、 五角色:
運行STP協議的設備上端口狀態有如下五種:
1)、disabled:
沒有使能STP或者接口down,端口不僅不處理 BPDU 報文,也不轉發用戶流量。
2)、listening:
監聽狀態,確定端口角色,就是一堆選舉(選舉出根橋、根端口和指定端口)。
3)、learning:
學習狀態,設備會根據收到的用戶流量構建 MAC 地址表,但不轉發用戶流量。(防止臨時環路)
4)、blocking:
接受並處理收到的BPDU,端口僅僅接收並處理 BPDU,但不轉發用戶流量。
5)、forwarding:
轉發流量,端口既轉發用戶流量也處理 BPDU 報文。

在STP中,影響端口狀態和端口收斂的3個參數;
1)、Hello Time:
運行 STP 協議的設備發送配置消息 BPDU 的時間間隔,用於設備檢測鏈路是否存在故障。設備每隔 Hello Time 時間會向周圍的設備發送 hello 報文,以確認鏈路是否存在故障。
當網絡拓撲穩定之後,該計時器的修改只有在根橋修改後纔有效。新的根橋會在發出的 BPDU報文中填充適當的字段以向其他非根橋傳遞該計時器修改的信息。但當拓撲變化之後, TCN BPDU 的發送不受這個計時器的管理。
2)、Forward Delay:
設備狀態遷移的延遲時間。鏈路故障引發生成樹的重新計算,新計算得到的配置消息無法立刻傳遍整個網絡,如果新選出的根端口和指定端口立刻就開始轉發數據,可能造成臨時環路。因此,STP 採用了一種狀態遷移機制,新選出的根端口和指定端口要經過 2倍的 Forward Delay延時後才能進入轉發狀態,這個延時保證了新的配置消息傳遍整個網絡,從而防止了臨時環路的產生。
注:Forward Delay Timer 指一個端口處於 Listening 和 Learning 狀態的各自持續時間,默認是 15秒。
3)、Max Age:
端口的 BPDU 報文老化時間。
Max Age 通過配置 BPDU 報文的傳輸,可保證 Max Age 在整網中一致。運行 STP 協議的網絡中非根橋設備收到配置 BPDU 報文後,報文中的 Message Age 和 Max Age 會進行比較:
a、如果 Message Age 小於等於 Max Age,則該非根橋設備繼續轉發配置 BPDU 報文。
b、如果 Message Age 大於 Max Age,則該配置 BPDU 報文將被老化。該非根橋設備直接丟棄該配置 BPDU,可認爲網絡直徑過大,導致根橋連接失敗。

注:如果配置 BPDU 是根橋發出的,則 Message Age 爲 0。否則, Message Age 是從根橋發送到當前橋接收到 BPDU 的總時間,包括傳輸延時等。實際實現中,配置 BPDU 報文經過一個橋,Message Age 增加 1。

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