STP生成樹

 

1.         簡介:
1)         冗餘拓撲結構:
冗餘拓撲結構能解決網絡單點故障問題,單點故障會使網絡的可靠性大大降低,在一個網絡中,如果由於一個網絡設備的故障使得整個網絡癱瘓是多麼嚴重的事,可想冗餘拓撲結構的重要性。然而從另一個方面來講,冗餘拓撲結構會引起廣播風暴,重複幀,CAM表不穩定的問題。
Ø 名詞解釋:
廣播幀:
同時傳送到多個目的地的幀,除非另有限制,否則廣播幀通過所有的交換機轉發,這樣做的好處是通話效率高,信息一下子就可以傳遞到全體。在廣播幀中,幀頭中的目的MAC地址是FF.FF.FF.FF.FF.FF,代表網絡上所有主機網卡的MAC地址。在二層設備上,是不隔離廣播的,二層設備對廣播的處理爲泛洪,而三層設備隔離廣播。
泛洪:
交換機使用的一種數據傳遞技術,將某個接口收到的數據流從除該接口之外的所有接口發送出去。
泛洪與廣播的區別:
泛洪操作廣播的是普通數據幀而不是廣播幀
廣播是向同一子網內所有的端口(包括自己的那個端口)發送消息;泛洪只是在所有的端口中不包括髮送消息的(自己的)那個端口發送消息。
Ø 廣播風暴:

當PC發送一條廣播數據包後
SW1收到數據包,由於是廣播,所以把收到的數據包泛洪出去
SW2收到SW1泛洪過來的數據包後,會把數據包再次泛洪
SW1收到SW2泛洪過來的數據包後,又把數據包泛洪
如此反覆就會把寬帶耗盡,從而產生廣播風暴
Ø 重複幀

主機PC向路由器Rou發送單播數據包後
當SW1和SW2的MAC表裏都沒有Rou的MAC地址時(如:剛剛啓動)
由於SW1的MAC中沒有Rou的地址,SW1就會廣播該數據包
SW2收到SW1發來的數據包,發現自己MAC表中同樣沒有目的MAC,再次把該數據包廣播出去
這時Rou就會收到多個同樣的數據包,造成重複幀
Ø CAM表不穩定

主機PC發送數據到Rou後
當SW1和SW2的MAC表裏都沒有Rou的MAC地址時(如:剛剛啓動)
SW1與SW2收到數據包後,把該數據包廣播出去,並把源MAC添加到MAC表,然後認爲PC在端口1
當SW2收到SW1的廣播後又認爲PC在端口2
當SW1收到SW2的廣播後又認爲PC在端口2
從而造成交換機MAC表的不穩定
2)         STP生成樹
Ø 簡介:
二層環路的解決辦法STP(Sanning-Tree Protocol),通過阻塞某些端口來達到路徑冗餘所帶來的問題。把冗餘拓撲結構中的某個端口置於BLK(block)的狀態,在另一條鏈路斷開時,再打開該端口。
Ø BID:
BID包括橋優先級(bridge priority)和交換機MAC地址,BID缺省優先級是32768,二進制爲1000 0000 0000 0000,也就是中值。優先級越低,BID越低,MAC地址越小,BID越低,管理員可以修改優先級以調整BID
Ø BPDU:
STP需要網絡設備互相交換消息來檢測環路,交換機發送的用於構建無環路拓撲的消息稱爲BPDU(bridge protocol data units)網橋協議數據單元。交換機利用BPDU定期(缺省是2s)與其它交換機交換配置消息,其中一個信息是BID
Ø PortID:
PortID包括端口優先級(缺省128)和端口號
Ø 路徑成本:
生成樹路徑成本是路徑上所有鏈路的寬帶的總路徑成本累計值。

寬帶
STP成本(修正後IEEE規定)
STP成本(以前IEEE規定)
4Mbit/s
250
 
10Mbit/s
100
100
16Mbit/s
62
 
45Mbit/s
39
 
100Mbit/s
19
10
155Mbit/s
14
 
622Mbit/s
6
 
1Gbit/s
4
1
10Gbit/s
2
1
Ø 實現無環路的網絡拓撲:
選舉一個根橋
在一個給定網絡中,只有一臺交換機可以作爲根橋,根橋是具有最低BID的交換機,它的所有端口都是指定端口。指定端口通常處於轉發狀態,這時它可以發送和接收流量
當一臺交換機啓動時,它把自己的BID通過BPDU廣播出去
當一臺交換機收到更低BID的BPDU時,它會把自己正在發送的BPDU裏的BID替換成該BID,然後繼續廣播出去
結束時,所有交換機都會收到最小BID,具有此BID的交換機將作爲根橋
選舉根端口:
使用100M以太網連接

根橋SW1在所有端口發送BPDU,該BPDU含路徑成本爲0的信息
當SW2的端口f0/1收到該BPDU後,會在該BPDU上加上f0/1端口的路徑成本(100M以太網路徑成本爲19)
然後SW2使用19作爲內部成本值,並以此作爲BPDU的根路徑成本,從端口f0/2發送出去
然後SW3會收到SW2發過來的BPDU,並在該BPDU上加上f0/2端口的路徑成本,此時SW3的端口f0/2路徑成本爲0+19+19=38
然而,SW3也會在端口f0/1收到來自根橋SW1的BPDU,它的路徑成本爲0+19=19
這時SW3就會作出決定,選舉最小路徑成本的端口作爲根端口,即端口f0/1
SW2也會經歷類似的過程把端口f0/1選舉爲根端口
注意:
在比較中遇到相同時,依次使用以下步驟取最小的來選舉
首先比較到根橋的最低路徑成本
相同則比較該端口所對的上游交換機的BID
還相同則比較PortID
選舉指定端口:
使用100M以太網連接

