본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 MST가 PVST 또는 다른 영역과 함께 토폴로지에서 작동하는 방식을 이해하는 데 필요한 기본 개념에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Catalyst 9300.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 문서는 다음 하드웨어와 함께 사용할 수도 있습니다.
모든 Catalyst 9000 제품군
모든 종류의 문제 해결을 시작하고 적용하기 전에 다음 용어를 고려하십시오.
개념 |
설명 |
STP 인스턴스 |
인스턴스는 CPU에서 실행되는 하나의 세션입니다. PVST에서 하나의 VLAN은 의 인스턴스입니다. MST에서 인스턴스는 VLAN의 그룹입니다. 이 문서에서는 이 의미에 따라 인스턴스라는 용어를 사용합니다. |
IST |
IST(내부 스패닝 트리)는 인스턴스 0 또는 MSTI0이라고도 합니다. - 특별한 경우입니다. IST는 BPDU를 보내고 받는 유일한 스패닝 트리 인스턴스입니다. 다른 모든 스패닝 트리 인스턴스 정보는 MSTP BPDU 내에 캡슐화된 M 레코드에 포함되어 있습니다. MSTP BPDU는 모든 인스턴스에 대한 정보를 전달하기 때문입니다. 이 인스턴스에는 타이머 관련 매개 변수가 있습니다.MST가 다른 영역 및 스패닝 트리 버전과 통신할 때 IST 또는 MSTI0의 설정이 통신에 사용됩니다. |
MSTI |
MSTIs는 Multiple Spanning Tree Instances를 나타냅니다. 1~15 Cisco 구현에서는 16개의 인스턴스, 즉 IST(인스턴스 0) 1개와 MSTI 15개를 지원합니다. |
지역 |
MST를 실행하는 스위치 그룹입니다. 모두 동일한 MST 컨피그레이션을 갖습니다. |
CIST 및 CST |
- 공통 스패닝 트리는 MST 영역과 단일 스패닝 트리를 상호 연결한다. - 공통 스패닝 트리 및 내부 스패닝 트리는 각 MST 영역 및 공통 스패닝 트리의 IST 모음입니다. |
지역 루트 |
인스턴스 0을 제외한 영역의 각 인스턴스에 대한 선택 프로세스입니다. 필요한 경우 각 인스턴스에 대해 스패닝 트리 영역에서 다른 루트를 가질 수 있습니다. 이는 정상적인 스패닝 트리 선택을 수행하는 데 필요한 정보가 있는 IST BPDU의 정보로 간주되는 경우 수행됩니다. CIST 루트 브리지는 예비 표준 구현에서 IST 마스터라고 불렸습니다. CIST 루트 브리지가 지역에 있는 경우 지역 루트는 CIST 루트 브리지입니다. 그렇지 않으면 지역 루트가 지역의 CIST 루트에 가장 가까운 스위치입니다. 지역 루트는 IST의 루트 브리지 역할을 합니다. |
M 레코드 |
BPDU는 하나뿐이며 BPDU는 인스턴스 0을 통합하는 데 필요한 정보를 반영하므로 다른 인스턴스에 대한 루트를 형성하는 다른 메커니즘이 필요합니다. 이를 M-Record라고 합니다. 각 M-Record 내부에는 개별 인스턴스에 대한 모든 스패닝 트리 정보가 있습니다. |
논쟁 |
Dispute 메커니즘은 단방향 링크 탐지 메커니즘에 내장되어 있습니다. 이 기능은 802.1d의 원래 버전(RSTP가 실제로 2004년에 802.1d 표준에 통합됨) 또는 PVST에서는 사용할 수 없습니다. 분쟁 메커니즘은 지정된 상태를 가지며 학습 및 전달 상태에 있는 하위 BPDU를 수신할 때 트리거됩니다. |
제안/계약 |
이 제안 계약 메커니즘은 RSTP의 가장 중요한 변경 사항 중 하나입니다. 이것이 고속 스패닝 트리가 실제로 빠르게 할 수 있도록 하는 것입니다. 하위 스위치가 이 포트가 루트 브리지가 아니며 루트에 대한 최상의 경로를 가지고 있음을 인식하면 해당 포트는 더 이상 제안 비트가 설정되지 않으며 루트 상태 및 포워딩로 전환됩니다. |
공유 세그먼트 |
RSTP / MST는 하프 듀플렉스 링크를 "공유" 상태로 전환합니다. 이는 제안 계약 프로세스가 발생하지 않음을 의미합니다. 시퀀스가 P2P 링크를 빠르게 불러오도록 의도되므로, 순방향 상태로의 조기 전이가 루프를 야기할 수 있다. 이는 show commands for spanning tree에서 확인할 수 있습니다 인터페이스에서 spanning-tree link-type point-to-point를 입력하여 P2P 상태가 되도록 할 수 있습니다. 주의 깊게 사용하십시오. |
여러 지역 |
·MST 컨피그레이션이 일치하지 않을 경우 여러 지역이 결정됩니다. ·CIST는 MSTI0 BPDU를 통해 지역 간에 선택됩니다. · 여러 지역이 다른 장치에게 지역당 하나의 논리적 스위치로 표시됩니다. |
경계 포트 |
이러한 포트는 리전의 한도에 있으며, 일반적으로 이러한 포트에서 비 MST BPDU가 수신되므로 이 포트에서는 MST를 사용할 수 없습니다. PVST 시뮬레이션은 MST와 PVST가 동일한 네트워크에서 작동할 수 있는 방식입니다. |
PVST 시뮬레이션 |
네트워크 토폴로지의 변경 또는 마이그레이션과 같은 특정 시나리오에서는 둘 이상의 STP 버전이 함께 발견되며 MST 영역이 다른 도메인에 연결됩니다. 예를 들어 PVST+에서 MST로 변경되는 네트워크와 모든 스위치를 동시에 수정할 수 없습니다. 또한 MST와 PVST+를 함께 사용해야 합니다. PVST+는 MST BPU를 처리할 수 없으므로 두 프로토콜 모두 상호 작용할 수 있도록 PVST+ 간에 호환성 메커니즘이 있습니다. 이러한 호환성 메커니즘을 PVST 시뮬레이션이라고 합니다. |
PVST 시뮬레이션 실패 |
PVST 시뮬레이션에 명시된 규칙이 충족되지 않는 경우 |
PVST+, Rapid PVST+ 및 MSTP가 지원되지만, 한 번에 하나의 버전만 활성화할 수 있습니다. 예를 들어, 모든 VLAN은 PVST+를 실행하거나, 모든 VLAN은 Rapid PVST+를 실행하거나, 모든 VLAN은 MSTP를 실행합니다.
MST 컨피그레이션의 VTP(VLAN Trunking Protocol) 전파는 지원되지 않습니다.
목표는 MST 영역이 영역 외부의 관점에서 가상 CST 브리지처럼 작동하도록 하는 것입니다.
다른 영역 또는 PVST 도메인의 다른 스위치에서는 RootID 및 Root Path 비용이 변경되지 않은 상태로 남아 있으므로 MST 영역을 하나의 스위치로만 간주합니다.
이 세 가지 특성은 MST 영역 아래의 모든 스위치에서 동일한 방식으로 구성해야 제대로 통합될 수 있습니다. 명령은 MST 컨피그레이션 모드에서 적용됩니다.
spanning-tree mst configuration
name <region name>
revision <number>
instance <number> vlan <vlan number>
다음 명령을 사용하여 특성 컨피그레이션을 검증합니다.
show running-config | section span
예: 영역 1의 스위치 1, 2, 3에 대한 특성 컨피그레이션
R1-SW1
R1-SW1#show running-config | section spann spanning-tree mode mst spanning-tree extend system-id spanning-tree mst configuration name R1 <--- revision 1 <--- instance 1 vlan 3-4 <---
R1-SW2
R1-SW2#show running-config | section spann spanning-tree mode mst spanning-tree extend system-id spanning-tree mst configuration name R1 revision 1 instance 1 vlan 3-4
R1-SW3
R1-SW3#show running-config | section spann spanning-tree mode mst spanning-tree extend system-id spanning-tree mst configuration name R1 revision 1 instance 1 vlan 3-4
MST 마이그레이션 중에는 아직 STP 모드를 변경하지 않고도 MST 매개변수를 구성할 수 있습니다.
컨피그레이션 오류로 인해 네트워크가 중단되지 않도록 다음 권장 사항을 따르십시오.
커밋하기 전에 MST 컨피그레이션을 확인합니다.
이 검사는 스패닝 트리 모드가 아직 적용되지 않은 경우입니다.
show spanning-tree mst
show current
show spanning-tree mst configuration digest
참고: show current는 MST 컨피그레이션 모드(spanning-tree mst 컨피그레이션 하위 모드)에서만 사용할 수 있습니다
예: 지역 1의 스위치 1의 경우
STP 모드가 아직 MST 모드가 아닌지 확인합니다.
R1-SW1#show spanning-tree mst
% Switch is not in mst mode <--
현재 MST 컨피그레이션 확인
R1-SW1(config-mst)#show current Current MST configuration Name [R1] Revision 1 Instances configured 2 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,6-4094 1 3-4 -------------------------------------------------------------------------------
참고: show current는 MST 컨피그레이션 모드에서만 사용할 수 있습니다.
참고: show span mst 컨피그레이션과 show current는 동일한 명령입니다.
다이제스트 해시 확인
R1-SW1#show spanning-tree mst configuration digest
% Switch is not in mst mode <--
Name [R1]
Revision 1 Instances configured 2
Digest 0xA423B8DBB209CCF6560F55618AB58726 <--
Pre-std Digest 0x8C9BE88BBC9B84CB8AED635EE008436A
참고: 다이제스트 출력에서는 스위치가 이미 MST 모드인지 여부를 알 수 있습니다. MST 모드가 아직 활성화되지 않은 경우에도 다이제스트 해시는 변경되지 않습니다.
참고: Catalyst 9000 스위치는 IEEE 표준 MST 프로토콜을 실행합니다. 따라서 사전 표준 다이제스트 대신 다이제스트 해시에 주력해야 합니다
커밋 후 MST 컨피그레이션 확인
show current
show pending
show spanning-tree mst configuration digest
abort
참고: MST 컨피그레이션 모드에서만 show pending(show current)을 사용할 수 있습니다
show current 출력은 MST 하위 모드(컨피그레이션 변경이 적용될 때)를 종료한 후 MST 컨피그레이션을 보여주는 반면, show pending 출력은 최근에 구성되었지만 적용되지 않은 MST 컨피그레이션을 보여줍니다.
어떤 이유로든 컨피그레이션 변경 사항을 되돌려야 하고 여전히 MST 하위 모드에 있는 경우 변경 사항을 적용하지 않고 MST 하위 모드에서 종료하는 abort 명령을 적용할 수 있습니다.
참고: MST 컨피그레이션 모드에서만 show pending(show current)을 사용할 수 있습니다
예: 지역 1의 스위치 1의 경우
현재 컨피그레이션과 보류 중인 컨피그레이션이 동일하다는 것을 알 수 있습니다. 즉, 변경된 사항이 없습니다.
다이제스트 해시는 이전 출력에서 검증된 해시와 동일합니다.
R1-SW1(config)#spanning-tree mst configuration R1-SW1(config-mst)#show current Current MST configuration Name [R1] Revision 1 Instances configured 2 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,5-4094 1 3-4 ------------------------------------------------------------------------------- R1-SW1(config-mst)#show pending Pending MST configuration Name [R1] Revision 1 Instances configured 2 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,5-4094 1 3-4 ------------------------------------------------------------------------------- R1-SW1(config-mst)#do show spanning-tree mst configuration digest Name [R1] Revision 1 Instances configured 2 Digest 0xA423B8DBB209CCF6560F55618AB58726 <-- Pre-std Digest 0x8C9BE88BBC9B84CB8AED635EE008436A
새 인스턴스가 생성되고 VLAN 5가 이 인스턴스에 매핑됩니다. 이번에는 show current 출력에 최근에 구성된 새 인스턴스가 표시되지 않지만 show pending은 표시됩니다. 이것은 당연한 일입니다.
다이제스트 해시가 변경되지 않았습니다. 새 컨피그레이션은 MST 컨피그레이션 모드(스패닝 트리 mst 컨피그레이션 하위 모드)를 종료할 때만 적용되기 때문입니다
R1-SW1(config-mst)#instance 2 vlan 5 <-- R1-SW1(config-mst)#show current Current MST configuration Name [R1] Revision 1 Instances configured 2 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,5-4094 1 3-4 ------------------------------------------------------------------------------- R1-SW1(config-mst)#show pending Pending MST configuration Name [R1] Revision 1 Instances configured 3 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,6-4094 1 3-4 2 5 <-- ------------------------------------------------------------------------------- R1-SW1(config-mst)#do show spanning-tree mst configuration digest Name [R1] Revision 1 Instances configured 2 Digest 0xA423B8DBB209CCF6560F55618AB58726 <-- Pre-std Digest 0x8C9BE88BBC9B84CB8AED635EE008436A
MST 컨피그레이션 모드를 종료하면 변경 사항이 반영됩니다. 다이제스트 해시도 새 변경 사항과 일치하도록 다시 계산됩니다.
R1-SW1(config-mst)#exit R1-SW1(config)#spanning-tree mst configuration R1-SW1(config-mst)#show current Current MST configuration Name [R1] Revision 1 Instances configured 3 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,6-4094 1 3-4 2 5 <-- ------------------------------------------------------------------------------- R1-SW1(config-mst)#show pending Pending MST configuration Name [R1] Revision 1 Instances configured 3 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1-2,6-4094 1 3-4 2 5 <-- ------------------------------------------------------------------------------- R1-SW1(config-mst)#do show spanning-tree mst configuration digest Name [R1] Revision 1 Instances configured 3 Digest 0x083305551908B9A2CC50B482DC577B8F <-- Pre-std Digest 0xA8AC09BDF2942058FAF4CE727C9D258F
이러한 명령은 MST 매개변수 및 수렴성을 검증하는 데 유용합니다. 또한 MST 타이머, 비용 등과 관련된 정보를 제공합니다.
show spanning-tree pathcost method
show spanning-tree root
show spanning-tree summary
show spanning-tree mst
show spanning-tree interface <interface>
참고: show spanning-tree mst와 show spanning-tree는 동일합니다
예: 지역 1의 스위치 1의 경우
경로 비용을 측정하는 방법에는 짧음(레거시) 및 길음(long)의 두 가지가 있습니다. 항상 레이어 2 네트워크를 따라 균질하게 관리하는 것이 좋습니다. Long pathcost 메서드를 실행할 경우 STP에서 실행되는 모든 스위치에서 이 메서드를 실행합니다.
R1-SW1#show spanning-tree pathcost method Spanning tree default pathcost method used is long <--
이 출력에서는 경로 비용 방법을 사용할 수 있지만, 스위치가 표준 MST 프로토콜을 실행하고 확장 시스템 ID(MST 사용 시 필수)를 사용할 수도 있습니다.
R1-SW1#show spanning-tree summary Switch is in mst mode (IEEE Standard) <-- Root bridge for: none EtherChannel misconfig guard is enabled Extended system ID is enabled <-- Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is disabled UplinkFast is disabled BackboneFast is disabled Configured Pathcost method used is long <-- Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- MST0 0 0 0 3 3 MST1 0 0 0 3 3 ---------------------- -------- --------- -------- ---------- ---------- 2 msts 0 0 0 6 6
브리지 및 루트 ID, 우선 순위, 비용, 포트 역할 및 상태, VLAN 매핑은 이 출력에서 확인할 수 있습니다.
R1-SW1#show spanning-tree mst ##### MST0 vlans mapped: 1-2,5-4094 Bridge address 3473.2db8.be80 priority 32768 (32768 sysid 0) Root address f04a.021e.9500 priority 24576 (24576 sysid 0) port Gi1/0/2 path cost 0 Regional Root address f04a.021e.9500 priority 24576 (24576 sysid 0) internal cost 20000 rem hops 19 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 ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/2 Root FWD 20000 128.2 P2p Gi1/0/4 Desg FWD 20000 128.4 P2p ##### MST1 vlans mapped: 3-4 Bridge address 3473.2db8.be80 priority 32769 (32768 sysid 1) Root address f04a.021e.9500 priority 24577 (24576 sysid 1) port Gi1/0/2 cost 20000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/2 Root FWD 20000 128.2 P2p Gi1/0/4 Desg FWD 20000 128.4 P2p
이 명령은 인스턴스별 관점 대신 인터페이스 관점의 STP 역할 상태, 우선순위 및 링크 유형을 표시합니다.
R1-SW1#show spanning-tree interface gigabitEthernet 1/0/1 Mst Instance Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- MST0 Desg FWD 20000 128.1 P2p MST1 Desg FWD 20000 128.1 P2p R1-SW1#show spanning-tree interface gigabitEthernet 1/0/2 Mst Instance Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- MST0 Root FWD 20000 128.2 P2p MST1 Root FWD 20000 128.2 P2p
Region 2가 토폴로지에 추가되었습니다. 서로 다른 두 지역이 어떻게 상호 작용하고 융합하는지 그 과정을 확인하는 것이다. 이 통신에서는 경계 스위치만 실행됩니다.
링크의 양 끝은 동일한 통신 과정을 갖기 때문이다. 이 섹션에서는 패킷 캡처에서 가져온 R1-SW2 및 2개의 BPDU의 show spanning-tree mst의 출력에 초점을 맞춥니다.
이는 Region 1의 R1-SW2와 Region 2의 R2-SW1 간의 초기 통신입니다. 두 디바이스 간에 연결이 설정되는 즉시 BPDU를 전송합니다.
R2-SW1에서 Gi1/0/2 인터페이스에 포커스를 둡니다. 이 인터페이스는 차단(BLK)을 초기 상태로 합니다. 선택 프로세스 시 스위치 포트가 BLK 상태로 들어간다는 점을 기억하십시오.
R2-SW1#show spanning-tree mst MST0
! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg BLK 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p MST1
! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg BLK 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p
패킷 캡처에서 이 첫 번째 BPDU가 관찰되며, Port Role(포트 역할) 플래그는 Designated(지정됨) 및 Proposal(제안)로 표시됩니다.
이는 통신이 이미 시작되었고 두 포트 모두 계약을 설정하고 포트 역할 및 상태를 설정하기 위한 동기화 프로세스를 시작했음을 의미합니다. 모두 제안 메커니즘으로 시작합니다.
IEEE 802.3 Ethernet Destination: Spanning-tree-(for-bridges)_00 (01:80:c2:00:00:00) Source: Cisco_05:d6:02 (f0:4a:02:05:d6:02) Length: 121 Logical-Link Control Spanning Tree Protocol Protocol Identifier: Spanning Tree Protocol (0x0000) Protocol Version Identifier: Multiple Spanning Tree (3) BPDU Type: Rapid/Multiple Spanning Tree (0x02) BPDU flags: 0x0e, Port Role: Designated, Proposal 0... .... = Topology Change Acknowledgment: No .0.. .... = Agreement: No ..0. .... = Forwarding: No ...0 .... = Learning: No .... 11.. = Port Role: Designated (3) .... ..1. = Proposal: Yes .... ...0 = Topology Change: No Root Identifier: 24576 / 0 / f0:4a:02:1e:95:00 Root Path Cost: 20004 Bridge Identifier: 32768 / 0 / a0:f8:49:10:47:80 Port identifier: 0x8002 Message Age: 2 Max Age: 20 Hello Time: 2 Forward Delay: 15 Version 1 Length: 0 Version 3 Length: 80 MST Extension
스위치 간에 BPDU가 교환되면 상태가 LRN(Learning)으로 변경됩니다.
R2-SW1이 앞서 나타낸 제1 BPDU를 수신한 이후, LRN 상태는 차단 상태 이후의 제1 전이 상태이다.
R2-SW1#show spanning-tree mst MST0 ! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg LRN 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p MST1 ! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg LRN 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p
피어 중 하나가 계약을 설정하고 동기화가 발생하면(인접 디바이스가 루트에 대한 상위 경로로 허용됨) 링크가 즉시 전달 상태로 전환됩니다.
여기서 Flags(플래그)가 학습으로 설정된 BPDU를 관찰할 수 있으며, 포트가 LRN에서 FWR(Forwarding)로 전환되는 즉시 트리거되는 토폴로지 변경 알림 플래그도 포함됩니다.
이 상태에서 MST는 포트가 프레임 포워딩에 참여하는지 여부를 결정합니다(상태 BLK).
IEEE 802.3 Ethernet Logical-Link Control Spanning Tree Protocol Protocol Identifier: Spanning Tree Protocol (0x0000) Protocol Version Identifier: Multiple Spanning Tree (3) BPDU Type: Rapid/Multiple Spanning Tree (0x02) BPDU flags: 0x3d, Forwarding, Learning, Port Role: Designated, Topology Change 0... .... = Topology Change Acknowledgment: No .0.. .... = Agreement: No ..1. .... = Forwarding: Yes ...1 .... = Learning: Yes .... 11.. = Port Role: Designated (3) .... ..0. = Proposal: No .... ...1 = Topology Change: Yes Root Identifier: 24576 / 0 / f0:4a:02:1e:95:00 Root Path Cost: 20004 Bridge Identifier: 32768 / 0 / a0:f8:49:10:47:80 Port identifier: 0x8002 Message Age: 2 Max Age: 20 Hello Time: 2 Forward Delay: 15 Version 1 Length: 0 Version 3 Length: 80 MST Extension
마지막으로, 스위치 포트는 네트워크 토폴로지 생성과 관련된 모든 상태를 통과한 후 포워딩 상태가 됩니다.
이는 포트의 마지막 상태가 되며 역할 지정(Desg) 및 상태 FDW가 포함됩니다.
R2-SW1#show spanning-tree mst MST0 ! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg FWD 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p MST1 ! Output omitted for brevity Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/2 Desg FWD 20000 128.2 P2p Gi1/0/4 Root FWD 20000 128.4 P2p
이러한 버그는 R2-SW1과 R1-SW2 간 통신 중에 활성화되었다.
debug spanning-tree mstp roles
debug spanning-tree mstp tc
debug spanning-tree mstp boundary
예:
R2-SW1#show debugging Packet Infra debugs: Ip Address Port ------------------------------------------------------|---------- Multiple Spanning Tree: MSTP port ROLES changes debugging is on MSTP Topology Change notifications debugging is on MSTP port BOUNDARY flag changes debugging is on
관찰된 로그
%LINK-3-UPDOWN: Interface GigabitEthernet1/0/2, changed state to down
%LINK-3-UPDOWN: Interface GigabitEthernet1/0/2, changed state to up
MST[0]: Gi1/0/2 is now designated port
MST[0]: Gi1/0/2 becomes designated - clearing BOUNDARY flag
MST[1]: Gi1/0/2 is now designated port
MST[0]: port Gi1/0/2 received external tc
MST[0]: port Gi1/0/2 received external tc
MST[1]: port Gi1/0/2 received tc
MST[0]: port Gi1/0/2 received external tc
MST[0]: port Gi1/0/2 received external tc
MST[1]: port Gi1/0/2 received tc
MST[0]: port Gi1/0/2 received external tc
MST[0]: port Gi1/0/2 received external tc
MST[1]: port Gi1/0/2 received tc
MST[0]: port Gi1/0/2 initiating tc
MST[1]: port Gi1/0/2 initiating tc
MST[0]: port Gi1/0/2 received external tc
MST[0]: port Gi1/0/2 received external tc
MST[1]: port Gi1/0/2 received tcsho span
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/2, changed state to up
MST[0]: port Gi1/0/3 received internal tc
MST[0]: port Gi1/0/3 received internal tc
MST[0]: port Gi1/0/3 received internal tc
PVST 시뮬레이션은 MST가 비 MST 스위치와 통신하는 데 사용하는 메커니즘입니다.
PVST 스위치는 단순히 다르기 때문에 MST BPDU를 인식하지 않습니다. 따라서 PVST와 MST BPDU의 차이를 이해하는 것이 중요합니다.
PVST와 MST의 두 BPDU를 캡처하여 차이점을 살펴보았습니다.
pvst
Ethernet II, Src: Cisco_06:19:01 (f0:4a:02:06:19:01), Dst: PVST+ (01:00:0c:cc:cc:cd) Destination: PVST+ (01:00:0c:cc:cc:cd) Source: Cisco_06:19:01 (f0:4a:02:06:19:01) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 7, DEI: 0, ID: 3 111. .... .... .... = Priority: Network Control (7) ...0 .... .... .... = DEI: Ineligible .... 0000 0000 0011 = ID: 3 Length: 50 Logical-Link Control DSAP: SNAP (0xaa) SSAP: SNAP (0xaa) Control field: U, func=UI (0x03) Organization Code: 00:00:0c (Cisco Systems, Inc) PID: PVSTP+ (0x010b) Spanning Tree Protocol Protocol Identifier: Spanning Tree Protocol (0x0000) Protocol Version Identifier: Spanning Tree (0) BPDU Type: Configuration (0x00) BPDU flags: 0x01, Topology Change 0... .... = Topology Change Acknowledgment: No .... ...1 = Topology Change: Yes Root Identifier: 32768 / 0 / 68:9e:0b:a0:f5:80 Root Bridge Priority: 32768 Root Bridge System ID Extension: 0 Root Bridge System ID: Cisco_a0:f5:80 (68:9e:0b:a0:f5:80) Root Path Cost: 20000 Bridge Identifier: 32768 / 0 / f0:4a:02:06:19:00 Bridge Priority: 32768 Bridge System ID Extension: 0 Bridge System ID: Cisco_06:19:00 (f0:4a:02:06:19:00) Port identifier: 0x8001 Message Age: 1 Max Age: 20 Hello Time: 2 Forward Delay: 15 Originating VLAN (PVID): 3 Type: Originating VLAN (0x0000) Length: 2 Originating VLAN: 3
MST
IEEE 802.3 Ethernet Destination: Spanning-tree-(for-bridges)_00 (01:80:c2:00:00:00) Source: Cisco_b8:be:81 (34:73:2d:b8:be:81) Length: 121 Logical-Link Control DSAP: Spanning Tree BPDU (0x42) SSAP: Spanning Tree BPDU (0x42) Control field: U, func=UI (0x03) Spanning Tree Protocol Protocol Identifier: Spanning Tree Protocol (0x0000) Protocol Version Identifier: Multiple Spanning Tree (3) BPDU Type: Rapid/Multiple Spanning Tree (0x02) BPDU flags: 0x0e, Port Role: Designated, Proposal 0... .... = Topology Change Acknowledgment: No .0.. .... = Agreement: No ..0. .... = Forwarding: No ...0 .... = Learning: No .... 11.. = Port Role: Designated (3) .... ..1. = Proposal: Yes .... ...0 = Topology Change: No Root Identifier: 32768 / 0 / 34:73:2d:b8:be:80 Root Bridge Priority: 32768 Root Bridge System ID Extension: 0 Root Bridge System ID: Cisco_b8:be:80 (34:73:2d:b8:be:80) Root Path Cost: 0 Bridge Identifier: 32768 / 0 / 34:73:2d:b8:be:80 Bridge Priority: 32768 Bridge System ID Extension: 0 Bridge System ID: Cisco_b8:be:80 (34:73:2d:b8:be:80) Port identifier: 0x8001 Message Age: 0 Max Age: 20 Hello Time: 2 Forward Delay: 15 Version 1 Length: 0 Version 3 Length: 80 MST Extension MST Config ID format selector: 0 MST Config name: R1 MST Config revision: 1 MST Config digest: a423b8dbb209ccf6560f55618ab58726 CIST Internal Root Path Cost: 0 CIST Bridge Identifier: 32768 / 0 / 34:73:2d:b8:be:80 CIST Bridge Priority: 32768 CIST Bridge Identifier System ID Extension: 0 CIST Bridge Identifier System ID: Cisco_b8:be:80 (34:73:2d:b8:be:80) CIST Remaining hops: 20 MSTID 1, Regional Root Identifier 32768 / 34:73:2d:b8:be:80 MSTI flags: 0x0e, Port Role: Designated, Proposal 0... .... = Topology Change Acknowledgment: No .0.. .... = Agreement: No ..0. .... = Forwarding: No ...0 .... = Learning: No .... 11.. = Port Role: Designated (3) .... ..1. = Proposal: Yes .... ...0 = Topology Change: No 1000 .... = Priority: 0x8 .... 0000 0000 0001 = MSTID: 1 Regional Root: Cisco_b8:be:80 (34:73:2d:b8:be:80) Internal root path cost: 0 Bridge Identifier Priority: 8 Port identifier priority: 8 Remaining hops: 20
PVST를 사용하는 스위치가 네트워크에 추가되었습니다. 지역 1과 2를 상호 연결합니다.
PVST 스위치가 연결된 후 영역 1에서 스위치 R1-SW3의 경계 포트(gi1/0/1)가 PVST 불일치로 이동하여 포트를 차단합니다.
R1-SW3#show spanning-tree mst ##### MST0 vlans mapped: 1-2,5-4094 Bridge address f04a.021e.9500 priority 32768 (32768 sysid 0) Root address 689e.0ba0.f580 priority 16385 (16384 sysid 1) port Gi1/0/1 path cost 20000 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 ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Root BKN*20000 128.1 P2p Bound(PVST) *PVST_Inc Gi1/0/2 Desg FWD 20000 128.2 P2p Gi1/0/3 Desg FWD 20000 128.3 P2p ##### MST1 vlans mapped: 3-4 Bridge address f04a.021e.9500 priority 32769 (32768 sysid 1) Root address 3473.2db8.be80 priority 32769 (32768 sysid 1) port Gi1/0/2 cost 20000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Mstr BKN*20000 128.1 P2p Bound(PVST) *PVST_Inc Gi1/0/2 Root FWD 20000 128.2 P2p Gi1/0/3 Altn BLK 20000 128.3 P2p
참고: 다른 경계 포트인 영역 2의 R2-SW2에서도 유사한 출력이 관찰됩니다.
.
이 규칙 중 하나라도 어겼기 때문에 이런 일이 발생했다
이 문제를 해결하려면 스위치에 설정된 잘못된 구성을 확인하십시오.
사례 1. PVST 스위치는 VLAN 2-4의 루트이지만, VLAN 2-4는 VLAN 1보다 우선순위가 더 낮습니다. 이 경우 PVST 스위치를 제외한 모든 스위치에는 기본 STP 우선순위(32768)가 있습니다
PVST-SW1# show run | inc span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree vlan 1 priority 4096 <--
spanning-tree vlan 2-4 priority 16384 <--
spanning-tree mst configuration
관찰된 로그:
%SPANTREE-2-PVSTSIM_FAIL: Blocking root port Gi1/0/1: Inconsitent inferior PVST BPDU received on VLAN 2, claiming root 16386:689e.0ba0.f580
사례 2. PVST 스위치는 VLAN 1의 루트가 아니지만 VLAN 2-4는 루트보다 우선순위가 더 낮습니다. 이 경우 루트는 기본 우선순위 24576. 이는 루트 브리지가 모든 VLAN의 루트가 아니라는 것을 의미합니다
PVST-SW1#show run | inc span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree vlan 1 prio 32768 <-- higher priority than the root
spanning-tree vlan 2-4 priority 16384 <-- lower priority than the root
spanning-tree mst configuration
관찰된 로그:
%SPANTREE-2-PVSTSIM_FAIL: Blocking root port Gi1/0/1: Inconsistent inferior PVST BPDU received on VLAN 2, claiming root 40962:689e.0ba0.f580
앞서 설명한 규칙을 고려했으면 이러한 유효한 컨피그레이션을 사용하여 이 문제를 삭제할 수 있습니다.
사례 1.
PVST-SW1# show run | inc span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree vlan 1 priority 16384 <-- VLAN 1 has a higher priority than all other VLANs
spanning-tree vlan 2-4 priority 4096 <--
spanning-tree mst configuration
관찰된 로그:
%SPANTREE-2-PVSTSIM_OK: PVST Simulation nconsistency cleared on port GigabitEthernet1/0/1.
사례 2.
PVST-SW1#show run | inc span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree vlan 1 prio 32768 <-- higher priority than the root
spanning-tree vlan 2-4 priority 40960 <-- higher priority than the root
spanning-tree mst configuration
관찰된 로그:
%SPANTREE-2-PVSTSIM_OK: PVST Simulation nconsistency cleared on port GigabitEthernet1/0/1.
패킷 캡처가 불가능한 경우 BPDU 디버그가 있는 BPDU를 확인합니다.
debug spanning-tree mstp bpdu receive
debug spanning-tree mstp bpdu transmit
예: PVST 스위치에 연결된 영역 2의 스위치 2의 경우
R2-SW2#debug spanning-tree mstp bpdu receive
MSTP BPDUs RECEIVEd dump debugging is on
R2-SW2#debug spanning-tree mstp bpdu transmit
MSTP BPDUs TRANSMITted dump debugging is on
R2-SW2#debug condition interface gigabitEthernet 1/0/2 <-- interface facing PVST switch
R2-SW2#show logging
! Output omitted for brevity
%LINK-3-UPDOWN: Interface GigabitEthernet1/0/2, changed state to down
%LINK-3-UPDOWN: Interface GigabitEthernet1/0/2, changed state to up
MST[0]:-TX> Gi1/0/2 BPDU Prot:0 Vers:3 Type:2
MST[0]: Role :Desg Flags[P] Age:2 RemHops:19
MST[0]: CIST_root:16385.689e.0ba0.f580 Cost :40000
MST[0]: Reg_root :32768.f04a.0205.d600 Cost :20000
MST[0]: Bridge_ID:32768.a0f8.4910.4780 Port_ID:32770
MST[0]: max_age:20 hello:2 fwdelay:15
MST[0]: V3_len:80 region:R2 rev:1 Num_mrec: 1
MST[1]:-TX> Gi1/0/2 MREC
MST[1]: Role :Desg Flags[MAP] RemHops:20
MST[1]: Root_ID :32769.a0f8.4910.4780 Cost :0
MST[1]: Bridge_ID:32769.a0f8.4910.4780 Port_id:130
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/2, changed state to up
MST[0]:-TX> Gi1/0/2 BPDU Prot:0 Vers:3 Type:2
MST[0]: Role :Desg Flags[P] Age:2 RemHops:19
MST[0]: CIST_root:16385.689e.0ba0.f580 Cost :40000
MST[0]: Reg_root :32768.f04a.0205.d600 Cost :20000
MST[0]: Bridge_ID:32768.a0f8.4910.4780 Port_ID:32770
MST[0]: max_age:20 hello:2 fwdelay:15
MST[0]: V3_len:80 region:R2 rev:1 Num_mrec: 1
MST[1]:-TX> Gi1/0/2 MREC
MST[1]: Role :Desg Flags[MAP] RemHops:20
MST[1]: Root_ID :32769.a0f8.4910.4780 Cost :0
MST[1]: Bridge_ID:32769.a0f8.4910.4780 Port_id:130
MST[0]:
MST[0]: Role :Desg Flags[FLTc] Age:0
MST[0]: CIST_root:16385.689e.0ba0.f580 Cost :0
MST[0]: Bridge_ID:16385.689e.0ba0.f580 Port_ID:32770
MST[0]: max_age:20 hello:2 fwdelay:15
이 섹션에서는 계약을 체결하지 못한 두 디바이스의 문제를 관찰하고 포트의 상태를 적절히 설정할 수 있습니다.
R1-SW1#show spanning-tree mst ##### MST0 vlans mapped: 1-2,5-4094 Bridge address 3473.2db8.be80 priority 32768 (32768 sysid 0) Root address 689e.0ba0.f580 priority 4097 (4096 sysid 1) port Gi1/0/2 path cost 20000 Regional Root address f04a.021e.9500 priority 24576 (24576 sysid 0) internal cost 20000 rem hops 19 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 ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/2 Root FWD 20000 128.2 P2p Gi1/0/4 Desg BLK 20000 128.2 P2p Dispute ##### MST1 vlans mapped: 3-4 Bridge address 3473.2db8.be80 priority 32769 (32768 sysid 1) Root address f04a.021e.9500 priority 24577 (24576 sysid 1) port Gi1/0/2 cost 20000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/2 Root FWD 20000 128.2 P2p Gi1/0/4 Desg BLK 20000 128.2 P2p Dispute
R1-SW1(루트)은 새 디바이스가 연결된 것을 발견했습니다. 따라서 BPDU를 전송하고 스스로를 루트로 정의합니다.
링크의 반대쪽에서 플래그가 포트 역할(지정, 전달 및 학습)로 설정되도록 지정하는 BPDU를 수신했습니다.
이것은 새로운 스위치가 루트에 도달하는 더 나은 경로를 가진 상태를 연결했다는 것을 의미합니다. 그러나 R1-SW1이 루트이고 더 나은 경로가 없기 때문에 이는 가능하지 않습니다.
두 스위치 모두 계약을 설정하고 포트를 올바르게 설정할 수 없으므로(두 BPDU가 모두 루트에 더 나은 경로를 표시함), R1-SW1은 새 스위치가 BPDU를 수신하지 않는다고 가정하고 루프를 발생시킬 수 있는 단방향 시나리오를 방지하기 위해 포트 상태를 P2P Dispute로 설정합니다.
이 문서에서 살펴본 것처럼, 네트워크에 더 많은 스위치를 추가하는 한 MST는 더 복잡해질 수 있습니다. 이로 인해 동일한 네트워크에 대해 다른 접근 방식을 갖는 것이 중요합니다.
예:
문제가 MST 영역이 아닌 PVST 도메인에 있는 경우 더 넓은 그림을 사용하고 MST 영역 내의 모든 것을 무시할 수 있습니다(CST 관점).
반면, 문제가 MST 지역 간 또는 지역 내에서만 의심되는 경우 CIST에서 더 나은 전망을 제공합니다.
필요한 경우 스위치의 포트 역할 및 상태에 집중할 수 있습니다
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
26-Oct-2022 |
최초 릴리스 |