目錄

簡介

必要條件

需求

採用元件

背景資訊

MST的使用位置

PVST+案例

標準802.1q案例

MST案例

MST區域

MST配置和MST區域

區域邊界

MST例項

IST例項

MSTI

常見配置錯誤

IST例項在所有埠（無論是中繼還是接入）上均處於活動狀態

對映到同一例項的兩個VLAN阻塞相同的埠

MST區域與外部世界的互動

建議的配置

備用配置（不推薦）

配置無效

遷移策略

結論

相關資訊

簡介

本檔案介紹多重生成樹通訊協定(802.1s)的功能和組態。

必要條件

需求

思科建議您瞭解以下主題：

- 熟悉快速STP(RSTP)(802.1w)

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

多生成樹(MST)是受Cisco專有多例項生成樹協定(MISTP)實施啟發而制定的IEEE標準。下表顯示各種Catalyst交換器對MST的支援：

Catalyst平台

含RSTP的MST

Catalyst 2900 XL和3500 XL

不可用

Catalyst 2950和3550

Cisco IOS® 12.1(9)EA1

Catalyst 2955

所有Cisco IOS版本

Catalyst 2948G-L3和4908G-L3

不可用

Catalyst 4000和4500(Cisco IOS)

12.1(12c)EW

Catalyst 5000和5500

不可用

Catalyst 6000和6500(Cisco IOS)

12.1(11b)EX、12.1(13)E、12.2(14)SX

Catalyst 8500

不可用

有關RSTP(802.1w)的詳細資訊，請參閱瞭解快速生成樹協定(802.1w)。

MST的使用位置

此圖顯示一種常見設計，其特徵是接入交換機A的1000個VLAN冗餘連線到兩台分佈交換機D1和D2。在此設定中，使用者連線到交換機A，網路管理員通常根據偶數或奇數VLAN或認為合適的任何其他方案，尋求在接入交換機上行鏈路上實現負載均衡。

具有1000 VLAN的接入交換機A冗餘連線到交換機D1和D2

以下各節是在此設定中使用不同型別STP的示例案例：

PVST+案例

在Cisco每VLAN生成樹(PVST+)環境中，對生成樹引數進行調整，以便每個上行鏈路中繼轉發一半的VLAN。為了輕鬆實現這一點，請選擇網橋D1作為VLAN 501至1000的根，網橋D2作為VLAN 1至500的根。以下陳述式適用於此組態：

- 在這種情況下，會產生最佳負載均衡。

- 每個VLAN維護一個生成樹例項，這意味著只為兩個不同的最終邏輯拓撲維護1000個例項。這會顯著浪費網路中所有交換機的CPU週期(除了每個例項傳送自己的網橋協定資料單元(BPDU)所用的頻寬之外)。

標準802.1q案例

原始IEEE 802.1q標準定義的遠不止是中繼。此標準定義了一個通用生成樹(CST)，它假定整個橋接網路只有一個生成樹例項，無論VLAN的數量如何。如果將CST應用於此下一圖的拓撲，則結果類似於如下所示的圖：

應用於網路的通用生成樹(CST)

在運行CST的網路中，以下陳述是正確的：

- 無法實現負載均衡；一個上行鏈路需要阻塞所有VLAN。

- CPU被省略；僅需計算一個例項。

註：思科實施增強了802.1q以支援一個PVST。此功能的行為與本例中的PVST完全相同。Cisco per-VLAN BPDU通過純802.1q網橋進行隧道傳輸。

MST案例

MST(IEEE 802.1s)結合了PVST+和802.1q的最佳方面。其思想是可以將多個VLAN對映到數量較少的生成樹例項，因為大多數網路只需要幾個邏輯拓撲。在第一個圖中所描述的拓撲中，只有兩個不同的最終邏輯拓撲，因此實際上只需要兩個生成樹例項。無需運行1000個例項。如果您將1000個VLAN中的一半對映到不同的生成樹例項（如圖所示），則以下陳述是正確的：

- 由於半數VLAN附著在一個單獨的例項上，因此仍可以實現所需的負載均衡方案。

- 由於只計算兩個例項，CPU被省略。

將1000個VLAN的一半對映到不同的生成樹例項

從技術角度來看，MST是最佳解決方案。從終端使用者的角度看，與遷移到MST相關的主要缺點是：

- 該協定比通常的生成樹更為複雜，需要工作人員進行額外的培訓。

- 與傳統網橋的互動可能是一項挑戰。有關詳細資訊，請參閱本文檔的MST區域和外部世界之間的互動部分。

