目錄

簡介

必要條件

需求

採用元件

背景資訊

拓撲

MST交換機上的基本配置

SW2、SW3和SW4上的MST配置

PVST模擬

案例 1:CIST的根網橋位於PVST+域中

案例 2:CIST的根網橋位於MST區域

摘要

簡介

本檔案介紹在多台跨距樹狀目錄(MST)交換器上執行每個VLAN跨距樹狀目錄(PVST)模擬的用途和功能。它還解決了避免PVST模擬不一致必須遵循的基本規則以及導致這些不一致的原因。

必要條件

需求

思科建議您瞭解MST概念的基本知識，例如通用和內部生成樹(CIST)和邊界埠。

採用元件

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

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

背景資訊

通常MST區域連線到其他域 — 每個VLAN生成樹Plus(PVST+)或快速PVST+區域。執行PVST+（或快速）的這些交換器無法處理MST型別橋接通訊協定資料單元(BPDU)。 因此，必須運行向後相容機制，以便這兩個域可以無縫地相互互動。這就是PVST模擬解決和達到的目標。

此模擬必須僅在邊界埠上運行，這些埠是直接連線到PVST+域交換機的埠。執行MST的交換器連線埠上收到共用跨距樹狀目錄通訊協定(SSTP)BPDU會觸發PVST模擬機制。

拓撲

MST交換機上的基本配置

在此拓撲中，交換機1(SW1)運行PVST+，而交換機SW2、SW3和SW4運行MST，並且都位於同一區域。

SW2、SW3和SW4上的MST配置

SW2#show spanning-tree mst configuration

Name      [TEST]

Revision  1     Instances configured 2

Instance  Vlans mapped

--------  -----------------------------------------------

0         1

1         2-4094

---------------------------------------------------------

SW3#show spanning-tree mst configuration

Name      [TEST]

Revision  1     Instances configured 2

Instance  Vlans mapped

--------  --------------------------------------------------

0         1

1         2-4094

------------------------------------------------------------

SW4#show spanning-tree mst configuration

Name      [TEST]

Revision  1     Instances configured 2

Instance  Vlans mapped

--------  --------------------------------------------------

0         1

1         2-4094

------------------------------------------------------------

PVST模擬

對於這樣的拓撲（MST和非MST區域的混合），CIST的根網橋位於以下兩個位置之一：

- 在MST區域內

- 在非MST區域內。

PVST模擬通過兩個關鍵規則無縫運行：

- 如果CIST的根網橋在非MST區域內，則該域內VLAN 2及以上成員的生成樹優先順序必須優於（小於）VLAN 1。

- 如果CIST的根網橋位於MST區域內，則在非MST域中定義的VLAN 2及以上版本的生成樹優先順序必須比CIST根的生成樹優先順序更差（更大）。

如果不遵守這兩個規則，則會遇到PVST模擬失敗。這兩個規則在某種程度上與根防護功能相同，實際上是從根防護功能派生出來的。

下一節將逐個檢查規則（方案），以解釋PVST模擬的工作原理。

案例 1:CIST的根網橋位於PVST+域中

在此案例中，SW1是根。以下是它的組態：

spanning-tree vlan 1 priority 8192

spanning-tree vlan 2-4094 priority 4096

SW2具有以下配置：

spanning-tree mst 0 priority 12288

spanning-tree mst 1 priority 0

SW3具有以下配置：

spanning-tree mst 0 priority 16384

SW4具有以下配置：

spanning-tree mst 0 priority 16384

SW1沒有聽到可以理解的任何BPDU，因此它選擇自己作為所有VLAN的根，並開始向MST區域交換機傳送BPDU。當SW2在Fa0/1上收到SSTP BPDU時，它知道該介面已連線到PVST+域。隨後會設定標誌，以便在此介面上啟用PVST模擬。

要瞭解的一個關鍵概念是，只有電氣和電子工程師協會(IEEE)針對VLAN 1的BPDU才會處理根網橋選舉。這僅與來自MST區域的例項0資訊進行比較。沒有使用其他例項資訊來選擇CIST的根網橋。PVST+域（VLAN 1除外）中沒有其他VLAN資訊用於選擇CIST根網橋。

這裡出現的是其他BPDU發生什麼的問題。SW1允許這些VLAN通過到SW2的TRUNK鏈路傳輸：

SW1#show interfaces fa0/1 trunk

Port        Mode             Encapsulation  Status        Native vlan

Fa0/1       on               802.1q         trunking      1

Port        Vlans allowed on trunk

Fa0/1       1-4094

Port        Vlans allowed and active in management domain

Fa0/1       1-2,10,17,29,34,38,45,56,67,89,100,200,300,333,500,666,999

Port        Vlans in spanning tree forwarding state and not pruned

Fa0/1       1-2,10,17,29,34,38,45,56,67,89,100,200,300,333,500,666,999

