協議信息
配置 BPDU
Protocol identifier:協議標識
Version:協議版本:STP 為 0,RSTP 為 2,MSTP 為 3
type: BPDU 類型
Flag: 標志位
Root ID: 根橋 ID,由兩字節的優先級和 6 字節 MAC 地址構成
Root path cost: 根路徑開銷
Bridge ID: 橋 ID,表示發送 BPDU 的橋的 ID,由 2 字節優先級和 6 字節 MAC 地址構成
Port ID: 端口 ID,標識發出 BPDU 的端口
Message age: BPDU 生存時間
Maximum age: 當前 BPDU 的老化時間,即端口保存 BPDU 的最長時間
Hello time: 根橋發送 BPDU 的周期
Forward delay: 表示在拓撲改變后,交換機在發送數據包前維持在監聽和學習狀態的時間
通知 BPDU
拓撲變化時使用,通知其他交換機
防止因為拓撲改變導致 MAC 地址表錯誤
?
STP 通過在交換機間傳遞配置 BPDU 來選舉根交換機,以及確定每個交換機接口的角色和狀態
在初始化過程中,每個交換機都主動發送配置 BPDU,其中包含橋 ID、路徑開銷和接口 ID 等參數
在網絡拓撲穩定后,只有跟橋周期性發送配置 BPDU,其他交換機在收到上游傳來的配置 BPDU 后才發送自己的配置 BPDU
STP 計算
主要比較 4 個參數進行角色選舉:1.根橋 ID、根路徑開銷、網橋 ID 和接口 ID
1.選舉根橋
2.選舉根接口
3.選舉指定接口
4.阻塞非指定接口
STP 角色與狀態
STP 的五種狀態
- 1、失效(disabled) - 該端口只是相應網管消息,并且必須先轉到阻塞狀態。這種狀態可以是由于端口的物理狀(如端口物理層沒有 up)態導致的,也可能是管理員手工講端口關閉。
- 2、 阻塞(blocking) - 處于這個狀態的端口不能夠參與轉發數據報文,但可以接收 BPDU 配置消息,并交給 CPU 處理。不過不能發送配置 BPDU 消息,也不能進行地址學習。
- 3、監聽(listening) - 處于這個狀態的端口不參與數據轉發,也不進行地址學習,但可以接收并發送 BPDU 配置消息。
- 4、學習(learning) - 處于這個狀態的端口不能轉發數據,但是開始地址學習,并可以接收、處理和發送 BPDU 配置消息。
- 5、轉發(forwarding) -一旦端口進入該狀態,就可以轉發任何數據,同時也進行地址學習和 BPDU 配置消息的接收、處理和發送。
STP 三種角色:
- 根端口
- 指定端口
- 阻塞端口
- 禁用端口
名詞解釋
橋 ID:由優先級 +MAC 地址組成(優先級默認為 32768,以 4096 的步長進行增加)
路徑開銷:每條線路根據自己的帶寬會產生一個開銷值,帶寬越大,開銷越小。
根路徑開銷:本設備到達根橋的開銷之和。
端口 ID:端口的優先級 + 端口編號
二層接口模式下配置
S1(config-if-GigabitEthernet 0/10)#spanning-tree bpduguard enable // 開啟BPDU防護
S1(config-if-GigabitEthernet 0/10)#errdisable recovery interval 300
// 恢復時間spanning-tree bpdufilter enable // 開啟后,接口不會收發BPDU
根保護
對于啟動根保護的指定端口,其他端口角色只能保持為指定端口。
啟用根保護的指定端口收到優先級更高的 RST BPDU 時,端口進入 Discarding 狀態,不再轉發報文。經過一段時間后(兩倍的 Forward Delay 時間),如果端口一直沒有收到優先級更高的 RST BPDU 報文,端口才會恢復到轉發狀態
?stp root-protection ?// 配置在指定端口
環路保護
如果根端口或 Alternate 端口長時間收不到來自上游設備的 BPDU 報文時,向網管發出通知信息(此時,根端口進入 Discarding 狀態,角色為指定端口)而 Alternate 端口會一直保持在 Discarding 狀態(角色也會切換為指定端口)不轉發報文,防止形成環路
知道鏈路不再堵塞或單向鏈路故障恢復,端口重新收到 BPDU 報文進行協商,并恢復到鏈路擁塞或單向鏈路故障前的角色和狀態
?stp loop-protection? // 在 RP 和 AP 端口配置
防 TC-BPDU 攻擊
啟用防 TC-BPDU 報文攻擊后,可配置在單位時間內,交換設備處理 TC PBDU 報文的次數
如果在單位時間內,收到的 TC BPDU 報文數量大于配置的閾值,只處理閾值內的報文
對于超出閾值的報文,會在定時器到期后統一處理一次,避免頻繁的刪除 MAC 地址表項,保護設備
?stp tc-oritection threshold 1? // 全局配置,1s 內指處理一次 TC BPDU 報文
配置命令
[huawei] stp enable
開啟生成樹協議
?
?
?
?
?
?
?
?
?
?
?