MST區域

如前所述，MST引入的主要增強功能是可以將多個VLAN對映到單個生成樹例項。這會引發如何確定哪個VLAN與哪個例項相關聯的問題。更準確地說，如何標籤BPDU，以便接收裝置能夠識別每個裝置應用的例項和VLAN。

在802.1q標準中，所有例項都對映到唯一例項，因此問題不相關。在PVST+實現中，關聯如下：

- 不同的VLAN分別承載各自例項的BPDU（每個VLAN一個BPDU）。

為了解決此問題，Cisco MISTP為每個例項傳送了一個BPDU，其中包含BPDU負責的VLAN清單。如果由於錯誤，兩台交換機配置不正確，並且與同一例項關聯有不同的VLAN範圍，則協定很難從這種情況中正確恢復。

IEEE 802.1s委員會採用了一種更簡單、更簡單的方法來引入MST區域。將區域等同於邊界閘道通訊協定(BGP)自治系統（這是一組置於共同管理下的交換器）。

MST配置和MST區域

網路中運行MST的每個交換機都有一個MST配置，該配置由以下三個屬性組成：

1. 字母數字配置名稱（32位元組）

2. 配置修訂版號（兩個位元組）

3. 一個4096元素表，將機箱上支援的每個潛在4096 VLAN與給定例項相關聯

要成為通用MST區域的一部分，一組交換機必須共用相同的配置屬性。由網路管理員負責在整個區域內正確傳播配置。目前，只有透過指令行介面(CLI)或簡易網路管理通訊協定(SNMP)才能執行此步驟。也可以設想其他方法，因為IEEE規範沒有明確提及如何完成該步驟。

注意：如果由於任何原因，兩台交換機在一項或多項配置屬性上有所不同，則這些交換機屬於不同區域。有關詳細資訊，請參閱下一節「區域邊界」。

區域邊界

為了確保一致的VLAN到例項對映，協定必須能夠準確地識別區域的邊界。為此，BPDU中包含了該區域的特徵。BPDU中不會傳播確切的VLAN到例項對映，因為交換機只需要知道它們是否與鄰居位於同一區域。因此，僅會傳送VLAN到例項對映表的摘要，以及修訂版號和名稱。交換機收到BPDU後，會提取摘要（通過數學函式從VLAN到例項對映表派生的數值），並將此摘要與自己的計算摘要進行比較。如果摘要不同，則接收BPDU的連線埠位於區域邊界。

一般而言，如果埠網段上的指定網橋位於不同的區域，或者如果埠收到舊版802.1d BPDU，則該埠位於區域的邊界。在此圖中，B1上的連線埠位於區域A的邊界，而B2和B3上的連線埠位於區域B的內部：

MST例項

根據IEEE 802.1s規範，MST網橋必須至少能夠處理以下兩個例項：

- 一個內部跨距樹狀目錄(IST)

- 一個或多個多生成樹例項(MSTI)

由於802.1s實際上處於一個預標準階段，因此術語不斷演變。這些名稱很可能會在802.1s的最終版本中更改。思科實施支援16個例項：一個IST（例項0）和15個MSTI。

IST例項

為了清楚瞭解IST例項的作用，請記住MST源自IEEE。因此，MST必須能夠與基於802.1q的網路互動，因為802.1q是另一個IEEE標準。對於802.1q，橋接網路只實現單個生成樹(CST)。IST例項只是在MST區域內擴展CST的RSTP例項。

IST例項接收並向CST傳送BPDU。IST可以將整個MST區域表示為通向外部世界的CST虛擬網橋。

這是兩個功能等價的圖。注意不同阻塞埠的位置。在典型的橋接網路中，您預計交換機M和B之間會出現一個阻塞埠。您預計在MST區域中間的某個埠會中斷第二個環路，而不是在D上阻塞。但是，由於IST的原因，整個區域顯示為運行單個生成樹(CST)的一個虛擬網橋。這使您能夠瞭解虛擬網橋阻塞了B上的備用埠。此外，該虛擬網橋位於C到D網段上，它使交換機D阻塞其埠。

使區域顯示為虛擬CST網橋的確切機制超出本文檔的範圍，但IEEE 802.1s規範中有詳細說明。但是，如果您牢記MST區域的虛擬網橋屬性，則與外部世界的互動更容易理解。

MSTI

