一、STP協議出現背景(Spanning Tree Protocol,生成樹協議)
二層環路帶來的問題:廣播風暴;
MAC地址表的震蕩;
二、STP定義
stp是二層網絡中用于消除環路的協議,通過阻斷冗余鏈路來消除,網絡中可能存在的環路;
當前活動路徑發生故障時,激活冗余備份鏈路,恢復網絡連通性;
分析:STP會臨時阻塞冗余鏈路的端口,被阻塞的端口不能收發數據,這時,就不會形成環路。
當主鏈路DOWN,被阻塞的鏈路會被啟用,保證數據正常轉發。
思考:阻塞端口怎么選?如下圖,我們肯定希望阻塞10Mbps的。但阻塞誰,肯定有一個阻塞機制。
三、STP相關概念
BDPU:
1、定義:橋協議數據單元,用于傳遞STP協議相關報文
2、分類:
(1)配置BPDU:傳遞STP配置信息
網橋通過交互配置BPDU,獲取STP計算所需的參數;
配置BPDU基于二層組播方式發送,目 的地址:01-80-C2-00-00-00;
配置BPDU只由根橋周期性發出,發送周期為Hello Time(2秒);
配置BPDU格式
配置BPDU老化時間為Max Age即10個hello time;
總結:配置BPDU是傳遞生成樹選舉所需信息的報文
(2)TCN BPDU:通告拓撲變更信息
注意區分:TC BPDU(根橋發出的拓撲變化信息,其他交換機收到后會將MAC地址表老化時間由300秒縮短到15秒)、
TCA BPDU(拓撲變化確認)
TCN BPDU(非根交換機發的拓撲變化通知,用于報錯使用) 兩者是屬于配置BPDU中不同的flag置位
四、STP選舉機制
BID中的優先級范圍:
根橋選舉的情況
思考1:下圖交換機,誰是根網橋
答案1:A交換機
思考2:下圖交換機的接口,誰是根端口
答案2:B的1口、C的1口
思考3:一個交換機上有多個口,到達根網橋的開銷都是相同的,選不出來根端口,怎么辦?
答案3:依據對端交換機BID小的優先級選舉根端口,則D交換機的1口為根端口
思考4:依據端口ID小的優先的情況?
答案4:E的1端口為根端口
綜上:選舉出的根端口如下圖所示:
指定端口的選舉情況
阻塞端口:
STP選舉完后,修剪的網絡拓撲,一顆沒有環路的樹
注:選舉根橋和端口角色同步進行,不分先后;
????????stp計算時間是30秒;
總結:STP橋角色:根橋、非根橋
???????????端口角色:指定端口、根端口、阻塞端口
port id:格式:優先級+端口號,小優
??????????????優先級0-240,默認128,必須是16的倍數
五、stp初始化流程---端口狀態
端口狀態
disable:禁用狀態,被手動shutdown的端口。不發送配置BPDU,不進行MAC地址學習,不收發數據。
blocking:阻塞狀態:不發送配置BPDU,不進行MAC地址學習,不收發數據。
listening:監聽狀態,發送配置BPDU,不進行MAC地址學習,不收發數據,持續15秒。
learning:學習狀態,發送配置BPDU,進行MAC地址學習,不收發數據,持續15秒。
forwarding:轉發狀態,發送配置BPDU,進行MAC地址學習,收發數據
發送延遲的過程:
從中間狀態listening經過一個延遲進入另一個中間狀態learning;
從中間狀態learning經過一個延遲進入另一個中間狀態forWording
思考:當交換機A和B之間的鏈路down,故障切換(網絡收斂)需要多長時間?
答案:需要30秒,因為上圖中雖然有很多的阻塞口,可到底啟用哪個口,就需要重新進行STP的選舉過程。
六、STP計時器
hello time:2秒,配置BPDU的發送周期
max age:20秒,判斷鏈路故障的時間,10個hello time周期
forwarding delay:15秒,狀態切換延遲
STP收斂時間總結:
(1)初次收斂時間:
30秒(15偵聽+15s學習):存在直連檢測=本地僅存在一個阻塞端口,可以收到來自根橋的BPDU
分析:SW0上2口是阻塞口,當其上1口鏈路故障,2口只需經過30S就可以故障切換,因為它可以收到來自根橋的BPDU,所以不需要經過額外的20秒的故障檢測機制。
(2)拓撲故障再收斂時間:
若某個端口斷開,將發送次優BPDU(以本地為根)給其他鄰居交換機,其他交換機無視該數據,進行20s ?max age計時,同時阻塞接口進入15s偵聽,15s學習,故總50s
七、STP拓撲變更機制
所以:拓撲變更后,要及時通知給上行交換機
工作原理:
1.交換機檢測到拓撲變更,交換機向根網橋發起TCN BPDU;
max age超時/有接口變更為轉發狀態,判斷為拓撲發生變更
交換機上有端口從forwarding或learning狀態轉變為blocking;
2.沿途的非根橋收到TCN BPDU后,會繼續向根橋轉發,并在根橋的下一輪配置BPDU中,把TCA(TC acknowledge)位置位
3.根橋收到TCN BPDU后,在下一輪配置BPDU中,把其TC位置位;
4.所有交換機收到TC置位的BPDU后,MAC地址表老化時間由300秒縮短到15秒
八、缺點
拓撲變更不靈活,主機頻繁上下線,網絡會產生大量TCN,導致網卡;
收斂時間長:拓撲層次越多,收斂時間越長,一個端口從blocking到forwarding至少需要30秒;
??????????????????????故障切換時間太長;
九、鏈路開銷標準:
鏈路速率:100Mbps\1000Mbps\10Gbps
標椎:802.1D-1998
???????????802.1t(華為標準)
???????????私有標準(華三交換機私有)
十、STP實驗