STP 的原理與配置
STP 生成樹協議
一、環路引起的問題之一:廣播風暴
環路引起的問題之二:MAC地址表不穩定
二、STP作用
打破環路、鏈路備份
三、BPDU(Bridge Protocol Data Unit)網橋協議數據單元
1、STP的各種選舉是通過交換BPDU報文來實現,BPDU是直接封裝在以太網幀中的。(802.3+802.2)
2、對於參與STP的所有SW(交換機),它們都是通過數據消息發交換來獲取網絡中其他SW(交換機)的信息,這種消息就被稱為BPDU
3、BTPU是直接封裝在二層的協議
1)選舉根橋
2)確定冗余路徑的位置
3)通過阻塞特定端口來避免環路
4)通過網絡的拓撲變更
5)監控生成樹根
3、BPDU每2s由根橋發送一次(擁有最小bridge-id的交換機稱為根橋)
4、最初的網絡,每個SW(交換機)都認為自己是根橋,都會發送BPDU,比較Lowwst BID,選舉一個根橋,此時就只有根橋發送BPDU。非根橋只進行轉發,轉發時只修改bridge-id和cost字段
5、BPDU分類
1、配置BPDU——通常由根網橋以周期性間隔發出,包括了STP參數,用於進行各種選舉
2、 TCN(topplogy change notification 拓撲變更通告)BPDU:這種BPDU是當交換機檢測到拓撲發生變更時所產生,可由非根網橋發生
四、選舉根交換機的規則
1、lowest BID=網橋優先級+MAC地址(越小越優)
2、交換機默認網橋優先級是32768
3、設置成根網橋兩種方法:
1)修改網橋優先級命令:【SW1】stp priority 0 (數值需要設定為4096的倍數)
2)設置此網橋為根網橋:【SW1】stp root primary (優先級將變為0)
查看誰是根網橋的命令:display stp
五、端口角色
1、RP:根端口。每個非根網橋上有且只有一個,選舉到達根網橋上的路徑開銷值最小的成為根端口
2、DP:指定端口。根網橋上每個端口都是指定端口,非根網橋上需要轉發數據的端口也是指定端口
3、AP:預備端口。該接口狀態為blocking狀態,只收BPDU,不發BPDU
路徑開銷值:
帶寬 |
cost |
10M |
100 |
100M |
19 |
1G |
4 |
10G |
2 |
六、端口狀態描述
1、Disabled(禁用狀態):不轉發數據幀,不學習MAC地址表,不參與生成樹計算
2、Blocking(阻塞狀態):不轉發數據幀,不學習MAC地址表,接收並處理BPDU,不發送BPDU
3、Listening(幀聽狀態):不轉發數據幀,不學習MAC地址表,參與生成樹計算,接收並處理BPDU
4、Learning(學習狀態):不轉發數據幀,學習MAC地址表,參與生成樹計算,接收並處理BPDU
5、Forwarding(轉發狀態):轉發數據幀,學習MAC地址表,參與生成樹計算,接收並處理BPDU
端口由Blocking過渡到Forwarding有50s延時,Blocking過渡到Listening有20s老化時間,Listening到Learning有15s過渡時間,Learning到Forwarding有15s過渡時間。
七、選舉根端口、指定端口的規則
1、Lowest path cost to root bridge(到達根的最小路徑開銷)
2、Lowest sender BID (最小的發送方BID)
3、Lowest sender port ID (最小的發送方PID)
PID=端口優先級(默認128)+端口號
修改網橋接口優先級命令 (在發送方)
【SW1-Ethernet0/0/2】stp port priority 0 (16的倍數)
圖為如何正確識別端口角色案例
八、RSTP和MSTP
RSTP:快速生成樹協議,縮短生成樹端口由阻塞到轉發狀態的過渡時間。
開啟快速生成樹的方法:stp enable、stp mode rstp
MSTP:一個vlan一顆生成樹,也可以多個vlan一個生成樹,實現鏈路的負載均衡
命令:
stp mode mstp
stp region-configuration
region-name huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
[]stp instance 1 root primary
[]stp instance 2 root secondary