是什么是STP?
生成樹協議(STP)是一種為了解決企業網三層架構,二層橋接環路的類似于廣播風暴的一系列問題的一種演算法;而生成樹是一種結構,是在一個二層交換網路中,生成一棵樹型結構,邏輯的阻塞部分介面,使得從根到所有的節點僅存在唯一的路徑;當最佳路徑故障時,自動打開部分阻塞埠,來實作線路備份的作用;在解決這些問題的時候,我們把生成樹的路徑盡量做到最短,即星型結構,
這一系列問題包括:
- 廣播風暴;
- MAC地址表翻滾 —在一臺交換機上,同一個MAC地址只能映射唯一的介面;但同一個介面可以映射多個不同的MAC地址;
- 同一資料幀的重復拷貝;
- 以上3個條件最終導致設備作業過載,導致重啟保護,
stp主要分為6類:802.1D,PVST,PVST+,RSTP(CISCO),RSTP(802.1W),MSTP(802.1S).
這6類的關系如下:

下面來詳細的介紹一下這幾個stp,首先說說802.1D.
802.1D在交換機間使用BPDU—橋協議資料單元 – 交換機間溝通互動收發的資料配置BPDU—只有根網橋可以發送,在交換網路初始狀態時,所有交換機均定義本地為根網橋,進行BPDU的發送;使得網路中所有交換機均收到其他設備的BPDU,之后基于資料中的引數進行比對,選舉出根網橋;再所有非根網橋不再發送BPDU,而是僅接收和轉發根網橋的BPDU,周期2s發送,hold time 20s,本地交換機鏈路故障后,STP重新收斂,為了快速重繪全網所有交換機的MAC表,將向本地所有STP介面發送TCN(標記位中的TCN位置1),鄰居交換機收到TCN后,先標記為ACK位為回復,用于可靠傳輸訊息;之后將TCN逐級轉發到根網橋處,由根網橋回復TC訊息來逐級回復到所有交換機;使所有交換機臨時將MAC表的老換時間修改為15s(默認的,轉發延時),所以,在一個生成樹中,最主要的就是進行選舉,
1.根網橋的的選舉(在一棵生成樹實體中,有且僅有一臺交換機為root):
BPDU中的 橋ID(網橋優先級,默認32768 + MAC地址)來決定, 先比較優先級,會選舉優先級小的; 若優先級相同,比較mac,選舉mac值小的,
2.根埠的選舉(在每臺非根網橋上,有且僅有一個介面):
(1)比較從根網橋發出后,通過該介面進入時的cost值,選舉cost值小的;
(2)若cost值相同,則比較該介面對端設備的BID,選舉BID小的;
(3)若cost值相同,該介面對端設備的BID也相同,則比較該介面對端設備的介面的PID(埠號),選舉PID小的;
(4)若前面三者都相同,則比較本地PID,還是選舉PID小的,
3.指定埠的選舉(在每一段存在STP的物理鏈路上,有且僅有一個,默認根網橋上所有介面為指定埠):
(1)比較從根網橋發出后,通過該介面進入這段鏈路時的cost值,選舉cost值小的;
(2)若cost值相同,則比較該介面本地設備的BID,選舉BID小的;
(3)若本地BID相同,則比較本地的PID,還是選舉小的;
(4)若本地PID也相同,直接阻塞該埠,
4.非指定埠(阻塞埠)的選舉:
當以上所有角色全部選舉完成后,剩余沒有任何角色的介面為非指定,
該介面邏輯阻塞,實際可以接收到資訊,但不轉發,
那么stp為什么要改進呢,它的缺點是收斂慢,那么它是怎么收斂的呢?
首先進行偵聽:強制15s,(所有交換機進行BPDU收發,選舉所有角色;介面角色為非指定埠直接進入阻塞狀態,若為指定埠和根埠進入下一狀態);
然后學習:強制15s,(指定埠和根埠學習所有介面連接設備的MAC地址,生成MAC表;之后進入下一狀態);
最后才轉發,邏輯阻塞,
所以收斂時間=偵聽時間+學習時間=30s,
PVST 是cisco的技術,他將一個vlan劃為一個生成樹,然后每個樹的作業原理同802.1d一致,這樣的話就利用了備用線路,不存在阻塞埠了,提高了鏈路利用率,僅支持 trunk干道封裝為ISL,但是還是沒有解決收斂慢的難題,
PVST+ Cisco在Pvst的基礎上,想要解決收斂時間的問題,進行了升級,它兼容802.1q的trunk封裝,啟用了埠加速,上行鏈路加速,骨干加速的技術,大大減少了收斂的時間,但是還是沒有徹底解決,
埠加速:接入層連接用戶的介面,可以直接省去30s的收斂時間;
上行鏈路加速:針對直連檢測(本地存在阻塞埠,若其他埠斷開,該阻塞埠馬上進入15是偵聽,結果若為啟用,那么將再進入15s學習—總30s
),可以省去30s的收斂時間;
骨干加速:針對次優BPDU,當我們有倆個valn的時候,要選舉一個主root和一個次root作為備用,這個時候次優BPDU就可以直接省去30s的收斂時間了,直接選舉成功,
4.RSTP又稱快速生成樹,分為Cisco的和公有的(802.1w)倆種,他們的原理都是一樣的:
1、取消了計時器,而是在一個狀態作業完成后,直接進入下一狀態;
2、分段式同步,兩臺設備間逐級收斂;使用請求和同意標記;依賴標記位的第1和第6位;
3、BPDU的保活為6s,hello time 2s;
4、將埠加速(邊緣介面)、上行鏈路加速、骨干加速集成了;
5、兼容802.1d和PVST,但802.1d和PVST沒有使用標記位中的第1-6位,故不能快速收斂;因此如果網路中有一臺設備不支持快速收斂,那么其他開啟快速收斂的設備也不能快速,當tcn訊息出現時,不需要等待根網橋的BPDU,就可以重繪本地的cam表,雖然,RSTP解決了收斂時間的問題,但是還是沒有解決一個vlan一顆樹的問題,當vlan特別多的時候,那豈不是要很多樹,這就造成了很多不必要的結果,
5.MSTP則是繼承了快速生成樹的基礎,徹底解決了一個valn一顆樹的難題,將多個vlan放置于一個組內,基于每個組一棵生成樹,不同組間的BPDU中優先級= 4096倍數+組號,其實就是多個RSTP的結合,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/249886.html
標籤:其他
下一篇:CRMEB v4二開檔案
