本檔案介紹在多台跨距樹狀目錄(MST)交換器上執行每個VLAN跨距樹狀目錄(PVST)模擬的用途和功能。它還解決了避免PVST模擬不一致必須遵循的基本規則以及導致這些不一致的原因。
思科建議您瞭解MST概念的基本知識,例如通用和內部生成樹(CIST)和邊界埠。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
通常MST區域連線到其他域 — 每個VLAN生成樹Plus(PVST+)或快速PVST+區域。執行PVST+(或快速)的這些交換器無法處理MST型別橋接通訊協定資料單元(BPDU)。 因此,必須運行向後相容機制,以便這兩個域可以無縫地相互互動。這就是PVST模擬解決和達到的目標。
此模擬必須僅在邊界埠上運行,這些埠是直接連線到PVST+域交換機的埠。執行MST的交換器連線埠上收到共用跨距樹狀目錄通訊協定(SSTP)BPDU會觸發PVST模擬機制。
在此拓撲中,交換機1(SW1)運行PVST+,而交換機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
------------------------------------------------------------
對於這樣的拓撲(MST和非MST區域的混合),CIST的根網橋位於以下兩個位置之一:
PVST模擬通過兩個關鍵規則無縫運行:
如果不遵守這兩個規則,則會遇到PVST模擬失敗。這兩個規則在某種程度上與根防護功能相同,實際上是從根防護功能派生出來的。
下一節將逐個檢查規則(方案),以解釋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 : 0000 00 00 00 200100220DBA9D00 00000000 200100220DBA9D00 8003
0000 1400
STP: VLAN0010 Fa0/1 tx BPDU: config protocol=ieee
Data : 0000 00 00 00 100A00220DBA9D00 00000000 100A00220DBA9D00 8003
0000 1400 0200 0F00
STP: VLAN0017 Fa0/1 tx BPDU: config protocol=ieee
Data : 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
這種情形顛倒了前一方案的角色。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模擬在邊界埠上運行,有兩種工作方式:
要使PVST模擬工作無故障,必須滿足以下兩個條件:
如果不滿足這些條件,則邊界埠將進入PVST模擬不一致狀態,直到問題得到糾正。