소개
이 문서에서는 스위치드 네트워크 신뢰성 및 관리 용이성을 향상시키는 STP(Spanning Tree Protocol) 루트 가드 기능에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
기능 설명
표준 STP는 네트워크 관리자가 L2(Switched Layer 2) 네트워크의 토폴로지를 안전하게 적용할 수 있는 수단을 제공하지 않습니다. 토폴로지를 적용하는 수단은 서로 다른 관리 주체 또는 회사가 하나의 스위치드 네트워크를 제어하는 공유 관리 제어 네트워크에서 특히 중요할 수 있습니다.
스위치드 네트워크의 포워딩 토폴로지가 계산됩니다. 계산은 다른 매개변수 중에서 루트 브리지 위치를 기반으로 합니다. 어떤 스위치든 네트워크의 루트 브리지가 될 수 있습니다. 그러나 보다 최적의 포워딩 토폴로지는 미리 지정된 특정 위치에 루트 브리지를 배치합니다. 표준 STP를 사용하면 낮은 브리지 ID를 가진 네트워크의 브리지가 루트 브리지 역할을 수행합니다. 관리자는 루트 브리지의 위치를 적용할 수 없습니다.
참고: 관리자는 루트 브리지 위치를 보호하기 위해 루트 브리지 우선순위를 0으로 설정할 수 있습니다. 그러나 우선순위가 0이고 MAC 주소가 더 낮은 브리지에 대해서는 보장할 수 없습니다.
루트 가드 기능은 네트워크에서 루트 브리지 배치를 적용하는 방법을 제공합니다.
루트 가드는 루트 가드가 활성화된 포트가 지정된 포트인지 확인합니다. 일반적으로 루트 브리지 포트는 둘 이상의 루트 브리지 포트가 함께 연결되지 않는 한 모두 지정된 포트입니다. 브리지가 루트 가드 지원 포트에서 상위 STP BPDU(Bridge Protocol Data Units)를 수신하는 경우 루트 가드는 이 포트를 루트와 일치하지 않는 STP 상태로 전환합니다. 이 루트-불일치 상태는 수신 대기 상태와 사실상 동일합니다. 이 포트를 통해 트래픽이 전달되지 않습니다. 이러한 방식으로, 루트 가드는 루트 브리지의 위치를 강제한다.
이 단원의 예에서는 비인가 루트 브리지가 네트워크에서 문제를 일으킬 수 있는 방법과 루트 가드가 어떻게 도움이 되는지 보여줍니다.
이미지 1에서 스위치 A와 B는 네트워크의 코어로 구성되며, A는 VLAN의 루트 브리지입니다. 스위치 C는 액세스 레이어 스위치입니다. B와 C 사이의 링크는 C 측에서 차단됩니다. 화살표는 STP BPDU의 흐름을 보여줍니다.
이미지 1
스위치 A가 루트 브리지임
이미지 2에서 디바이스 D는 STP에 참여하기 시작합니다. 예를 들어 소프트웨어 기반 브리지 애플리케이션은 PC 또는 서비스 공급자 네트워크에 연결하는 기타 스위치에서 실행됩니다. 브리지 D의 우선순위가 0이거나 루트 브리지의 우선순위보다 낮은 값이 있는 경우, 디바이스 D는 이 VLAN에 대한 루트 브리지로 선택됩니다. 디바이스 A와 B 간의 링크가 1기가비트이고 A와 C, B와 C 간의 링크가 100Mbps인 경우 D를 루트로 선택하면 두 코어 스위치를 연결하는 기가비트 이더넷 링크가 차단됩니다.
이 블록에서는 해당 VLAN의 모든 데이터가 액세스 레이어 전반의 100Mbps 링크를 통해 이동합니다. 해당 VLAN의 코어를 통해 이 링크에서 수용할 수 있는 것보다 많은 데이터 흐름이 발생하는 경우 일부 프레임이 삭제됩니다. 프레임 드롭은 성능 손실 또는 연결 중단으로 이어집니다.
이미지 2
스위치 D는 새로운 루트 브리지
루트 가드 기능은 이러한 문제로부터 네트워크를 보호합니다.
루트 가드의 컨피그레이션은 포트별로 수행됩니다. 루트 가드에서는 포트가 STP 루트 포트가 될 수 없으므로 포트는 항상 STP로 지정됩니다. 더 나은 BPDU가 이 포트에 도착하면 루트 가드는 BPDU를 고려하지 않고 새 STP 루트를 선택합니다. 대신 루트 가드는 포트를 루트 일관성 없는 STP 상태로 전환합니다. 루트 브리지가 표시되지 않아야 하는 모든 포트에서 루트 가드를 활성화해야 합니다. STP 루트를 찾을 수 있는 네트워크 부분 주위에 경계를 구성할 수도 있습니다.
이미지 2에서 스위치 D에 연결되는 스위치 C 포트에서 루트 가드를 활성화합니다.
이미지 2의 스위치 C는 스위치가 상위 BPDU를 수신한 후 스위치 D에 연결되는 포트를 차단합니다. 루트 가드는 포트를 루트와 일치하지 않는 STP 상태로 만듭니다. 이 상태에서는 어떤 트래픽도 포트를 통과하지 않습니다. 디바이스 D에서 상위 BPDU를 전송하지 않으면 포트가 다시 차단됩니다. STP를 통해 포트는 수신 대기 상태에서 학습 상태로 전환되며, 결국 전달 상태로 전환됩니다. 복구는 자동으로 수행됩니다. 사람의 개입이 필요 없다.
이 메시지는 루트 가드가 포트를 차단한 후에 나타납니다.
%SPANTREE-2-ROOTGUARDBLOCK: Port 1/1 tried to become non-designated in VLAN 77.
Moved to root-inconsistent state
사용 가능성
루트 가드는 Cisco IOS® 시스템 소프트웨어를 실행하는 Catalyst 6500/6000에서 사용할 수 있습니다. 이 기능은 Cisco IOS Software 릴리스 12.0(7)XE에서 처음 도입되었습니다. Cisco IOS 시스템 소프트웨어를 실행하는 Catalyst 4500/4000의 경우 이 기능은 모든 릴리스에서 사용할 수 있습니다.
Catalyst 2900XL 및 3500XL 스위치의 경우 루트 가드는 Cisco IOS Software 릴리스 12.0(5)XU 이상에서 사용할 수 있습니다. Catalyst 2950 Series 스위치는 Cisco IOS Software 릴리스 12.0(5.2)WC(1) 이상에서 루트 가드 기능을 지원합니다. Catalyst 3550 시리즈 스위치는 Cisco IOS Software 릴리스 12.1(4)EA1 이상에서 루트 가드 기능을 지원합니다.
이 기능은 최신 Cisco Catalyst Series 스위치에서도 사용할 수 있습니다.
설정
Catalyst 6500/6000 및 Catalyst 4500/4000용 Cisco IOS 소프트웨어 구성
Cisco IOS 시스템 소프트웨어를 실행하는 Catalyst 6500/6000 또는 Catalyst 4500/4000 스위치에서 STP 루트 가드를 구성하기 위해 다음 명령 세트를 실행합니다.
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
!
Switch#(config)#interface fastethernet 3/1
Switch#(config-if)#spanning-tree guard root
!
참고: Cisco IOS 시스템 소프트웨어를 실행하는 Catalyst 6500/6000용 Cisco IOS Software 릴리스 12.1(3a)E3에서 스패닝 트리 루트 가드로 이 명령을 변경했습니다. Cisco IOS 시스템 소프트웨어를 실행하는 Catalyst 4500/4000은 모든 릴리스에서 spanning-tree guard root 명령을 사용합니다.
Catalyst 2900XL/3500XL, 2950 및 3550용 Cisco IOS 소프트웨어 구성
Catalyst 2900XL, 3500XL, 2950 및 3550에서 다음 예와 같이 인터페이스 컨피그레이션 모드에서 루트 가드로 스위치를 구성합니다.
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 0/8
Switch(config-if)# spanning-tree rootguard
Switch(config-if)# ^Z
*Mar 15 20:15:16: %SPANTREE-2-ROOTGUARD_CONFIG_CHANGE: Rootguard enabled on
port FastEthernet0/8 VLAN 1.
Switch#
STP BPDU Guard와 STP Root Guard의 차이점은 무엇입니까?
BPDU 가드와 루트 가드는 유사하지만, 그 영향은 다르다. 포트에서 PortFast가 활성화된 경우 BPDU 가드는 BPDU 수신 시 포트를 비활성화합니다. 비활성화는 해당 포트 뒤에 있는 디바이스가 STP에 참여하는 것을 사실상 거부합니다. errdisable 상태가 된 포트를 수동으로 다시 활성화하거나 errdisable-timeout을 구성해야 합니다.
루트 가드는 디바이스가 루트가 되려고 시도하지 않는 한 디바이스가 STP에 참여할 수 있도록 합니다. 루트 가드가 포트를 차단하는 경우 후속 복구는 자동으로 수행됩니다. 일탈 디바이스가 상위 BPDU를 전송하지 않는 즉시 복구가 이루어집니다.
BPDU 가드에 대한 자세한 내용은 Spanning Tree PortFast BPDU Guard Enhancement를 참조하십시오.
루트가드가 두 가지 근원문제를 해결하는데 도움이 되나요
네트워크의 두 브리지 간에 단방향 링크 오류가 발생할 수 있습니다. 이 오류로 인해 하나의 브리지가 루트 브리지에서 BPDU를 수신하지 않습니다. 이러한 장애가 발생하면 루트 스위치는 다른 스위치에서 전송하는 프레임을 수신하지만, 다른 스위치는 루트 스위치에서 전송하는 BPDU를 수신하지 않습니다. 이로 인해 STP 루프가 발생할 수 있습니다. 다른 스위치는 루트에서 BPDU를 수신하지 않으므로, 이 스위치는 루트라고 생각하고 BPDU를 보내기 시작합니다.
실제 루트 브리지가 BPDU를 수신하기 시작하면 루트는 BPDU가 우수하지 않기 때문에 BPDU를 폐기합니다. 루트 브리지는 변경되지 않습니다. 따라서 루트 가드는 이 문제를 해결하는 데 도움이 되지 않습니다. UDLD(UniDirectional Link Detection) 및 루프 가드 기능이 이 문제를 해결합니다.
STP 오류 시나리오 및 문제 해결 방법에 대한 자세한 내용은 스패닝 트리 프로토콜 문제 및 관련 설계 고려 사항을 참조하십시오.
관련 정보