SW1為每個VLAN生成一個BPDU，並將其傳送到SW2。這些BPDU僅用於一致性檢查，作為PVST模擬的一部分。但是，它們的資訊不會複製到任何位置。

SW1#show spanning-tree vlan 1

VLAN0001

Spanning tree enabled protocol ieee

Root ID    Priority    8193

Address     0022.0dba.9d00

This bridge is the root

Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Bridge ID  Priority    8193   (priority 8192 sys-id-ext 1)

Address     0022.0dba.9d00

Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Aging Time 300

Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Fa0/1               Desg FWD 19        128.3    P2p

Fa0/4               Desg FWD 19        128.6    P2p

SW2#show spanning-tree mst 0

##### MST0    vlans mapped:   1

Bridge        address 0022.916d.5380  priority      12288 (12288 sysid 0)

Root          address 0022.0dba.9d00  priority      8193  (8192 sysid 1)

port    Fa0/1           path cost     200000

Regional Root this switch

Operational   hello time 2 , forward delay 15, max age 20, txholdcount 6

Configured    hello time 2 , forward delay 15, max age 20, max hops    20

Interface        Role Sts Cost      Prio.Nbr Type

---------------- ---- --- --------- -------- --------------------------------

Fa0/1            Root FWD 200000    128.3    P2p Bound(PVST)

Fa0/4            Desg FWD 200000    128.6    P2p

Fa0/7            Desg FWD 200000    128.9    P2p

這些輸出顯示，SW2的Fa0/1被選為根埠。如前所述，SW1會為中繼鏈路上允許的每個VLAN傳送一個BPDU。這在SW1上的調試中得到了確認：

STP: VLAN0001 Fa0/1 tx BPDU: config protocol=ieee

Data &colon; 0000 00 00 00 200100220DBA9D00 00000000 200100220DBA9D00 8003

0000 1400

STP: VLAN0010 Fa0/1 tx BPDU: config protocol=ieee

Data &colon; 0000 00 00 00 100A00220DBA9D00 00000000 100A00220DBA9D00 8003

0000 1400 0200 0F00

STP: VLAN0017 Fa0/1 tx BPDU: config protocol=ieee

Data &colon; 0000 00 00 00 101100220DBA9D00 00000000 101100220DBA9D00 8003

0000 1400 0200 0F00

*snip*

當這些BPDU到達SW2時，會處理VLAN 1 BPDU，這反映在輸出中。然後，其他BPDU會通過PVST模擬基於根防護的一致性檢查。

在此設定中，一致性檢查通過，並且沒有PVST模擬故障。為了生成故障，請將SW1上VLAN 2的優先順序提高到大於8192。

SW1#conf t

SW1(config)#spanning-tree vlan 2 priority 12288

此消息顯示在SW2上：

%SPANTREE-2-PVSTSIM_FAIL: Blocking root port Fa0/1: Inconsitent inferior PVST

BPDU received on VLAN 2, claiming root 12290:0022.0dba.9d00

以下是SW2的Fa0/1上儲存為根網橋資訊的內容：

SW2#show spanning-tree interface fa0/1 detail

Port 3 (FastEthernet0/1) of MST0 is broken  (PVST Sim. Inconsistent)

Port path cost 200000, Port priority 128, Port Identifier 128.3.

Designated root has priority 8193, address 0022.0dba.9d00

Designated bridge has priority 8193, address 0022.0dba.9d00

Designated port id is 128.3, designated path cost 0

Timers: message age 4, forward delay 0, hold 0

Number of transitions to forwarding state: 1

Link type is point-to-point by default, Boundary PVST

BPDU: sent 100, received 4189

來自SW1的資訊是12290:0022.0dba.9d00，這與8193.0022.0dba.9d00比較。由於埠是根埠，並且它收到下級BPDU，因此它進入PVST模擬故障狀態並顯示之前看到的錯誤消息。這是因為邊界埠不能同時處於兩種不同的狀態 — 接收下級BPDU表示埠應移動到指定狀態，而通過VLAN 1的資訊表示埠應保持根埠。使用PVST模擬可防止這種混淆。埠也移動到PVST模擬不一致狀態。

SW2#show spanning-tree

MST0

Spanning tree enabled protocol mstp

Root ID    Priority    8193

Address     0022.0dba.9d00

Cost        200000

Port        3 (FastEthernet0/1)

Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Bridge ID  Priority    12288  (priority 12288 sys-id-ext 0)

Address     0022.916d.5380

Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Fa0/1               Root BKN*200000    128.3    P2p Bound(PVST) *PVST_Inc

Fa0/4               Desg FWD 200000    128.6    P2p

Fa0/7               Desg FWD 200000    128.9    P2p

案例 2:CIST的根網橋位於MST區域

這種情形顛倒了前一方案的角色。CIST的根網橋現在位於MST區域。SW2是根網橋。

SW2#show spanning-tree mst 0

##### MST0    vlans mapped:   1

Bridge        address 0022.916d.5380  priority      12288 (12288 sysid 0)

Root          this switch for the CIST

