소개
이 문서에서는 액세스 스위치와 배포 스위치의 경로 비용 불일치로 인한 STP(Spanning Tree Protocol) 루트 불일치를 설명합니다.
사전 요구 사항
요구 사항
STP 개념에 대한 지식이 있는 것이 좋습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
기능 설명
루트 가드 기능은 네트워크에서 루트 브리지 배치를 적용하는 방법을 제공합니다.
루트 가드는 루트 가드가 활성화된 포트가 지정된 포트인지 확인합니다. 일반적으로 루트 브리지 포트는 둘 이상의 루트 브리지 포트가 함께 연결되지 않는 한 모두 지정된 포트입니다. 브리지가 루트 가드 지원 포트에서 상위 STP BPDU(Bridge Protocol Data Units)를 수신하는 경우 루트 가드는 이 포트를 루트와 일치하지 않는 STP 상태로 전환합니다. 이 루트-불일치 상태는 수신 대기 상태와 사실상 동일합니다. 이 포트를 통해 트래픽이 전달되지 않습니다. 이러한 방식으로, 루트 가드는 루트 브리지의 위치를 강제한다.
문제
이 섹션의 예는 액세스 스위치와 디스트리뷰션 스위치 간에 경로 비용이 일치하지 않을 때 네트워크에 새 액세스 스위치를 추가하면 루트 가드 포트가 디스트리뷰션 스위치에서 루트 비일관성 상태로 전환되는 방법을 보여줍니다.
이미지 1에서 스위치 1과 2는 네트워크의 디스트리뷰션 레이어를 구성합니다. 스위치 1은 짝수 VLAN의 루트 브리지 역할을 하고 스위치 2는 홀수 VLAN의 루트 브리지 역할을 합니다. 스위치 1과 스위치 2 사이에 레이어 2 PortChannel이 설정되었습니다. 스위치 3은 액세스 레이어 스위치로 작동합니다. 스위치 1과 스위치 3 사이의 링크는 Odd VLAN의 경우 스위치 3 측에서 차단되고, 스위치 2와 스위치 3 사이의 링크는 Even VLAN의 경우 스위치 3 측에서 차단됩니다.
그림 1. 디스트리뷰션 및 액세스 스위치 연결
SW1 모든 VLAN이 전달 상태에 있음
Vlan10 및 Vlan20용 SW1 스패닝 트리
SW2 모든 VLAN이 전달 상태입니다.
Vlan20용 SW2 스패닝 트리
VLAN의 홀수 및 짝수 번호에 대한 SW3 차단된 포트 세부 정보
VLAN의 홀수 및 짝수 번호에 대한 SW3 루트 포트 세부 정보
Vlan10 및 Vlan20용 SW3 스패닝 트리
Switch3 Eth0/1 포트에서 패킷 캡처는 Switch1에서 VLAN20에 대해 수신한 STP 프레임이 루트 브리지에 도달하는 데 0의 루트 경로 비용이 있음을 나타냅니다.
Vlan20용 SW3 Eth0/1 포트의 패킷 캡처
Switch3 Eth0/2 포트에서 패킷 캡처를 수행하면 VLAN20용 Switch2에서 수신한 STP 프레임에 루트 브리지에 도달하기 위한 1000000의 루트 경로 비용이 있음을 알 수 있습니다.
Vlan20용 SW3 Eth0/2 포트의 패킷 캡처
Switch3 Eth0/1 포트에서 패킷 캡처를 수행하면 VLAN10에 대해 Switch1에서 받은 STP 프레임에 루트 브리지에 도달하는 데 1000000의 루트 경로 비용이 발생한다는 것을 알 수 있습니다.
Vlan10용 SW3 Eth0/1 포트의 패킷 캡처
Switch3 Eth0/2 포트에서 패킷 캡처를 수행하면 VLAN10에 대해 Switch2에서 받은 STP 프레임에 루트 브리지에 도달하기 위한 루트 경로 비용 0이 있음을 알 수 있습니다.
Vlan10용 SW3 Eth0/2 포트의 패킷 캡처
이제 액세스 스위치 - 스위치 3에 오류가 발생하여 새 액세스 스위치로 교체되었습니다. 새 액세스 스위치(스위치 3)를 네트워크에 추가하면 STP가 분산 스위치의 포트를 차단하고 스위치 1과 스위치 2의 지정된 포트가 '루트 불일치' 상태가 된 것으로 관찰됩니다.
그림 2: 스위치 2 Eth0/2 포트가 Blocking(차단) 상태로 이동됨
이 다이어그램은 스위치 2 Eth0/2 포트가 짝수 개의 VLAN에 대해 차단 모드로 전환되는 것을 보여줍니다.
스위치 1은 VLAN 20, 40, 60의 루트 브리지이며, PO1을 통해 스위치 2의 루트 브리지에 도달하는 비용은 1000000이고 Eth0/2를 통해 2000100(2000000+100)입니다.
스위치 3은 루트 브리지에 도달하기 위해 Eth0/1에서 100의 비용이 들고 루트 브리지에 도달하기 위해 Eth0/2를 통해 1000100 비용이 듭니다.
스위치 2 Eth0/2의 비용이 더 높았기 때문에 VLAN 20, 40, 60에 대한 포트 Eth0/2를 차단했습니다.
Feb 10 04:31:55.516: %SPANTREE-2-ROOTGUARD_BLOCK: Received a superior STP BPDU from bridge aabb.cc00.0500. Root guard blocking port Ethernet0/2 on VLAN0060.
Feb 10 04:32:26.086: %SPANTREE-2-ROOTGUARD_BLOCK: Received a superior STP BPDU from bridge aabb.cc00.0500. Root guard blocking port Ethernet0/2 on VLAN0040
SW2 Root Inconsistency Port Details for Even of Vlan
SW3 모든 VLAN이 포워딩 상태에 있음
그림 3: 스위치 1 Eth0/1 포트가 Blocking(차단) 상태로 이동됨
이 다이어그램은 스위치 1 Eth0/1 포트가 홀수 VLAN에 대해 차단 모드로 전환되는 것을 보여줍니다.
스위치 2는 VLAN 10, 30, 50, 70에 대한 루트 브리지이며, PO1을 통해 스위치 1의 루트 브리지에 도달하는 비용은 1000000이고 Eth0/1을 통해 2000100(2000000+100)입니다.
스위치 3은 루트 브리지에 도달하기 위해 Eth0/2에서 100의 비용이 들고 루트 브리지에 도달하기 위해 Eth0/1을 통해 1000100 비용이 듭니다.
스위치 1 Eth0/1의 비용이 더 높으므로 VLAN 10, 30, 50, 70에 대한 포트 Eth0/2를 차단했습니다.
Feb 10 14:49:58.952: %SPANTREE-2-ROOTGUARD_BLOCK: Received a superior STP BPDU from bridge aabb.cc00.0500. Root guard blocking port Ethernet0/1 on VLAN0010.
SW1 Root Inconsistency Port Details for Odd no of Vlan
Switch1 Eth0/1 포트에서 패킷 캡처는 VLAN10에 대해 Switch3에서 받은 STP 프레임이 루트 브리지에 도달하는 데 100의 루트 경로 비용이 있음을 나타냅니다.
Vlan10에 대해 SW1 Eth0/1에서 수행된 패킷 캡처
스위치 2 Eth0/2 포트에서 패킷 캡처를 수행하면 스위치 3에서 VLAN20용 STP 프레임을 수신한 후 루트 브리지에 도달하기 위한 루트 경로 비용이 100임을 알 수 있습니다.
Vlan20용 SW2 Eth0/2 포트에서 수행된 패킷 캡처
스위치 3은 'short'로 지정된 경로 비용 방식을 활용하여 네트워크에 통합하였다. 이에 비해 스위치 1과 스위치 2는 'long'으로 분류된 경로 비용 방식을 채용하였다. 스위치 3이 스위치 1과 스위치 2에 모두 상위 BPDU를 전송했습니다. 상위 BPDU를 수신한 Root Guard는 포트가 루트 일관성 없는 STP 상태가 되도록 했습니다.
솔루션
이 문제는 액세스 스위치 3에서 pathcost 컨피그레이션을 'short'에서 'long'으로 수정하면서 해결되었습니다.
SW3(config)#spanning-tree pathcost method long
SW1#
*Feb 10 08:07:40.188: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port Ethernet0/1 on VLAN0010.
SW2#
*Feb 10 08:07:39.188: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port Ethernet0/2 on VLAN0020
*Feb 10 08:07:40.188: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port Ethernet0/2 on VLAN0040
SW3 Eth0/2가 Even no of Vlan에 대해 Blocking(차단) 상태로 이동
SW3 Eth0/1이 Odd no of Vlan에 대해 Blocking(차단) 상태로 이동됨