이 문서에서는 MST(Multiple Spanning Tree) 스위치에서 PVST(Per VLAN Spanning Tree) 시뮬레이션의 목적과 기능에 대해 설명합니다.또한 PVST 평가 불일치를 피하기 위해 따라야 하는 기본 규칙과 이러한 불일치의 이유를 다룹니다.
CIST(Common and Internal Spanning Tree) 및 경계 포트와 같은 MST 개념에 대한 기본적인 지식을 보유한 것이 좋습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
MST 영역은 PVST+(Per VLAN Spanning Tree Plus) 또는 rapid-PVST+ 리전별로 다른 도메인에 연결되는 경우가 많습니다.PVST+(또는 빠른)를 실행하는 이러한 스위치는 MST 유형의 BPDU(Bridge Protocol Data Units)를 처리할 수 없습니다. 따라서 이러한 두 도메인이 서로 원활하게 상호 작용할 수 있도록 이전 버전과의 호환성 메커니즘이 실행되어야 합니다.이것이 PVST 시뮬레이션에서 다루는 내용입니다.
이 시뮬레이션은 경계 포트에서만 실행해야 합니다. PVST+ 도메인 스위치에 직접 연결된 포트입니다.MST를 실행하는 스위치 포트에서 SSTP(Shared Spanning Tree Protocol) 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 시뮬레이션을 활성화하기 위해 플래그를 설정합니다.
이해해야 할 중요한 개념은 VLAN 1용 IEEE(Institute of Electrical and Electronics Engineers) BPDU만 루트 브리지 선택을 위해 처리된다는 것입니다.이는 MST 영역의 인스턴스 0 정보만 비교합니다.다른 인스턴스 정보는 CIST의 루트 브리지를 선택하기 위해 사용되지 않습니다.CIST 루트 브리지를 선택하기 위해 VLAN 1이 아닌 PVST+ 도메인의 다른 VLAN 정보가 사용되지 않습니다.
여기서 다른 BPDU와 관련된 문제가 발생합니다.SW1은 SW2에 대한 트렁크 링크를 통해 이러한 VLAN을 허용합니다.
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에 대해 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가 1개씩 필요하지만 MST는 그렇게 하지 않습니다.PVST 시뮬레이션은 인스턴스 0(우선순위 + MAC 주소)의 브리지 정보를 사용하며, 이 정보를 사용하여 인터페이스 전체에서 허용되는 모든 VLAN에 대해 하나의 BPDU를 생성합니다.각 BPDU에 적절한 VLAN ID를 태그로 지정하기만 하면 됩니다.
이는 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 시뮬레이션의 불일치 상태로 전환됩니다.