網絡中每段鏈路只有一個指定端口,它負責發送和接收在該鏈路和根橋之間的流量。選舉根端口的同時,指定端口選舉也在進行
在鏈路1中,SW1的端口f0/1路徑成本爲0,SW2的端口f0/1路徑成本爲19,由於SW1的端口f0/1路徑成本更低,所以SW1的端口f0/1成爲指定端口
在鏈路2中,SW2的端口f0/2路徑成本爲19,SW3的端口f0/2路徑成本爲19,當遇到這種平局,依次使用以下步驟取最小的來選舉
首先比較到根橋的最低路徑成本
相同則比較該交換機的BID
SW2的BID(32768 | 11 22 33 44 55 66)比SW3(32768 | 12 23 34 45 56 67)的BID更小,所以SW2的端口f0/2稱爲指定端口,SW3的端口f0/2成爲非指定端口
在鏈路3中,SW1的端口f0/2路徑成本爲0,SW3的端口f0/1路徑成本爲19,由於SW1的端口f0/2路徑成本更低,所以SW1的端口f0/2成爲指定端口
完成:
當根橋,根端口,指定端口都選出來以後,將非根非指定端口阻塞,STP生成樹完成,網絡就形成了無環路的網絡拓撲。
特點:
每一個網絡都只有一個根橋
每個非根橋都只有一個根端口
每段鏈路都只有一個指定端口
非根非指定端口阻塞
2.         拓撲圖:

1)         在網絡中有2個VLAN,其中一個爲默認的VLAN 1,另一個爲設置的VLAN 2,不同VLAN的STP具有不同的根橋
2)         使用如下命令來查看MAC地址:

3.         準備:
1)         按照拓撲圖把線路連接好
2)         把交換機與交換機相連接的鏈路設置成Trunk
3)         開啓VTP,把SW1設置爲Server,把SW2,SW3設置成Client
4)         在SW1上創建vlan 2,將其命名爲vlan10,並檢查SW2與SW3是否學習成功
4.         分析:
此時vlan 1與vlan 2都是一樣的,所以一起分析。三個交換機的默認優先級都是32769(vlan 1)與32770(vlan 2),而SW2的MAC較低,所以成爲了根橋,則SW2上的f0/1和f0/2是指定端口,處於forword狀態。SW1上的兩個端口都可以到達SW2,一個接口是f0/2,到達SW2的Cost爲19+19=38,另外一個接口是f0/3,到達SW2的Cost爲19,因此f0/3是根端口,處於forword狀態。同樣SW3上,f0/2是根端口,處於forword狀態。在SW1和SW3之間的鏈路上,要選舉出一個指定端口,根據選舉的要素,到達根橋的Cost值是一樣的,都爲19,不能決出勝負,但是各個交換機的BID不一樣, SW1的MAC地址爲00 0A F3 E0 DE 1E,SW3的MAC地址爲00 E0 F7 79 5A 14,SW1的MAC地址小於SW3的MAC地址,所以SW1獲勝,SW1的f0/2是指定端口,處於forword狀態,SW3的f0/1就處於Block狀態了。
5.         步驟:
STP樹默認是開啓的
1)         檢查初始的STP樹:
Ø SW1

     不同的VLAN具有不同的STP樹,指明是哪個VLAN的STP
     表明運行的STP協議是IEEE的802.1D
     顯示的爲vlan 1與vlan 2的STP樹的根橋信息,通過根橋的MAC地址可以確定SW2是根橋。
     顯示該交換機的BID
     顯示該交換機各個端口的狀態
Ø SW2

     指明該交換機爲根橋
Ø SW3

     指明該接口處於阻塞狀態
2)         控制根橋:
控制SW1爲VLAN1的根橋,SW3爲VLAN2的根橋
Ø SW1:

設置:
在SW1上把VLAN 1中的STP優先級設置爲4096
查看:

     SW1的優先級已經改成了4096,由於VLAN號爲1,因此看到的優先級是4096+1=4097
     SW1已經成爲VLAN 1的根橋
拓撲圖:
此時拓撲圖類似於:

SW2上的端口f0/1爲指定端口,SW3上的端口f0/2爲阻塞端口
Ø SW3:
設置:

在SW3上把VLAN 2中的STP優先級設置爲4096
查看:

     SW1的優先級已經改成了4096,由於VLAN號爲2,因此看到的優先級是4096+2=4098
     SW3已經是VLAN 2的根橋了
拓撲圖
此時拓撲圖類似於:

SW1上的端口f0/3爲阻塞端口,SW2上的端口f0/2爲指定端口
3)         控制端口:
把SW1上VLAN 2中f0/2阻塞端口,f0/3設置爲根端口
Ø 設置:

在SW2上把VLAN 2中的STP優先級設置爲4096,此時由於SW3與SW2的優先級都爲4096,而SW2的MAC地址更小,所以SW2成爲了根橋,SW1上
f0/3爲根端口,而f0/2,由於SW3比SW1的優先級高,所以SW3的f0/1端口爲指定端口,SW1的f0/2端口被阻塞。
Ø 查看:

     由MAC地址可以看出此時SW2已成爲VLAN 2的根橋
     SW1的VLAN 2優先級爲32770,比SW3的VLAN 2優先級4098大
     f0/3爲根端口,所以狀態爲FWD,f0/2爲阻塞端口,所以狀態爲BLK
Ø 拓撲圖:
此時拓撲圖類似於:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章