stp介紹:
stp(spanning tree protocol)生成樹協議:工作在區域網的資料鏈路層,用於防止交換機冗餘鏈路產生的物理環路問題(廣播風暴、mac位址翻擺、多幀複製等),同時能通過鏈路備份,在鏈路故障時自動切換及時恢復網路;
stp角色:
根橋:整個生成樹的根節點,優先順序最高;
指定橋:負責乙個物理段上資料**任務的網橋;
根埠(rp):乙個網橋上距離根橋最近的埠(根橋無根埠,非根橋有且僅有乙個根埠);
指定埠(dp):指定橋上的埠(根橋的埠皆為指定埠);
替換埠(ap):根埠和指定埠做備份的埠(平時阻塞);
stp工作過程:
一、角色確定
確定根橋:每個交換機起動stp服務,都會向外傳送自己為根橋的bpdu報文,通過收到的bpdu比較橋id(16位的橋優先順序+48位的mac位址),其中橋優先順序預設為32768(可修改範圍:0-65535)。如果比較收到的bpdu發現自己不是根橋,則不傳送bpdu,直到所有交換機達成一致,認定唯一乙個交換機為根橋;
(優先順序越小越優先 > mac位址越小越優先)
確定根埠:當確認自己不是根橋後便開始確定埠角色。當交換機多個埠同時接受到根橋的bpdu報文,會根據根路徑開銷即rpc(root path cost)與接收埠的鏈路開銷之和,最小的為根埠;
(根路徑開銷+鏈路開銷越小越優先 > 傳送bpdu的指定橋橋id越小越優先 > 傳送埠的埠id越小越優先)
確定指定埠:確定根埠時選擇最優,則次優的為指定埠;
阻塞替換埠:確定指定埠後,剩餘的為替換埠且進行阻塞;
二、拓撲變化
當拓撲發生變化(埠斷開或新的網橋加入等),會通過tcn bpdu報文進行快速收斂;
變化處通過根埠向上傳遞tcn bpdu(tca置1)報文,根橋從指定埠向下傳遞tcn bpdu(tca置1)報文,一層層確定,各網橋收到tca為1的bpdu報文後,將mac位址老化時間縮短為15s;
stp狀態:
埠狀態 說明
disabled(禁用狀態) 埠不**資料幀,不學習mac位址,不參與生成樹計算
blocking(阻塞狀態) 埠不**資料幀,不學習mac位址,接收並處理bpdu,不向外傳送bpdu
listening(偵聽狀態) 埠不**資料幀,不學習mac位址,只參與生成樹計算,接收並傳送bpdu
learning(學習狀態) 埠不**資料幀,學習mac位址,參與生成樹計算,接收並傳送bpdu
forwarding**發狀態) 埠正常**資料幀,學習mac位址,參與生成樹計算,接收並傳送bpdu
listening:路由器開啟時,所有埠處於該狀態,並認為自己是根橋,每2s向外傳送一次bpdu報文,如果收到橋id更小的bpdu,則停止傳送,直到擴撒完畢;
bolcking:埠角色選舉結束後,ap埠為此狀態,持續15s**發延遲),進入learning狀態;
learning:學習mac位址,經過15s**發延遲)後進入forwarding狀態;
forwarding:開始**資料,接收並**來自根橋的bpdu報文,維護拓撲(只有根橋傳送bpdu,其他只進行**);
(當加入新的網橋時:埠狀態為learning狀態,競選根橋,競選成功網路斷開,失敗則經過30s進行埠角色的計算)
stp的缺陷:
拓撲收斂慢,每個埠的計算需要經過至少30s才能進入forwarding狀態進行資料**;
網路拓撲較大時,頻繁的拓撲變化會導致tcn bpdu報文頻繁傳送,以至於mac位址老化時間長期處於15s的時間;
不能提供負載均衡,ap埠處於blocking狀態,不能參與**,浪費資源。
最小生成樹總結
給定一張圖,圖中有許多的節點還有許多長度不同的邊將這些點點相互連線,找出連線所有點的最短方式就是最小生成樹,可以證明,這樣一種最小的情況是不會出現環的,由於所有的無環圖都可以看做樹,所以成為最小生成樹。頂層思想是分治,選擇策略是貪心,實現方法如下 以邊為中心,先將所有的邊從小到大進行排序,之後依照大...
最小生成樹總結
啊,先紀念一下吧,難得一天這麼 666 ac 完了所有題 次小生成樹 看懂 今天學到了最小生成樹演算法中的 prim 演算法和kruskal 演算法。從巨集觀上來講 prim 更適合稠密圖,krustal 更適合稀疏圖,但對於我們來說暫時沒有什麼區別啦。prim 演算法中主要注意的點是 在visit...
最小生成樹總結
研究了一天最小生成樹 衍生出來包括最小瓶頸樹,次小生成樹,最小樹形圖之類的演算法,前兩者基本能搞定,最後那個就。不太懂了日後再回去看吧似乎很少用到,抄個模板以備不時之需 先談談最小瓶頸樹 首先注意這兩個定理 命題 無向圖的最小生成樹一定是瓶頸生成樹。命題 瓶頸生成樹不一定是最小生成樹 好了 知道這個...