1. 程式人生 > >淺談生成樹

淺談生成樹

  1. 企業內網結構

                 

生成樹協議—STP(802.1D)

  1. 樹根裝置到每臺裝置僅存在一條最佳路徑;
  2. 邏輯上阻塞部分介面;
  3. 當最佳路徑故障,阻塞介面就會開啟,恢復通訊。

交換機溝通使用資料幀——BPDU(橋協議資料單元),它是跨層到二層封裝。BPDU資料幀預設不存在任何一個vlan,故存在vlan的裝置上,該資料基於本徵vlan存在。

      

  2.1  3類BPDU

    

 

總結   1. 根網橋——配置BPDU——包含拓撲資訊

       2. 網路結構發生變化:A 非根網橋的阻塞埠斷開——TCN——不包含拓撲資訊,不會使網路重新收斂。                                                                                                                         

                          B 非根網橋的根埠斷開——次優BPDU(配置BPDU,不屬於根網橋的)

 2.2  802.1D演算法,角色選舉

    

 

 2.3  802.1D 埠狀態

埠狀態

介面指示燈

時間

工作過程

down

未亮

-

介面沒有工作

listen

橙色

15s

每臺交換機發送BPDU,進行選舉各種角色

block

橙色

-

非指定埠在偵聽完成後就進入

learn

橙色

15s

除了非指定介面,其他介面學習mac地址,生成cam表

forward

綠色

-

根埠,指定埠在學習狀態完成後,進行轉發資料。

 

2.4  802.1D 演算法的收斂時間

     

802.1D演算法的缺點:收斂速度慢;鏈路利用率低(正常情況下,備份鏈路始終不工作)

  1. PVST(CISCO私有)

PVST——基於vlan的生成樹——一個vlan一棵樹,每棵樹都是獨立的,依然使用802.1D演算法收斂。

不同vlan的網橋優先順序=網橋自身的優先順序+vlan id,網橋自身的優先順序,可以進行人為

地修改。

 

 切記:一臺裝置加入某棵vlan的樹,前提是該交換機存在該vlan;該交換機存在該vlan

的活動介面或者存在trunk幹道;

缺點:私有性,相容性差;樹多較難管理 ;收斂慢 ;trunk幹道僅支援ISL封裝。

  1. PVST+

      對PVST進行升級——相容了trunk幹道802.1q封裝技術;可以做部分的加速優化。

   4.1部分加速

型別

應用場景

工作過程

埠加速

連線pc的介面

跨過生成樹選舉,直接進入轉發狀態

上行鏈路加速

僅用於接入層裝置

若該裝置滿足直連檢測條件,那麼將阻塞埠直接變為根埠,進入轉發狀態。全域性配置模式下spanning-tree uplinkfast

 

骨幹加速

所有交換機

若一個阻塞埠收到次優BPDU時,將20s hold time+30s收斂,開啟骨幹

加速後;省略20s的hold time

   優點:提高鏈路利用率;支援trunk幹道dot1q技術;部分加速。

   缺點:樹多難管理;加速不徹底。

  1. RSTP/RPVST與802.1W

區別與聯絡

型別

RSTP/RPVST

802.1W

不同點

每個vlan有一個獨立的樹

所有vlan共用一個樹

相同點

快速收斂1-2s完成收斂,提速的   

原理一致

快速的原理:

  1. 取消了計時器,而是在一個狀態工作完成後,直接進入下一狀態;
  2. 分段式同步,兩臺裝置間逐級收斂;使用請求和同一標記;依賴標記位的第1和第6位
  3. BPDU的保活為6s;hello time 2s;

4、將埠加速(邊緣介面)、上行鏈路加速、骨幹加速集成了。

5、相容802.1d和PVST,但802.1d和PVST沒有使用標記位中的第1-6位,故不能快速收斂;因此如果網路中有一臺裝置不支援快速收斂,那麼其他開啟快速收斂的裝置也不能快速;

6、當tcn訊息出現時,不需要等待根網橋的BPDU,就可以重新整理本地的cam表;

 

狀態變化:將阻塞狀態和偵聽狀態合為丟棄狀態

角色變化:將非指定埠——替代介面; 阻塞埠——備份介面

啟動快速生成樹,所有交換機全部需啟動;

sw1(config)#spanning-tree mode rapid-pvst

切記:

預設介面為半雙工(10M)時,介面型別為共享;全雙工時為點到點;

共享型介面依然執行慢速生成;只有點到點介面可以快速

故建議將共享型介面修改為點到點型

sw1(config)#interface range ethernet 0/0 -1

sw1(config-if-range)#spanning-tree link-type point-to-point