爲了增強網絡的穩定性,我們增強網路的冗餘性,但此時我們往往也導致了環路的出現。
我們就要使用STP防環技術來解決這個問題。
STP算法分四個步驟:
步驟一:選舉根網橋
判定對象:在所有運行STP協議的交換機上選舉出一個唯一的根網橋。
判定條件:BPDU數據幀中網橋ID值最小的交換機將成爲根網橋(BPDU數據幀中網橋ID有8個字節,它是由2個字節的網橋優先級和6個字節的背板MAC組成的,其中網橋優先級的取值範圍是0-65535,缺省值是32768)
---在進行網橋ID比較時,先比較網橋優先級,優先級值小的爲根網橋;當優先級值相等時,再比較背板MAC地址,MAC地址小的爲根網橋。
步驟二:選舉跟端口
判定對象:在所有非根網橋交換機上的不同端口之間選舉出一個到根網橋最近的端口作爲跟端口。
判定條件:
—1.端口到根網橋路徑開銷最小
—2.發送方網橋ID最小
—3.發送方端口ID最小(端口ID有16位,它是由8位端口優先級和8位端口編號組成的,其中端口優先級的取值範圍是0-240,缺省值是128,可以修改,但必須是16的倍數)
步驟三:選舉指定端口
判定對象:在每一個物理網段的不同端口之間選舉出一個指定端口。
判定條件:
—1.網橋到根網橋路徑開銷最小
—2.發送方網橋ID最小
—3.發送方端口ID最小
步驟四:阻塞其它端口,形成無環拓撲
網上閱讀了多份資料,這裏主要講講我對STP選舉的理解。
1.首先我們要選舉一個Root bridge, 我們使用BPDU數據幀來選交換機成爲根網橋,其中BPDU數據幀主要由2個字節的網橋優先級和6個字節的MAC組成,優先級缺省值(默認值)爲32768。 我們選舉BPDU網橋ID值最小的交換機作爲根網橋。
2.然後我們選舉跟端口(Root port),就是尋找各個非根交換機到Root bridge的開銷最小的做爲跟端口,若有多個端口,則選擇接口interface值小的做爲跟端口。
3.最後我們再每個兩兩交換機之間選擇一個Designated port (指定端口)
比如SW1和SW2之間,SW1的0/1口就開銷是0,則0/1爲SW1和SW2之間的指定端口 SW1於SW3 SW1於SW4以此類推
再來比較SW2於SW3之間 SW2的0/2和SW3的0/2到根橋的開銷都一樣 那麼我們選舉網橋ID小的一方的端口作爲選舉端口 SW2的0/2
最後選舉完畢 把沒有除了根端口和指定端口外的端口去掉即可
補充:還瞭解到vlan號也會影響到BPDU的選擇, vlan號要加在優先級上面來計算,計算機BPDU ID值的話要先算優先級,再去算物理地址。
本文參考了網上部分博文 收穫頗豐 大家一起探討一下