MSTI是僅存在於某個區域中的簡單RSTP例項。預設情況下，這些例項自動運行RSTP，無需任何額外配置工作。與IST不同，MSTI從不與地區外部互動。請記住，MST在區域之外只運行一個生成樹，因此除IST例項外，區域內部的常規例項沒有外部對應例項。此外，MSTI不會在區域之外傳送BPDU，只有IST會傳送。

MSTI不傳送獨立的單個BPDU。在MST區域內，網橋會交換MST BPDU，可以將其視為IST的正常RSTP BPDU，並且還包含每個MSTI的附加資訊。此圖顯示MST區域內交換機A和交換機B之間的BPDU交換。每台交換機只傳送一個BPDU，但每個埠上存在的每個MSTI都包含一個MRecord。

注意：在此圖中，請注意MST BPDU攜帶的第一個資訊欄位包含有關IST的資料。這表示IST（例項0）始終在MST區域內的任何位置都存在。但是，網路管理員不必將VLAN對映到例項0上，因此不必擔心。

與常規的融合生成樹拓撲不同，鏈路的兩端可以同時傳送和接收BPDU。這是因為如圖所示，可以將每個網橋指定給一個或多個例項，並且需要傳輸BPDU。一旦在埠上指定了單個MST例項，就會傳送包含所有例項(IST+ MSTI)資訊的BPDU。此處顯示的圖表演示了在MST區域內部和外部傳送的MST BDPU:

在MST區域內部和外部傳送的MST BDPU

MRecord包含足夠的資訊（大部分是根網橋和傳送方網橋優先順序引數），可供相應的例項計算其最終拓撲。MRecord不需要在常規IEEE 802.1d或802.1q CST BPDU中常見的任何與計時器相關的引數，如呼叫時間、轉發延遲和最大老化時間。MST區域中唯一使用這些引數的例項是IST;hello時間決定了BPDU的傳送頻率，轉發延遲引數主要在無法快速轉換時使用（請記住，快速轉換不會發生在共用鏈路上）。由於MSTI依賴IST傳輸其資訊，因此MSTI不需要這些計時器。

常見配置錯誤

例項和VLAN之間的獨立性是一個新概念，意味著您必須仔細規劃您的配置。「IST Instance is Active on All Ports， When Trunk or Access」部分說明了一些常見缺陷以及如何避免它們。

IST例項在所有埠（無論是中繼還是接入）上均處於活動狀態

此圖顯示交換器A和B與位於不同VLAN中的存取連線埠連線。VLAN 10和VLAN 20對映到不同的例項。VLAN 10對映到例項0，而VLAN 20對映到例項1。

此配置導致pcA無法向pcB傳送幀。show命令顯示交換器B封鎖到VLAN 10中交換器A的連結，如圖所示：

在如此簡單的拓撲中，如何實現這一點而沒有明顯的環路？

此問題的解釋是，無論內部例項的數量如何，MST資訊都只通過一個BPDU(IST BPDU)進行傳輸。單個例項不傳送單個BPDU。當交換機A和交換機B交換VLAN 20的STP資訊時，交換機將傳送帶有例項1的MRecord的IST BPDU，因為這是VLAN 20的對映位置。但是，因為這是IST BPDU，所以此BPDU還包含例項0的資訊。這表示IST例項在MST區域中的所有埠上處於活動狀態，無論這些埠是否承載對映到IST例項的VLAN。

此圖顯示IST例項的邏輯拓撲：

交換機B從交換機A（每個埠一個）接收兩個例項0的BPDU。顯然，交換機B必須阻塞其埠之一才能避免環路。

首選的解決方案是對VLAN 10使用一個例項，對VLAN 20使用另一個例項，以避免將VLAN對映到IST例項。

另一種方法是在所有鏈路上承載對映到IST的VLAN（如下一圖所示，在兩個埠上允許VLAN 10）。

對映到同一例項的兩個VLAN阻塞相同的埠

請記住，VLAN不再意味著生成樹例項。拓撲由例項確定，而不管對映到它的VLAN。此圖顯示一個問題，它是IST Instance is Active on All Ports(無論是Trunk還是Access)一節中討論的問題的一個變體：

拓撲由例項確定，無論對映到該拓撲的VLAN是什麼

假定VLAN 10和20都對映到同一個例項（例項1）。網路管理員想要手動修整一個上行鏈路上的VLAN 10和另一個上行鏈路上的VLAN 20，以便限制從交換器A到分佈層交換器D1和D2的上行鏈路主幹上的流量（嘗試實現上圖所述的拓撲）。完成此操作後不久，網路管理員發現VLAN 20中的使用者已失去與網路的連線。

