STP的配置和選路規則


STP 讓人最容易混的就是根交換機、根端口、指定端口還有堵塞端口的選取。下面讓我來簡單介紹一下吧!

1.選舉根交換機:

             判斷對象:所有運行STP協議的交換機中選出一個;

             判斷依據:交換機中選擇網橋ID值(交換機優先級+MAC)最小的交換機作為網絡中的根網橋;

             確定根交換機后,該交換機所有端口都為指定端口DP;

       2.確定非根交換機的根端口RP,每個非根交換機有且只有一個RP:

             判斷對象:非根網橋交換機上的不同端口之間;

             判斷依據:

                (1)端口到根網橋路徑開銷最小

                (2)發送方網橋ID最小

                (3)發送方端口ID最小(端口ID有16位,它是由8位端口優先級和8位端口編號組成的,其中端口優先級的取值范圍是0-240,缺省值是128,可以修改,但必須是16的倍數)

       3.確定非根交換機的指定端口:

             判定對象:在每一個物理網段的不同端口之間選舉出一個指定端口。

             判斷依據:

                (1)網橋到根網橋路徑開銷最小

                (2)發送方網橋ID最小

                (3)發送方端口ID最小

     4.既非根端口又非指定端口的為阻塞端口AP

 

這些搞明白了,STP就容易多了!

接下來讓我們來介紹一下實驗吧!

 

 

 

 

 下面的是我繪制的拓撲圖:各個交換機的ID都一一標明來了。

 

 

 

 

首先我們進行一下基本的配置!

在四個交換機上啟用STP,將交換機的STP模式更改為普通生成樹STP,接下來我們查看一下生成樹的狀態。

stp enable

stp mode stp

 

 

 可以觀察到e0/0/1端口為轉發狀態、端口角色為根端口,E0/0/2端口為丟棄端口狀態,端口角色Alternate,即代替端口。

我們還可以查看一下其他的交換機端口的狀態。

 

觀察到S2上所有的端口都為轉發狀態,觀察到e/0/0/1和e0/0/3端口角色為指定端口,e0/0/2為根端口。

 

 S3上e0/0/3端口的角色為Alternate端口,且為丟棄狀態,該端口將不會轉發數據流量。

 

 

 

 S4上的所有端口都為指定端口,且端口狀態為轉發。

因此可以初步斷定s4交換機就是根交換機。所有端口都為指定端口。並且我們也可以看到生成樹的詳細信息,CLST Root和CLST Bridge相同,也可以說明。

生成樹運算的第一步就是通過比較每台交換機id選舉根交換機。交換機id由交換機優先級和mac地址組成,首先比較兩台交換機的優先級,數值最低的為根交換機;如果優先級一樣,則比較mac地址組成,同樣是值最低的選舉為根交換機。目前在這個二層拓撲圖中,交換機優先級默認是一樣的,則比較mac地址選舉。

2.配置網絡中的根交換機。

根交換機在網絡中的地位十分重要,最好選擇性能較強交換機擔任,最好不要選擇部署在接入層的交換機,否則會影響網絡的通信質量及信息傳輸。我們說的,根交換機的選舉依據是根交換機的id,值越小越優先,交換機默認的優先級為32768,可以修改的喲。

現在我們就來將s1 配置成根交換機,s2 為備份交換機,將s1的優先級改為0,s2的優先級改為4096.

S1:

stp priority 0

 S2:

stp priority 4096

讓我們查看一下:

 

 

 

 我們發現優先級變了,s1的為0,s2 的為4096,為備份交換機。我們還有另外一種方法進行配置。

首先刪除在S1 S2上面的配置優先級:undo stp priority

S1:stp root primary

S2: stp root secondary

配置完得到的結果與上圖所示,即上一種方法的結果一樣。

3,理解根端口的選舉。

生成樹在選舉出根交換機后,將在每台非根交換機上選一個根端口,有且只有一個,選舉時會比較根路徑的開銷值,小的為根端口,若是相同,則比較每個端口在鏈路上的上行交換機的id。若是交換機的id也想通,則比較每個端口所在鏈路上的上行端口id。

目前S1為主交換機,S2為備份交換機,查看S4的生成樹狀態。

 

可以看到現在S4e0/0/2為根端口。狀態位轉發。S4在選舉根端口時,首先比較路徑開銷,由於拓撲圖中所有的鏈路都是相同的以太網鏈路,s4經過s3到s1與經過s2到s1的開銷值相同;接下來比較s4的兩台上行鏈路的交換機S2和S3的交換機標識,S2目前的交換機優先級默認為4096,而S3為默認的32768,所以與S2連接的E0/0/2接口被選為根端口。

接下來讓我們看一下S4e0/0/2接口的開銷值:200000

 

 

 可以觀察到,接口路徑開銷采用的是Dot1T的計算方法,config是手工配置的路徑開銷,Active是實際接口使用的路徑開銷,開銷為200000.

接下來就讓我么改變一下端口的開銷值,使S4交換機的eo0/0/1端口成為根端口吧!

interface ebthernet 0/0/1

stp cost “修改的開銷值“

要想1 端口成為根端口,只需要其端口的開銷值小於2 端口就行了 

我要進行的是減小e0/0/1的端口開銷值。

 

 看我已經將e0/0/1端口的開銷值手動變為20000,相比默認200000小,我么來看一下結果吧!

看下圖,端口e0/0/1變為了根端口。成功!

 

 4,理解指定端口的選舉。

根交換機就好說了,全部都是指定端口,但是非根交換機就不一定了,選取方法上面介紹了好幾次,接下來就讓我們人工選取指定端口吧。

               (1)網橋到根網橋路徑開銷最小

                (2)發送方網橋ID最小

                (3)發送方端口ID最小

實驗的要求是確保S2連接S3的e0/0/3接口被選為指定端口,可以通過修改端口的開銷值來實現。

首先將S2的優先級回復默認32768.

undo stp root   我們發現已經修改過來了。

 

 我們看一下S2 S3上e0/0/3接口的狀態

 

 

 

 通過觀察,在S2 與S3鏈路上,選擇了S2的e0/0/3為指定端口,而S2的e0/0/3接口為Alternate端口。路徑開銷相同,比較交換機的id,優先級也相同,就比較mac地址,最后得出結果。(拓撲圖中標識了)

 接下來讓我們指定端口吧!

現在將S3的e0/0/3接口改為指定端口

我為了更好地理解,和實驗做的不一樣:我是將S2e0/0/1端口的開銷值加大了,也就是根路徑的開銷。

 

 

 

 看,我,們成功了。

接下來我們改變一下優先級,看看能否影響指定端口的選取。S3的優先級調整為4096.

 

 

 

 

 

 看了一下結果,發現並無影響。選取端口是首先比較路徑開銷。

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM