tft每日頭條

 > 生活

 > 生成樹協議的常見版本

生成樹協議的常見版本

生活 更新时间:2025-08-21 14:42:08

生成樹協議的常見版本?RSTP在STP基礎上進行了改進,實現了網絡拓撲快速收斂但RSTP和STP還存在同一個缺陷:由于局域網内所有的VLAN共享一棵生成樹,因此被阻塞後鍊路将不承載任何流量,無法在VLAN間實現數據流量的負載均衡,從而造成帶寬浪費,今天小編就來聊一聊關于生成樹協議的常見版本?接下來我們就一起去研究一下吧!

生成樹協議的常見版本(多生成樹協議MSTP)1

生成樹協議的常見版本

RSTP在STP基礎上進行了改進,實現了網絡拓撲快速收斂。但RSTP和STP還存在同一個缺陷:由于局域網内所有的VLAN共享一棵生成樹,因此被阻塞後鍊路将不承載任何流量,無法在VLAN間實現數據流量的負載均衡,從而造成帶寬浪費。

為了彌補STP和RSTP的缺陷,IEEE于2002年發布的802.1s标準定義了MSTP。MSTP兼容STP和RSTP,既可以快速收斂,又提供了數據轉發的多個冗餘路徑,在數據轉發過程中實現VLAN數據的負載均衡。

STP/RSTP的缺陷

部分VLAN路徑不通

如下圖所示,網絡中有SWA、SWB、SWC三台交換機。配置VLAN2通過兩條上行鍊路,配置VLAN3隻通過一條上行鍊路。

為了解決VLAN2的環路問題,需要運行生成樹。設備運行STP/RSTP後,SWC與SWB相連的端口成為預備端口(Discarding狀态),那麼VLAN3的路徑就會被斷開,無法上行到SWB。

無法實現流量分擔

如下圖所示,為了實現流量分擔,需要配置兩條上行鍊路為Trunk鍊路,允許通過所有VLAN;SWA和SWB之間的鍊路也配置為Trunk鍊路,允許通過所有VLAN。将VLAN2的三層接口配置在SWA上,将VLAN3的三層接口配置在SWB上,希望VLAN2和VLAN3分别使用不同的鍊路上行到相應的三層接口。

但是設備運行STP/RSTP後,SWC與SWB相連的端口成為預備端口(Alternate Port)并處于Discarding狀态,則VLAN2和VLAN3的數據都隻能通過一條上行鍊路上行到SWA,無法實現流量分擔。

次優二層路徑

如下圖所示,SWC與SWA和SWB相連的鍊路配置為Trunk鍊路,允許通過所有VLAN;SWA與SWB之間的鍊路也配置為Trunk鍊路,允許通過所有VLAN。

設備運行STP/RSTP後,環路被斷開,VLAN2和VLAN3都直接上行到SWA。在SWA上配置VLAN2的三層接口,在SWB上配置VLAN3的三層接口,那麼,VLAN3到達三層接口的路徑就是次優的。

MSTP對STP和RSTP的改進

MST域内可以生成多棵生成樹,每棵生成樹都稱為一個MSTI。MSTI之間彼此獨立,且每個MSTI的計算過程基本與RSTP的計算過程相同。

MSTP兼容STP和RSTP,既可以快速收斂,又提供了數據轉發的各個冗餘路徑,在數據轉發過程中實現VLAN數據的負載均衡。

MST配置表