這是一個典型的配置錯誤問題。VLAN 10和20都對映到例項1，這意味著兩個VLAN只有一個邏輯拓撲。無法實現負載共用，如下所示：

典型配置錯誤問題

由於手動修剪，VLAN 20只允許在阻塞的埠上使用，這可以解釋連線斷開的原因。為了實現負載平衡，網路管理員必須將VLAN 10和20對映到兩個不同的例項。

要避免此問題，只需遵循一條簡單規則，即永遠不要手動修剪TRUNK上的VLAN。如果您決定從中繼中刪除一些VLAN，請同時刪除對映到給定例項的所有VLAN。切勿從中繼中刪除單個VLAN，也不要刪除對映到同一例項的所有VLAN。

MST區域與外部世界的互動

遷移到MST網路後，管理員可能需要處理MST和傳統協定之間的互操作性問題。MST可與標準802.1q CST網路無縫運行；但是，由於存在單個生成樹限制，只有少數網路基於802.1q標準。在宣佈支援802.1q的同時，思科發佈了PVST+。Cisco還提供了MST和PVST+之間的高效而簡單的相容機制。稍後將對此機制進行說明。

MST區域的第一個屬性是，在邊界埠上不傳送MSTI BPDU，而只傳送IST BPDU。內部例項(MSTI)始終自動匹配邊界埠的IST拓撲，如下圖所示：

內部例項(MSTI)始終在邊界埠自動匹配IST拓撲

在此圖中，假設VLAN 10至50對映到綠色例項，而綠色例項僅是內部例項(MSTI)。紅色連結代表IST，因此也代表CST。VLAN 10到50在拓撲中隨處可用。綠色例項的BPDU不會從MST區域傳送出去。這並不意味著在VLAN 10到50中存在環路。MSTI在邊界埠跟蹤IST，交換機B上的邊界埠也會阻止綠色例項的流量。

運行MST的交換機能夠自動檢測邊界上的PVST+鄰居。這些交換機能夠檢測例項的中繼埠的不同VLAN上接收到多個BPDU。

此圖顯示了一個互通性問題。MST區域僅與該區域外部的一個生成樹(CST)互動。但是，PVST+網橋對每個VLAN運行一個生成樹演算法(STA)，因此，每兩秒在每個VLAN上傳送一個BPDU。邊界MST橋接器預計不會收到那麼多BPDU。MST網橋期望接收或傳送一個，這取決於網橋是否是CST的根。

MST橋接器預期接收或傳送一個

思科開發了解決此圖中所示問題的機制。一個可能性可能包括將PVST+網橋傳送的額外BPDU通過隧道穿越MST區域。但是，在MISTP中首次實施時，提供的解決方案過於複雜且可能具有危險性。人們發明了一種更簡單的方法。MST區域複製所有VLAN上的IST BPDU以模擬PVST+鄰居。此解決方案包含本文檔中討論的幾個限制。

建議的配置

由於MST區域現在在邊界的每個VLAN上複製IST BPDU，因此每個PVST+例項從IST根偵聽到一個BPDU（這意味著根位於MST區域內）。建議IST根的優先順序高於網路中的任何其他網橋，以便IST根成為所有不同PVST+例項的根，如下圖所示：

在此圖中，交換機C是一個冗餘連線到MST區域的PVST+。IST根是交換機C上存在的所有PVST+例項的根。因此，交換機C會阻塞其上行鏈路之一以防止環路。在此特定情況下，PVST+和MST區域之間的互動是最佳的，因為：

- 可以調整交換機C上行鏈路埠的成本，以實現上行鏈路埠上不同VLAN的負載均衡（因為交換機C每個VLAN運行一個生成樹，所以此交換機能夠選擇每個VLAN上的上行鏈路埠塊）。

- 可在交換機C上使用UplinkFast，以便在上行鏈路出現故障時實現快速收斂。

備用配置（不推薦）

另一種可能性是使IST區域成為絕對沒有PVST+例項的根。這表示所有PVST+例項都有比IST例項更好的根，如下圖所示：

所有PVST+例項都有比IST例項更好的根

此案例對應一個PVST+核心層和MST接入層或分佈層，這種情況並不常見。如果在區域之外建立根網橋，則與先前建議的配置相比，存在以下缺點：

- MST區域只運行一個與外部世界互動的生成樹例項。這基本上表示邊界連線埠只能封鎖或轉送所有VLAN。換句話說，通向交換機C的區域中的兩個上行鏈路之間無法實現負載均衡。對於該例項，交換機B上的上行鏈路可以阻塞所有VLAN，而交換機A可以轉發所有VLAN。

