1. 程式人生 > 實用技巧 >STP-1 STP基礎知識

STP-1 STP基礎知識



STP基礎知識

一、 橋接環路的影響及STP的引入

在生產網路中,為了讓鏈路存在冗餘,在兩個相連的裝置間可能存在兩條或多條鏈路。而這樣,在沒有生成樹的情況下,會引起一些問題,下面我們通過一個拓撲來看看橋接環路會存在什麼問題。

二層環路.png

假設網路拓撲全部剛通電,現在PC1向PC2傳送一個數據包:

  1. 由於裝置剛通電,交換機是沒有MAC地址表的,所以交換機收到PC1(MAC 0011.111.1111)的資料包後,會將PC1與其對應埠繫結,形成一個MAC地址表的條目。


2. 接著,交換機檢視資料幀,發現目的MAC地址為FFFF.FFFF.FFFF,交換機查詢自己的MAC地址表,沒有發現有相應的條目,於是,交換機將這個進行一次ARP廣播,將這個資料幀從同一個VLAN內的其他介面轉發出去,如果Trunk介面允許這個VLAN資料包通過,也會發送這個ARP包。


3. 交換機LSW1的G0/0/24介面收到這個資料幀以後,會將它從G0/0/1介面轉發,LSW2的G0/0/1介面收到資料幀,由於它也沒有關於MAC地址FFFF.FFFF.FFFF的表項,它也會將這個資料幀轉發到介面G0/0/2,接下來交換機LSW1的介面G0/0/2也會收到這一個資料幀,這個幀的源MAC地址是1111.1111.1111。交換機LSW1會將MAC地址0011.1111.1111和埠G0/0/2進行繫結,這樣,就引起了MAC地址表的不穩定。


4. 交換機LSW1收到的LSW2發過來的資料幀以後,它又會進行轉發,一直迴圈,這個,就引起了廣播風暴。


5. 不止這樣,在第3步發生的同時,交換機也會將這個資料幀從G0/0/2進行轉發,交換機LSW2會接到這個資料幀的第二個份,這樣,引起了多幀複製的問題。


為了解決二層橋接的問題,科學家們設計出來了STP協議。


二、 STP的概念和埠角色

STP協議中文名稱叫生成樹協議,它通過STP演算法,在二層網路中可以計算出一個無環的網路,具體的做法是,它可以阻塞掉網路中冗餘的鏈路,而拓撲發生變化時,又可以及時將被阻塞的鏈路啟用起來工作。下面我們來了解一下STP的一些基本概念。

1. 根橋:在一個二層網路中,具有最小橋ID的交換機成為根橋。橋ID由兩個項組成:優先順序+MAC地址,優先順序是16位的數字,以4096為步長,取值範圍0-65535。在一個二層網路中,只有一個根橋。


2. 根埠:每一個非根交換機需要選擇一個根埠,這個根埠是指交換機上能夠收到最優BPDU的埠。它的選擇過程如下:首先,比較接收到的BPDU的橋ID,橋ID越小越優先;如果接收到的橋ID相同,則比較到達根橋的開銷,開銷越小越優先,如果開銷值也一樣,則比較傳送BPDU的上游交換機的橋ID,越小越優先;如果傳送者橋ID相同,則比較傳送者的埠ID,埠ID越小越優先;如果前面的條件都相同,則比較交換機擬用於根埠選舉的埠本身的ID,本身的埠ID越小越優先。


3. 指定埠:每一個網段(衝突域)需要選擇一個埠做為指定埠,指定埠為每個網段轉發發往根交換機的資料,也轉發從根交換機發往本網段的資料。指定埠的選擇,先比較網段兩端的埠去往根橋的COST,越小越優先;如果COST一致,則比較該埠所屬於交換機的橋ID,橋ID越小越優先;如果埠所屬的橋ID一致,則比較埠ID,越小越優先。


4. 預備埠:當交換機上根埠和指定埠選舉完成以後,其餘的埠就成為了預備埠,預備埠是處於discarding狀態的。


三、 STP的五種狀態


  1. disabled:當一個介面處於shutdown狀態,它的STP狀態為disabled。 不參與STP運算,不轉發BPDU,不學習MAC地址,不轉發資料包。


2. listening:當一個埠的角色從alternate變成root 或者 designated埠時,它會過渡到偵聽狀態。參與STP運算,轉發BPDU,不學習MAC地址,不轉發資料包。


3. learnning:當一個介面處於偵聽狀態,經過15秒的轉發延遲,埠角色沒有發生變換為預備埠,它將過濾到學習狀態,參與STP運算,轉發BPDU,學習MAC地址,不轉發資料包。


4. forwarding:當介面從學習狀態經過15秒的轉發延遲,埠角色沒有變換為預備埠,那麼它將過渡到轉發狀態,轉發狀態的介面,參與STP運算,轉發BPDU,學習MAC地址,轉發資料包。


5. blocking:當一個埠被選舉為預備埠時,這個埠將轉換為blocking狀態,或者當一個介面使能後,將處於block狀態。接收並處理BPDU,但不傳送BPDU,不學習MAC地址,為轉發資料幀。(預備埠最終狀態)


四、STP的cost值

下表的路徑開銷包括了三種類別,一個是802.1D演算法,即 cisco預設的格式,還有一種是802.1T演算法,cisco的長格式以及華為使用的cost就是這種,還有一種是華三思有的演算法,下圖是從華三的書本上摘抄下來的。


STP  COST.png


思科路徑器的路徑開銷計算機有兩種方法

一種是傳統的802.1D演算法,即100M為19,1000M為4 ,10G為2

第二種是新的演算法,即802.1t,100M為200,000,1G頻寬為20000,10G頻寬為2000

預設情況下,思科路由器spanning-tree pathcost method long/short來區分。 長格式即802.1T,短格式即802.1D



轉載於:https://blog.51cto.com/liu008qing/2146064