文章目錄
STP
- 生成樹STP(Spanning Tree Protocol)可以在提高可靠性的同時又能避免環路帶來的各種問題
- 二層冗余帶來的問題:
- 廣播風暴
- MAC地址震盪
STP的作用
- 通過阻塞邏輯端口來消除環路,並能夠實現鏈路備份的目的
- 當可用路徑發生故障時,STP可以自動激活備份鏈路,恢復網絡的連通性
STP操作
- 選舉一個根橋
- 每個非根交換機選舉一個根端口
- 每個網段選舉一個指定端口
- 阻塞非根、非指定端口
選舉根橋
- 根橋是指Bridge-ID最小的交換機(BID最小的的交換機成為根網橋)
- Bridge-ID包括兩部分(優先級、MAC地址)
- 修改優先級
stp priority 4096
(優先級必須是4096的倍數)
選舉根端口
- 根端口指的是非根網橋到達根網橋路徑開銷最小的接口
- 沿着BPDU的流向(BPDU從根橋流向非根橋)累加入棧接口的開銷值
- 接口開銷值相同,則比較接口對端所連交換機的BID,BID小的交換機對應的接口為根端口
- 接口開銷相同,對端BID相同,比較對端接口的Port-ID(優先級、接口編號)小的為根端口
- 上述所有參數都相同,則比較本地接口的Port-ID,小的為根端口
選舉指定端口
-
在一個網段內到達根網橋路徑開銷最小的接口
-
根網橋上所有接口都是根端口
-
比較接口的根路徑開銷,根路徑開銷相同則比較此網段內所連交換機的BID,BID小的交換機的端口為指定端口
-
在兩個交換機之間根據路徑開銷、對端BID、對端PID和本端的PID比較選舉指定端口
沒有當選根端口和指定端口的端口會被阻塞
端口狀態轉換
- Disabled:生成樹的禁用狀態(端口關禁閉)
- Blocking:可以長期穩定的狀態(阻塞)
- Listening:不穩定狀態,只能收發BPDU,不能轉發數據,學習MAC,等待15秒,切換狀態
- Learning:不穩定狀態,可以學習MAC表,不能轉發數據
- Forwarding:穩定狀態
BPDU
- 包含橋ID、路徑開銷、端口ID、計時器等參數
STP拓撲變化
- 根橋故障
- 非根橋會在BPDU老化之后開始根橋的重新選舉
- 根橋故障
- 非根橋會在BPDU老化之后開始根橋的重新選舉
- 直連鏈路故障
- 檢測到直連鏈路物理故障后,會將預備端口轉換為根端口
- 預備端口會在30s后恢復到轉發狀態
- 非直連鏈路故障
- 預備端口恢復到轉發狀態大約需要50秒
拓撲變更導致MAC地址表變化
- 當交換機檢測到網絡發生拓撲變化時,交換機會從根端口向外發出TCN BPDU
- 上游交換機收到TCN BPDU后,會以TCA位被置位的BPDU進行應答
- 上游交換機收到TCN BPDU后,會進一步從根端口轉發該BPDU ,直到TCN BPDU抵達根網橋
- 根網橋收到TCN BPDU后,會全網泛洪TC位被置位配置BPDU
- 交換機收到TC位被置位的配置BPDU后,觸發生成樹的重新計算
- 同時收到TC BPDU的端口的MAC地址表老化時間縮短至轉發延遲
STP模式
- STP配置:
stp mode stp
(華為設備默認工作模式為MSTP) - 配置路徑開銷值:接口視圖下
stp cost 2000
RSTP
- 傳統STP收斂速度慢,至少需要30S
- 根橋直連鏈路down掉,BP端口換成DP端口並進入轉發狀態需要大約50S
- 交換機連接終端的鏈路進入轉發需要經過30S
- 機制復雜,效率低下
- 端口角色
- Disabled、Blocking、Listening都不轉發用戶流量也不學習MAC地址
- Learning不轉發用戶流量,但是學習MAC地址表
- Forwarding及轉發用戶流量又學習MAC地址
RSTP優點
端口角色重新划分
- 在STP原有的根端口和指定端口上新定義了新的端口
- Backup Port(BP指定端口的備份)
- Alternate Port(AP根端口的備份)
端口狀態重新划分
- 由原來STP的5種狀態縮減為3種狀態
- STP的Disabled、Blocking、Listening對應RSTP的Discarding狀態(不轉發用戶流量也不學習MAC地址)
- STP的Learning、Forwarding在RSTP中不變
快速收斂機制
P/A機制
- 對指定端口(DP)快速進入轉發狀態生效
- DP向下游交換機發出P位被置位的BPDU
- 下游交換機接收到P位被置位的BPDU后,首先會執行Sync的操作(交換機會阻塞所有處於轉發狀態的非邊緣端口)
- 然后下游交換機會向上游交換機發送A位被置位的BPDU
- 上游交換機收到A位被置位的BPDU后,立刻將DP口置為轉發狀態,無需等待定時器到期
根端口快速切換機制
- 當原有的根端口發生故障,且AP口對端連接的DP口處於轉發狀態,AP口立刻轉換為RP口,並進入轉發狀態
次等BPDU處理機制
- 發生故障的交換機以自己為根橋,向外發送P位被置位的BPDU,對端收到后,會將本地最優的BPDU回給故障交換機
- 發生故障的交換機收到最優的BPDU后,向對端發送A位被置位的BPDU
- 對端收到A位被置位的BPDU后,立刻將AP口轉換為DP口,進入轉發狀態
邊緣端口的引入
- 交換機的接口被設置為邊緣端口,則改端口不參與生成樹的運算,一旦接入,立刻進入轉發狀態
拓撲變更機制的優化
- 判斷拓撲變化唯一標准:一個非邊緣端口遷移到Forwarding狀態
- 變更點直接產生TC BPDU觸發生成樹的重新運算,RSTP不再使用TCN BPDU
- TC BPDU會直接刪除錯誤的MAC地址表項,不再將MAC地址表項的老化時間降低為轉發延遲,進一步提高收斂速度
BPDU保護
- 邊緣端口收到BPDU后,自動將其設置為非邊緣端口,重新進行生成樹的計算
- BPDU保護邊緣端口配置BPDU保護,邊緣端口收到BPDU后,交換機立刻關閉該邊緣端口
根保護
- 配置了根保護的接口如果收到更優的BPDU,則進入Discarding狀態,不再轉發該BPDU
- 一段時間內收不到更優的BPDU,則改端口進入轉發狀態,保護根橋位置
TC-BPDU泛洪保護
- 如果交換機短時間收到大量的TC-BPDU,交換機會頻繁的執行MAC地址表的刪除操作和生成樹的重新運算,給設備增加負擔
- 交換機配置了TC-BPDU保護后,交換機只會處理單位時間內人為設置的TC-BPDU的數量,超出部分交換機不處理
RSTP配置
# 系統視圖下
stp mode rstp //將交換機的STP類型更改為RSTP
stp root primary //設置為根橋
stp bpdu-protection //開啟BPDU保護功能
# 接口視圖下
stp edged-port enable //將當前接口設置為邊緣端口
stp root-protection //在當前接口開啟根保護
stp tc-protection //開啟TC-BPDU保護功能
stp tc-protection threshold 5 //設置單位時間內處理TC-BPDU數量的閥值
以上內容均屬原創,如有不詳或錯誤,敬請指出。
本文鏈接: https://blog.csdn.net/qq_45668124/article/details/105946789
版權聲明: 本博客所有文章除特別聲明外,均采用
CC BY-NC-SA 4.0 許可協議。轉載請注明出處!