詳解生成樹協議 STP

2021-09-21 23:49:09 字數 2462 閱讀 4816

為什麼要了解stp生成樹協議?

因為交換網路的互聯會造成網路環路,從而產生廣播風暴。如下圖所示:

1、當pc1第一次和pc2通訊的時候,pc1會傳送arp請求交給交換機sw1。

2、當sw1收到廣播後,根據交換機的工作原理,它會將此廣播包從非接收埠廣播出去。

3、當sw2和sw3收到廣播後,同樣也會廣播此廣播包。

4、這時就如上圖所示就形成了乙個環路了。

stp(生成樹協議):就是把乙個環形的結構變成乙個樹形的結構。stp協議就是用來將物理上存在環路的網路,通過一種演算法,在邏輯上阻塞一些埠。

生成樹演算法及驗證

生成樹協議執行生成樹演算法很複雜,但是其過程可以歸納為以下三個步驟。

1)選擇根網橋

2)選擇根埠

3)選擇指定埠

注意:網橋是交換機的前身,由於stp是在網橋基礎上開發的,因此現在交換機的網路中仍然沿用這一術語,在此網橋就是指交換機。

選擇根網橋:

選擇根網橋的依據是網橋id,網橋id是由網橋優先順序和網橋mac位址組成的。按照生出樹協議的定義,當比較某個stp引數的兩個取值時,值小的優先順序高。因此,在選擇根網橋的時候,比較的方法是看那台交換機的網橋id小,優先順序小的被選為根網橋,在優先順序相同的情況下,mac位址小的為根網橋。

選擇根埠:

在stp選擇根埠的時候,首先比較交換機埠的根路徑成本。根路徑成本低的為根埠。當根路勁成本相同的時候,比較鏈結的交換機的網橋id。選擇網橋id小的作為根埠,當網橋id相同的時候,比較埠id,選擇較小的作為根埠。

選擇指定埠:

在stp選擇指定埠的時候,首先比較同一網段上埠中根路徑成本最低的,也就是將到達根網橋最近的埠作為指定埠;當根路徑成本相同的時候,比較這個埠所在的交換機的網橋id,選擇乙個網橋id值小的作為指定的埠;當網橋id相同的時候,比較埠id值,選擇較小的作為指定埠。

如下:根據生成樹演算法,算出上圖中交換機迴圈鏈路的生成樹,將阻塞乙個埠。

stp應用:配置核心交換機的負載均衡

其實在實際生產環境中,交換機的生成樹都是交換機自己算好的,根本不需要我們參與,但是有些時候,交換機自己生成的樹,不是很理想,對於網路不合理,那麼這個時候我們就需要手動的去更改生成樹了。

如下圖所示:配置兩台核心交換機分別為不同vlan的根網橋,使不同的vlan中各接入交換機上選擇的根埠不同,因此,不同的vlan的資料傳輸使用的線路也不同,以達到兩條線路之間的負載均衡。

注意:下面我只寫修改生產樹的相關命令,vlan是已經建立好的。如何建立vlan請參考文章:虛擬區域網vlan

配置pvst+的方法很多,在這裡使用兩種方法配置。(關於pvst+的更多介紹,請參思科官方**)

方法一:

switch1(config)#spanning-tree vlan 1-5 priority 4096

switch1(config)#spanning-tree vlan 6-10 priority 32768

switch2(config)#spanning-tree vlan 1-5 priority 32768

switch2(config)#spanning-tree vlan 6-10 priority 4096

方法二:

switch1(config)#spanning-tree vlan 1-5 root primary

switch1(config)#spanning-tree vlan 6-10 root secondary

switch2(config)#spanning-tree vlan 1-5 root secondary

switch2(config)#spanning-tree vlan 6-10 root primary

注意:上面的vlan 1-5 是vlan1到vlan5,這樣簡寫比較方便。

關於pvst+的常見配置請參看下面的語法。

啟用生成樹命令:

switch1(config)#spanning-tree vlan vlan-list

指定根網橋:

switch1(config)#spanning-tree vlan vlan-list priority bridge-priority

還可以這樣配置

switch1(config)#spanning-tree vlan vlan-list root

如果配置primary 則交換機的優先順序變成24576,配置secondary 則是28672.

修改埠成本:

switch1(config-if)#spanning-tree vlan vlan-list cost cost

配置速埠:

switch1(config-if)#spanning-tree portfast

檢視pvst+配置資訊:

switch#show spanning-tree #檢視生成樹的配置

switch#show spanning-tree vlan vlan-id detail #檢視某個vlan的生成樹配置資訊。

STP生成樹協議

stp生成樹協議主要用來解決二層環路問題。2個交換機之間只有一條鏈路,造成網路可靠性不高,因此新增一條線路提高可靠性。但是這樣會帶來環路問題,環路又帶來二層廣播風暴和mac表紊亂等問題。為了解決這些問題,sip協議應運而生。stp根據一定的演算法將環路的某處進行堵塞,在單鏈路出現故障時,再將該處的堵...

生成樹 STP協議

stp協議主要是保證網路中不會出現環路,防止廣播風暴產生 stp協議主要進行的執行過程是 1.選舉根交換機 所有交換機而言 2.選舉根埠 非根交換機 3.選舉指定埠 不同網段交換機 選舉步驟 說明 網橋 交換機id 下面我都直接稱網橋id 交換機的優先順序和mac位址的組合 比較方式 先比較交換機a...

STP(生成樹協議)

交換網路環路會導致 廣播風暴的形成 多幀複製 mac位址表紊亂 stp spanning tree protocol 是生成樹協議的英文縮寫。該協議可應用於在網路中建立樹形拓撲,消除網路中的環路,樹與圖的最大不同則是,圖是有環路的,樹則是沒有環路的。用樹的特性來解決網路環路的問題是再合適不過的啦。在...