1樓:匿名使用者
一、stp演算法
ieee802.1d標準定義了stp的生成樹演算法。該演算法依賴於bid、路徑開銷和埠id引數來做出決定。
1、bid(網橋id):
bid是生成樹演算法的第一個引數,bid決定了橋接網路的中心,稱為根網橋或根交換機。bid引數是一個8位元組域。前2個位元組(10進位制)稱為「網橋優先順序」,後6個位元組(16進位制)是交換機的一個mac地址。
網橋優先順序用來衡量一個網橋的優先度,範圍是0-65535,預設是32768。思科交換機中的pvst+(每vlan生成樹)生成樹協議使每個vlan都有一個stp例項。比較兩個bid的大小的原則:
一是網橋優先順序小的bid優先,二是如果網橋優先順序相同,bid中的後六個位元組的mac小的則bid優先。
2、路徑開銷:
路徑開銷是生成樹演算法的第二個引數,決定到根網橋(根交換機)的路徑。
通俗說,路徑開銷是用來衡量網橋之間的距離的遠近的,其值是兩個網橋之間某條路徑上所有鏈路開銷的總和。
路徑開銷與跳數無關。
路徑開銷決定到根網橋或根交換機的最佳路徑,最小的路徑開銷是到根交換機的最佳路徑。
路徑開銷的值的規律:頻寬越大,stp開銷越小。
3、埠id:埠id是生成樹演算法的第三個引數,也決定到根交換機的路徑。它由2個位元組組成,包括「埠優先順序」和「埠號」,各佔8位。
埠優先順序值從0-255,預設128;埠號包括256個。
埠id大小的判定與bid大小的判定相同。
二、stp的過程
1、stp判決和bpdu交換:
當建立一個邏輯無環的拓撲時,stp總是通過傳送bpdu的第二層幀來傳遞生成樹協議,並執行相同的4步判決順序:
步驟1,確定根交換機;
步驟2,計算到根交換機的最小路徑開銷;
步驟3,確定最小的傳送者bid;
步驟4,確定最小的埠id。
網橋為每個埠儲存一個其收到的最佳bpdu,當有其他的bpdu到達交換機的埠時,交換機會使用四步判決過程來判斷此bpdu是否比該埠原來儲存的bpdu更好,如果新收到的bpdu(或者本地生成的bpdu)更好,則替換原有值。
當一個網橋第一次被啟用時,其上所有埠每隔一個hello時間(預設2秒)傳送一次bpdu;如果一個埠發現從其他網橋收到的bpdu比自己傳送的好,則本地埠就停止傳送bpdu;如果在max age(最大生存時間,預設20秒)內沒有從鄰居網橋收到更好的bpdu,本地埠則重新開始傳送bpdu,即最大生存時間是最佳bpdu的超時時間。
2、stp收斂的三個步驟:
生成樹演算法收斂於一個無環拓撲的初始過程包含三個選舉步驟:
步驟1 選舉一個根交換機。
步驟2 選舉根埠。
步驟3 選舉指定埠。
在網路第一次「初始」時,所有網橋都洪泛混合的bpdu資訊,網橋通過執行stp四步判決過程,形成整個網路或vlan惟一的生成樹。在網路穩定後,bpdu從根網橋流出,沿著無環支路到達網路中的每一個網段。網路發生變化時,生成樹協議按照收斂三個步驟做出處理。
(1)選舉根交換機:
根交換機是一個具有最小bid的網橋,它是惟一的,是通過交換bpdu選舉得出來的。
bpdu的格式:bpdu是網橋之間用來交換生成樹資訊的特殊幀,它在網橋之間傳播,包括交換機和所有配置來進行橋接的路由器,bpdu不攜帶終端使用者流量。
bpdu包括根bid、根路徑開銷、傳送者bid和埠id資訊。
也就是說,交換機通過傳遞bpdu來發現誰是最小的bid,從而將具有最小bid的網橋做為根交換機。最初時,交換機總將自己認為是根網橋,當它發現有比自己小的bid時,就將收到的具有最小bid的交換機作為根網橋。
(2)選舉根埠:
在根交換機選舉完後,就開始選舉根埠了。所謂根埠,就是按照路徑開銷最靠近根交換機的埠,也就是說具有最小根路徑開銷的埠。每一個非根交換機都必須選舉一個根埠。
(3)選舉指定埠:
通過以上兩個步驟後,生成樹演算法還沒有消除任何環路,因為還沒有選舉指定埠。所謂指定埠,就是連線在某個網段上的一個橋接埠,它通過該網段既向根交換機傳送流量也從根交換機接收流量。橋接網路中的每個網段都必須有一個指定埠。
指定埠也是根據最小根路徑開銷來決定,因此根交換機上的每個活動埠都是指定埠,因為它的每個埠都具有最小根路徑開銷(實際是它的根路徑開銷是0)。
注意:指定埠只在中繼埠(trunk口)起作用。接入埠在指定埠選舉中不起任何作用。接入埠是用來連線到主機或者三層埠的。
3、stp狀態
在網橋已經確定了根埠、指定埠和非指定埠後,stp就準備開始建立一個無環拓撲了。
為建立一個無環的拓撲,stp配置根埠和指定埠**流量,非指定埠阻塞流量。
實際上,stp決定埠**和阻塞看似只有這兩個狀態,實際上是有五種狀態的。
(1)、disabled(為了管理目的或者因為發生故障將埠關閉);
(2)、blocking(在初始啟用埠之後的狀態。埠不能接收或者傳輸資料,不能把mac地址加入地址表,只能接收bpdu(bridge protocol data unit)。如果檢測到有一個橋接環,或者埠失去了它的根埠或者指定埠的狀態,那麼就會返回到blocking狀態);
(3)、listening(如果一個埠可以成為一個根埠或者指定埠,那麼它就轉入監聽狀態。此時埠不能接收或者傳輸資料,也不能把mac地址加入地址表,但可以接收和傳送bpdu);
(4)、learning(在forward delay計時時間到(預設15秒)後,埠進入學習狀態,此時埠不能傳輸資料,但可以傳送和接收bpdu,也可以學習mac地址,並加入地址表);
(5)、forwarding(在下一次**延時計時時間到後,埠進入**狀態,此時埠能夠傳送和接收資料、學習mac地址、傳送和接收bpdu)。
在這些狀態過程中,會引發網路拓撲結構發生改變。此時,發生變化的交換機會在它的根埠上每隔hello time時間就傳送tcn bpdu,直到上級的指定網橋鄰居確認了該tcn(拓撲結構變化通知)為止。當根網橋收到後,會傳送設定了tc(topology change,拓撲改變)位的bpdu,通知整個生成樹拓撲結構發生了變化。
這會讓所有的下級交換機把它們的address table aging(地址表老化)計時器從預設值(300秒)降為fordwarding delay(預設為15秒),從而讓不活動的mac地址比正常情況下更快地從地址表更新掉。
2樓:折亙廣靜安
夥計,你提供的圖不太全,能不能整完整點,交換機優先順序是否都一樣,還有這個圖上mac地址看不全啊
stp指定埠的問題
3樓:伍永芬懷緞
stp(spanning
tree
protocol)是生成樹協議的英文縮寫。該協議可應用於在網路中建立樹形拓撲,消除網路中的環路,並且可以通過一定的方法實現路徑冗餘,但不是一定可以實現路徑冗餘。生成樹協議適合所有廠商的網路裝置,在配置上和體現功能強度上有所差別,但是在原理和應用效果是一致的。
生成樹協議執行生成樹演算法(sta).生成樹演算法很複雜,但是其過程可以歸納為以下3個步驟:
(1)選擇根網橋
(2)選擇根埠
(3)選擇指定埠
關於選擇根網橋:選擇根網橋的依據是網橋id,網橋id由網橋優先順序和網橋mac地址組成。網橋的預設優先順序是32768.使用show
mac-address-table時,顯示在最前面的mac地址就是計算時所使用的mac地址。網橋id值小的為根網橋,當優先順序相同時,mac地址小的為根網橋。
關於選擇根埠:每個非根交換機選擇一個根埠。選擇順序為:
到根網橋最低的根路徑成本→傳送bpdu的網橋id較小→埠id較小的。埠id由埠優先順序與埠編號組成。預設的埠優先順序為128。
關於選擇指定埠:每個網段上選擇一個指定埠。選擇順序為:
根路徑成本較低→傳送bpdu的交換機的網橋id值較小→本埠的id值較小。另外,根網橋的介面皆為指定埠,因為根網橋上埠的根路徑成本為0。
stp生成樹協議裡。。。怎麼選擇 根網橋,根埠,指定埠,非指定埠。。。。。我非常迷糊。。。
4樓:4終
1、首先在stp生成
襲樹協議裡,修改
brigde id,重新選根網橋。switch>enswitch#conf tswitch(config)#spanning-tree vlan 1 priority 4096,修改brigde id,重新選根網橋。
2、檢視、檢驗stp(生成樹協議)配置。switch#show spanning-tree。
3、接著輸入switch#show spanning-tree active。
4、然後輸入switch#show spanning-tree inte***ce inte***ce-id。
5、最後設定stp與vlan負載均衡配置:switch(config-if)switchport trunk allowed vlan vlanid,就完成了。
5樓:匿名使用者
實際的stp中間你只
來要確定root就行自了,root上面的埠全都是指定埠,而哪臺交換機為root則有兩種方式,一是手工設定,二是自己競選,競選的話則判斷交換機的優先順序,預設的優先順序為32768,交換機的優先順序採用mac地址+優先順序的模式,優先順序小的則競選為root,優先順序一樣,則mac地址小的為root。然後要確定的是距離root的cost,cost為鏈路開銷,頻寬越大cost越小,優先順序越高,ge的cost一般為1,如果同一個交換機兩個埠到root的cost都一樣,則優先順序較小的埠成為根埠,那麼其他的埠為指定埠,沒有執行stp協議的埠為非指定埠,例如在某埠下配置stp disable,則該埠不參加stp的競選,為非指定埠。block埠是整個環狀的網路中距離root的cost值最大的埠,如果某根埠down掉,則整個stp會重新計算,收斂的時間大約30-40秒,mstp和rstp收斂速度都快很多。
基本概念就這些,純粹手打,如果你還不明白就該多看看基礎資料了。