stp
生成樹原理
stp的全稱是spanning-tree protocol。stp協議是乙個二層的鏈路管理協議,它在提供鏈路冗餘的同時防止網路產生環路。stp協議(spanning tree protocol)的本質就是實現在交換網路中鏈路的備份和負載的分擔.stp是生成樹協議,主要功能是從拓撲中清除第2層環路。
一。bpdu裡有什麼?
二。每個欄位做什麼用?
協議id和版本號:目前都是0,表示的是這是個stp協議。
bpdu型別:表示的是配置bpdu還是tcn的bpdu。
標誌域:第一位和最後一位有用到,用來表示這是乙個拓撲變更幀,還是拓撲變更確認幀。
根網橋id:
路徑成本:4個位元組,計算到根橋的路徑成本。
埠id:由優先順序加埠出廠編號構成,優先順序可以修改,但是一般不推薦修改。
訊息壽命:訊息最多存活時間。
**延遲:預設是15秒,可以修改。
例項圖分析:
實驗環境:在宿舍用wireshark抓的包。
先看1的部分:看到目的mac位址是01:80:c2:00:00:00,這是個組播位址。
再看2的stp部分:
協議標識和版本都是0.
型別:是配置bpdu。
根標識:這裡優先順序是0。(不是很清楚,或許是被改過了)
路徑開銷是:220020 (這個是累加的)
橋id:優先順序32768。
埠標識:0x800e
hello 時間是2s。
**延遲是15s。
三。bpdu裡的字段怎麼用?
(生成樹的原理)
浩哥說:「我們只看bpdu」。
現在就看看怎麼用bpdu來解釋stp原理。
首先看幾個術語:
根橋:具有最小橋id的交換機。
根路徑開銷
:一台交換機的根路徑開銷是根埠的路徑開銷與資料報經過的所有交換機的根路徑開銷之和。根橋的根路徑開銷是零。
根埠:
每台交換機都有乙個根埠,這個埠到根橋的路徑開銷最低。一旦多個埠具有相同的到根橋的路徑開銷時,那麼具有最低的埠id的才會成為根埠。
指定埠:
為每個交換lan網段選定的**埠。
現在正式開始:
用乙個拓撲圖來說明:(這是na時聰哥引以為豪的拓撲)
假設:他們的優先順序預設都一樣,都是32768.
頻寬都一樣,是100m的。
1.根橋的選舉:
在交換機開機後,每個介面都會傳送出bpdu資訊,將自己的橋id填入根網橋id欄位,然後進行協商。發現別人的橋id比自己大,就把根網橋換成別人的,如此迭代到根網橋選出為止。這裡協商後根網橋為:sw1。因為他的mac位址最小。(二層取小,三層取大原則)。
總結:乙個
vlan
裡只有乙個根網橋。
2.根埠的選舉:
根網橋選舉後,只有根網橋會傳送bpdu資訊,其它交換機不會傳送,但是會**bpdu資訊。首先從接受到的bpdu中檢視cost of path欄位,將自己到鏈路的開銷加上裡面的bpdu的值,形成新的cost of path值傳出去。例如:sw2和sw3,sw2從1口看到bpdu中cost of
path的值是0,因為是根橋發來的,由於自己知道自己的介面是100m的,所以將19加上0等於19,填入那個字段。同理sw3的1口也一樣。這時候sw2和sw3分別各從1口收到的bpdu的開銷值都是19.現在來分析sw2上2口的鏈路開銷值。2口的cost of path的值為19加上sw3的19,即是38.同理分析sw2和sw3的其它介面,所以sw2和sw3選擇1口作為根埠。
如果開銷值一樣,就比較傳送bpdu的橋id。例如:sw4的埠1和2,由於到根網橋的鏈路開銷一樣,所以現在比較傳送bpdu的橋id,從1口接受到傳送的橋id比較小,所以1是根埠。
如果開銷值和傳送bpdu的橋id都一樣,那就比較傳送bpdu埠id欄位。例如sw5中1和2埠,由於bpdu是sw4傳送過來的,所以看sw4的埠號,3比4小,所以和3相連的sw5埠2是根埠(注意這裡不是埠
1,因為要看傳送
bpdu
的埠號)。
總結:乙個交換機只有乙個根埠。
3.指定埠的選舉。
1)根橋上的埠都是指定埠。(根橋要向外發bpdu和資料,所以一定埠一定都是指定埠)
2)根埠對應的都是指定埠。
3)其他的選擇跟選根埠的原則基本一樣。但是第二步,開銷值一樣時,選擇橋id的時候不一樣。
這裡的橋id是本交換機的橋id。其實指的也是傳送bpdu的橋id。
例如:sw2和sw3的2埠,因為選擇的指定埠是用來**bpdu的,所以比較後,sw2的橋id比較低,成為指定埠。
總結:乙個網段上,只有乙個指定埠。
4.非指定埠。
除了上述說的,剩下的埠就是非指定埠,也就是要被阻塞掉的埠。
stp防止環路的機制是將某些埠阻塞掉,。選根埠,就是選路徑,選指定埠就是決定要在網段上要將兩個口的哪個口給阻塞掉,從而達到目的。
關於stp的目的是防環路還是為了冗餘的理解:
stp是為了更好地冗餘。兩個方面來理解:
1)環路產生的原因的是冗餘。
2)後面發展rstp,mstp都不僅僅是為了防環路,如果是的話,802.1d就可以了。引用第一段的話,stp協議的本質就是實現在交換網路中鏈路的備份和負載的分擔,也就是為了更好的冗餘。
1.根據傳送的
bpdu
來判斷,只有根網橋才能傳送
bpdu。
2.理解根埠和指定埠的區別,根埠是用來接受
bpdu
資訊,而指定埠是用來**
bpdu
等資訊的,乙個是接受方,乙個是傳送方,所以當鏈路開銷一樣時,在選擇指定埠和根埠時候是相反的。
最後囉唆一下,「我們只看
bpdu
「。浩哥這話真是經典。
二〇〇九年八月六日
wzhj132
STP生成樹協議(原理 實驗)
交換機工作原理回顧 1.基於源mac位址學習 2.基於已知目標mac位址 3.當目標mac位址未知時,泛洪處理 4.交換機收到廣播 組播幀時,無條件泛洪處理 5.交換機乙個介面可以學習多個mac位址 6.交換機學習到同乙個mac位址,但是是從不同的埠學習到的,此時,將此mac與後學習到的埠繫結起來 ...
STP生成樹協議 個人總結
stp狀態 stp的缺陷 stp spanning tree protocol 生成樹協議 工作在區域網的資料鏈路層,用於防止交換機冗餘鏈路產生的物理環路問題 廣播風暴 mac位址翻擺 多幀複製等 同時能通過鏈路備份,在鏈路故障時自動切換及時恢復網路 根橋 整個生成樹的根節點,優先順序最高 指定橋 ...
STP生成樹協議
stp生成樹協議主要用來解決二層環路問題。2個交換機之間只有一條鏈路,造成網路可靠性不高,因此新增一條線路提高可靠性。但是這樣會帶來環路問題,環路又帶來二層廣播風暴和mac表紊亂等問題。為了解決這些問題,sip協議應運而生。stp根據一定的演算法將環路的某處進行堵塞,在單鏈路出現故障時,再將該處的堵...