Operational   hello time 2 , forward delay 15, max age 20, txholdcount 6

Configured    hello time 2 , forward delay 15, max age 20, max hops    20<

Interface        Role Sts Cost      Prio.Nbr Type

---------------- ---- --- --------- -------- --------------------------------

Fa0/1            Desg FWD 200000    128.3    P2p Bound(PVST)

Fa0/4            Desg FWD 200000    128.6    P2p

a0/7            Desg FWD 200000    128.9    P2p

Fa0/1仍是邊界埠，PVST模擬在此介面上運行。現在這又扮演了一個非常重要的角色。PVST+域要求每個VLAN一個BPDU，但MST不這樣做。PVST模擬採用例項0的網橋資訊（優先順序+ MAC地址），它使用這個資訊為介面上允許的每個VLAN建立一個BPDU。它只是使用適當的VLAN ID標籤每個BPDU。

這可透過SW1上的偵錯驗證：

STP: VLAN0001 rx BPDU: config protocol = ieee, packet from FastEthernet0/1  ,

linktype IEEE_SPANNING , enctype 2, encsize 17

STP: enc 01 80 C2 00 00 00 00 22 91 6D 53 83 00 26 42 42 03

STP: Data     000000000030000022916D53800000000030000022916D538080030000140002

000F00

STP: VLAN0001 Fa0/1:0000 00 00 00 30000022916D5380 00000000 30000022916D5380

8003 0

STP: VLAN0002 rx BPDU: config protocol = ieee, packet from FastEthernet0/1  ,

linktype SSTP , enctype 3, encsize 22STP: enc 01 00 0C CC CC CD 00 22 91 6D 53

83 00 32 AA AA 03 00 00 0C 01 0B

STP: Data     000000000030000022916D53800000000030000022916D538080030000140002

000F00

STP: VLAN0002 Fa0/1:0000 00 00 00 30000022916D5380 00000000 30000022 916D5380

8003 0000 1400 0200 0F00

STP: VLAN0010 rx BPDU: config protocol = ieee, packet from FastEthernet0/1  ,

linktype SSTP , enctype 3, encsize 22

STP: enc 01 00 0C CC CC CD 00 22 91 6D 53 83 00 32 AA AA 03 00 00 0C 01 0B

STP: Data     000000000030000022916D53800000000030000022916D538080030000140002

000F00

STP: VLAN0010 Fa0/1:0000 00 00 00 30000022916D5380 00 000000 30000022916D5380

8003 0000 1400 0200 0F00

為了產生此故障的狀況，請將SW1上VLAN 2的優先順序變更為低於12,288的值。

SW1#conf t

SW1(config)#spanning-tree vlan 2 priority 8192

SW2上的輸出如下：

%SPANTREE-2-PVSTSIM_FAIL: Blocking designated port Fa0/1: Inconsitent superior PVST

BPDU received on VLAN 2, claiming root 8194:0022.0dba.9d00

來自SW1的資訊是8192:0022.0dba.9d00，這與12288:0022.916d.5380比較。由於埠是指定埠，並且它收到一個上級的BPDU，因此它會進入PVST模擬故障狀態並顯示前面的錯誤消息。埠也移動到PVST模擬不一致狀態。

SW2#show spanning-tree mst 0

##### MST0    vlans mapped:   1

Bridge        address 0022.916d.5380  priority      12288 (12288 sysid 0)

Root          this switch for the CIST

Operational   hello time 2 , forward delay 15, max age 20, txholdcount 6

Configured    hello time 2 , forward delay 15, max age 20, max hops    20

Interface        Role Sts Cost      Prio.Nbr Type

---------------- ---- --- --------- -------- --------------------------------

Fa0/1            Desg BKN*200000    128.3    P2p Bound(PVST) *PVST_Inc

Fa0/4            Desg FWD 200000    128.6    P2p

Fa0/7            Desg FWD 200000    128.9    P2p

摘要

PVST模擬在邊界埠上運行，有兩種工作方式：

- 如果MST區域具有CIST的根網橋，則需要PVST模擬來複製例項0資訊，並為允許通過中繼的每個VLAN建立一個BPDU，並使用適當的VLAN資訊對其進行標籤。

- 如果CIST的根網橋位於MST區域之外，則僅需要PVST模擬來處理VLAN 1資訊。其他BPDU（VLAN 2和更高版本）用於一致性檢查，來自這些VLAN的資訊永遠不會復製為根網橋資訊。

要使PVST模擬工作無故障，必須滿足以下兩個條件：

- 如果CIST的根網橋在非MST區域內，則該域內VLAN 2及以上成員的生成樹優先順序必須優於（小於）VLAN 1。

- 如果CIST的根網橋位於MST區域內，則在非MST域中定義的VLAN 2及以上版本的生成樹優先順序必須比CIST根的生成樹優先順序更差（更大）。

如果不滿足這些條件，則邊界埠將進入PVST模擬不一致狀態，直到問題得到糾正。