為了在交換機上标識VLAN和MST Instance的映射關系,交換機維護一個MST配置表(MST Configuration Table)。

  • MST配置表的結構是4096個連續的兩字節元素組,代表4096個VLAN,第一個元素和最後一個元素設置為全0;第二個元素表示VLAN 1映射到的MST Instance的MSTID,第三個元素表示VLAN 2映射到的MST Instance的MSTID,依此類推,倒數第二個元素(第4095個元素)表示VLAN 4094映射到的MST Instance的MSTID。

  • VRP平台支持16個MST Instance,MSTID取值範圍是0~15。交換機初始化時,此表格所有字段設置為全0,表示所有VLAN映射到Instance 0。

    由MST配置表可見,一個MSTI可以與一個或多個VLAN對應,但一個VLAN隻能與一個MSTI對應。

    MST區域

    MST域是多生成樹域(Multiple Spanning Tree Region),由交換網絡中的多台交換設備以及它們之間的網段所構成。同一個MST域的設備具有下列特點:

  • 都啟動了MSTP。

  • 具有相同的域名。

  • 具有相同的VLAN到生成樹實例映射配置。

  • 具有相同的MSTP修訂級别配置。

    一個局域網可以存在多個MST域,各MST域之間在物理上直接或間接相連。用戶可以通過MSTP配置命令把多台交換設備劃分在同一個MST域内。

  • 一個MST域内可以生成多棵生成樹,每棵生成樹都稱為一個MSTI,每個MSTI都使用單獨的RSTP算法,計算單獨的生成樹。

  • 除了Instance 0之外,每個區域的MST Instance都獨立計算生成樹,不管是否包含相同的VLAN,不管VLAN是否通過區域間鍊路,區域間的生成樹計算互不影響。

    MST配置标識

    MST配置标識被封裝在交換機相互發送的BPDU中,交換機通過MST配置标識(MST Configuration Identifier)來标識自己所在的區域。

    如上圖所示,MST配置标識的數據結構包括四部分,隻有四部分設置都相同的相鄰交換機才被認為是在同一個區域中。

  • Configuration Identifier Format Selector:配置标識格式選擇符,長度為一個字節,固定設置為0。

  • Configuration Name:配置名稱,也就是交換機的MST域名,長度為32字節。每個交換機都配置一個MST域名,默認為交換機的MAC地址。‍

  • Configuration Digest:配置摘要,長度為16字節。相同區域的交換機應當維護相同的VLAN到MST Instance的映射表,可是MST配置表太大(8192字節),不适合在交換機之間相互發送。此字段是使用MD5算法從MST配置表中算出的摘要信息。

  • Revision Level:修訂級别,長度為兩個字節,默認取值為全0。由于Configuration Digest是MST配置表的摘要信息,因此有很小的可能會出現MST配置表不同但摘要信息卻相同的情況,這會導緻本來不在同一區域的交換機被認為在同一區域中,此字段是一個額外的标識字段,建議不同的區域使用不同的數值,以消除上述可能産生錯誤的情況。

    MSTI的計算

    在MST域内,MSTP根據VLAN和生成樹實例的映射關系,針對不同的VLAN生成不同的生成樹實例。每棵生成樹獨立進行計算,計算過程與STP計算生成樹的過程類似,可參見STP介紹文中拓撲計算選舉部分。。

    MSTI具有以下的特點:

  • 每個MSTI獨立計算自己的生成樹,互不幹擾。

  • 每個MSTI的生成樹計算方法與STP基本相同。

  • 每個MSTI的生成樹可以有不同的根,不同的拓撲。

  • 每個MSTI在自己的生成樹内發送BPDU。

  • 每個端口在不同MSTI上的生成樹參數可以不同。

  • 每個端口在不同MSTI上的角色、狀态可以不同。

    MSTP對拓撲變化的處理

    MSTP拓撲變化處理與RSTP拓撲變化處理過程類似,可參見RSTP文中拓撲變化處理部分。

    配置MSTP功能示例

    如下圖所示,SwitchA、SwitchB、SwitchC和SwitchD都運行MSTP。實現VLAN2~VLAN10和VLAN11~VLAN20的流量負載分擔,MSTP引入了多實例。MSTP可設置VLAN映射表,把VLAN和生成樹實例相關聯。

    配置思路

    1. 配置MSTP基本功能

    2. 與PC相連的端口不用參與MSTP計算,将其設置為邊緣端口。

    3. 配置保護功能,實現對設備或鍊路的保護。例如:在各實例的根橋設備指定端口配置根保護功能。

    4. 配置設備的二層轉發功能。

    操作步驟

    1.配置MSTP基本功能

    a. 配置SwitchA、SwitchB、SwitchC和SwitchD到域名為RG1的域内,創建實例MSTI1和實例MSTI2

    # 配置SwitchA的MST域。

    [SwitchA] stp region-configuration

    [SwitchA-mst-region] region-name RG1

    [SwitchA-mst-region] instance 1 vlan 2 to 10

    [SwitchA-mst-region] instance 2 vlan 11 to 20

    [SwitchA-mst-region] active region-configuration

    [SwitchA-mst-region] quit

    # 配置SwitchB的MST域。

    [SwitchB] stp region-configuration

    [SwitchB-mst-region] region-name RG1

    [SwitchB-mst-region] instance 1 vlan 2 to 10

    [SwitchB-mst-region] instance 2 vlan 11 to 20

    [SwitchB-mst-region] active region-configuration

    [SwitchB-mst-region] quit

    # 配置SwitchC的MST域。

    [SwitchC] stp region-configuration

    [SwitchC-mst-region] region-name RG1

    [SwitchC-mst-region] instance 1 vlan 2 to 10

    [SwitchC-mst-region] instance 2 vlan 11 to 20

    [SwitchC-mst-region] active region-configuration

    [SwitchC-mst-region] quit

    # 配置SwitchD的MST域。

    [SwitchD] stp region-configuration

    [SwitchD-mst-region] region-name RG1

    [SwitchD-mst-region] instance 1 vlan 2 to 10

    [SwitchD-mst-region] instance 2 vlan 11 to 20

    [SwitchD-mst-region] active region-configuration

    [SwitchD-mst-region] quit

    說明

    當需要兩台交換設備屬于同一個MST域時,需保證以下信息配置相同:

    1. MST域的域名配置相同。

    2. 多生成樹實例和VLAN的映射關系配置相同。

    3. MST域的修訂級别配置相同。

    b. 在域RG1内,配置MSTI1與MSTI2的根橋與備份根橋

    # 配置SwitchA為MSTI1的根橋、MSTI2的備份根橋。

    [SwitchA] stp instance 1 root primary

    [SwitchA] stp instance 2 root secondary

    # 配置SwitchB為MSTI1的備份根橋、MSTI2的根橋。

    [SwitchB] stp instance 1 root secondary

    [SwitchB] stp instance 2 root primary

    c. 使能MSTP,實現破除環路

    # 在SwitchA上啟動MSTP。

    [SwitchA] stp enable

    # 在SwitchB上啟動MSTP。

    [SwitchB] stp enable

    # 在SwitchC上啟動MSTP。

    [SwitchC] stp enable

    # 在SwitchD上啟動MSTP。

    [SwitchD] stp enable

    2.将與終端相連的端口設置為邊緣端口

    # 配置SwitchC端口GE1/0/1為邊緣端口。

    [SwitchC] interface gigabitethernet 1/0/1

    [SwitchC-GigabitEthernet1/0/1] stp edged-port enable

    [SwitchC-GigabitEthernet1/0/1] quit

    # 配置SwitchD端口GE1/0/1為邊緣端口。

    [SwitchD] interface gigabitethernet 1/0/1

    [SwitchD-GigabitEthernet1/0/1] stp edged-port enable

    [SwitchD-GigabitEthernet1/0/1] quit

    3.配置保護功能,如在各實例的根橋設備的指定端口配置根保護功能

    # 在SwitchA端口GE1/0/1上啟動根保護。

    [SwitchA] interface gigabitethernet 1/0/1

    [SwitchA-GigabitEthernet1/0/1] stp root-protection

    [SwitchA-GigabitEthernet1/0/1] quit

    # 在SwitchB端口GE1/0/1上啟動根保護。

    [SwitchB] interface gigabitethernet 1/0/1

    [SwitchB-GigabitEthernet1/0/1] stp root-protection

    [SwitchB-GigabitEthernet1/0/1] quit

    4.配置設備的二層轉發功能,配置過程略

    5.驗證配置結果

    在網絡計算穩定後,執行以下操作,驗證配置結果。

    # 在SwitchA上執行display stp brief命令,查看端口狀态和端口的保護類型,結果如下:

    # 在SwitchB上執行display stp brief命令,結果如下:

    # 在SwitchC上執行display stp interface brief命令,結果如下:

    # 在SwitchD上執行display stp interface brief命令,結果如下:

    說明:

    本配置舉例以實例1和實例2為例,因此不用關注實例0中端口的狀态。

    更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

    查看全部
  • 相关生活资讯推荐

    热门生活资讯推荐

    网友关注

    Copyright 2023-2025 - www.tftnews.com All Rights Reserved