- 此配置仍允許快速收斂於區域內。如果交換機A上的上行鏈路發生故障，需要快速切換到另一台交換機上的上行鏈路。雖然IST在區域內行為以使整個MST區域類似於CST網橋的方式沒有詳細討論，但您可以想象跨區域的切換從未像單網橋上的切換那樣高效。

配置無效

雖然PVST+模擬機制在MST和PVST+之間提供了簡單無縫的互操作性，但此機制意味著除上述兩種配置以外的任何配置都是無效的。以下是成功進行MST和PVST+互動必須遵循的基本規則：

1. 如果MST網橋是根，則此網橋必須是所有VLAN的根。

2. 如果PVST+網橋是根，則此網橋必須是所有VLAN的根（包括CST，當CST運行PVST+時，CST始終在VLAN 1上運行，無論本地VLAN如何）。

3. 如果MST網橋是CST的根，而PVST+網橋是一個或多個其他VLAN的根，則模擬將失敗並生成錯誤消息。失敗的模擬會將邊界埠置於根不一致模式。

失敗的模擬將邊界埠置於根不一致模式

在此圖中，MST區域中的網橋A是所有三個PVST+例項的根，但一個PVST+例項除外（紅色VLAN）。網橋C是紅色VLAN的根。假設在紅色VLAN上建立的環路（網橋C是根）被網橋B阻塞。這表示網橋B已指定給除紅色的VLAN以外的所有VLAN。MST區域無法執行此操作。邊界埠只能阻塞或轉發所有VLAN，因為MST區域只運行一個與外部世界的生成樹。因此，當網橋B在其邊界埠上檢測到更好的BPDU時，網橋會呼叫BPDU防護來阻塞此埠。埠處於根不一致模式。完全相同的機制也導致網橋A阻塞其邊界埠。連線會丟失；但是，即使存在此類配置錯誤，無環拓撲也會保留。

註：一旦邊界埠產生根不一致錯誤，請檢查PVST+網橋是否嘗試成為某些VLAN的根。

遷移策略

遷移到802.1s/w的第一步是正確識別點對點和邊緣埠。確保需要快速轉換的所有交換機到交換機鏈路都是全雙工的。邊緣埠是通過PortFast功能定義的。仔細決定交換網路中需要多少例項，並牢記例項轉換為邏輯拓撲。決定要將哪些VLAN對映到這些例項，並為每個例項仔細選擇根和備份根。

選擇網路中的所有交換機可以共用的配置名稱和修訂版號。思科建議將儘可能多的交換機放置在單個區域中；將網路劃分為多個單獨的區域沒有任何好處。避免將任何VLAN對映到例項0。首先遷移核心。將STP型別更改為MST，然後向下轉到接入交換機。MST可以與按埠運行PVST+的傳統網橋互動，因此，如果可以清楚地瞭解互動，混合這兩種型別的網橋就不是問題。始終嘗試將CST和IST的根保留在區域內。如果通過中繼與PVST+網橋互動，請確保MST網橋是該中繼上允許的所有VLAN的根。

有關配置示例，請參閱：

- 將生成樹從PVST+遷移到MST的配置示例

- 從 PVST+ 到快速 PVST 的跨距樹狀目錄移轉的組態範例

結論

交換網路必須滿足嚴格的穩定性、恢復能力和高可用性要求。隨著IP語音(VoIP)和IP影片等新技術的出現，圍繞鏈路或元件故障的快速收斂不再是理想的特徵：必須實現快速收斂。但是，直到最近，冗餘交換網路不得不依賴相對緩慢的802.1d STP來實現這些目標。這經常成為挑戰網路管理員的任務。 離開協定幾秒的唯一方法是調整協定計時器，但常常會損害網路的健康狀況。Cisco發佈了許多802.1d STP增強功能，例如UplinkFast、BackboneFast和PortFast。這些功能為更快的生成樹收斂鋪平了道路。思科還回答了開發MISTP時大型第2層(L2)網路的可擴充性問題。IEEE最近決定將大多數這些概念納入兩個標準：802.1w(RSTP)和802.1s(MST)。通過實施這些新協定，您可以在數百毫秒內獲得收斂時間，同時擴展到數千個VLAN。思科始終是業界的領先者，提供這兩種協定以及專有增強功能，以促進傳統網橋的遷移以及與傳統網橋的互操作性。

相關資訊

- 瞭解快速跨距樹狀目錄通訊協定 (802.1w)

- LAN 交換技術支援

- 思科技術支援與下載