소개
이 문서에서는 레이어 2 네트워크 안정성을 개선하기 위한 스패닝 트리 프로토콜 기능에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에서는 독자가 STP의 기본 작동을 잘 알고 있다고 가정합니다. 자세한 내용은 Catalyst 스위치에서 STP(Spanning Tree Protocol) 이해 및 구성을 참조하십시오.
사용되는 구성 요소
이 문서는 Catalyst 스위치를 기반으로 하지만, 여기에 설명된 기능의 가용성은 사용된 소프트웨어 릴리스에 따라 달라질 수 있습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
배경 정보
STP(Spanning Tree Protocol)는 물리적으로 이중화된 토폴로지를 루프 없는 트리형 토폴로지로 확인합니다. STP의 가장 큰 문제는 일부 하드웨어 장애로 인해 장애가 발생할 수 있다는 것입니다. 이러한 장애로 인해 전달 루프(또는 STP 루프)가 생성됩니다. STP 루프로 인해 주요 네트워크 중단이 발생합니다.
이 문서에서는 레이어 2 네트워크의 안정성을 개선하기 위한 루프 가드 STP 기능에 대해 설명합니다. 이 문서에서는 BPDU(Bridge Protocol Data Unit) 스큐 탐지에 대해서도 설명합니다. BPDU 스큐 탐지는 BPDU가 제시간에 수신되지 않을 때 syslog 메시지를 생성하는 진단 기능입니다.
기능 가용성
Cisco IOS란
STP 포트 역할
내부적으로 STP는 각 브리지(또는 스위치) 포트에 컨피그레이션, 토폴로지, 토폴로지에서 포트의 상대적 위치 및 기타 고려 사항에 따라 역할을 할당합니다. 포트 역할은 STP 관점에서 포트의 동작을 정의합니다. 포트 역할에 따라 포트는 STP BPDU를 전송하거나 수신하고 데이터 트래픽을 전달하거나 차단합니다. 이 목록에서는 각 STP 포트 역할에 대한 간단한 요약을 제공합니다.
-
Designated(지정됨) - 링크(세그먼트)당 하나의 지정된 포트가 선택됩니다. 지정된 포트는 루트 브리지와 가장 가까운 포트입니다. 이 포트는 링크(세그먼트)에 BPDU를 전송하고 트래픽을 루트 브리지로 전달합니다. STP 통합 네트워크에서 각 지정된 포트는 STP 포워딩 상태입니다.
-
Root(루트) - 브리지는 루트 포트를 하나만 가질 수 있습니다. 루트 포트는 루트 브리지로 연결되는 포트입니다. STP 통합 네트워크에서 루트 포트는 STP 포워딩 상태입니다.
-
Alternate(대체) - 대체 포트가 루트 브리지로 이어지지만 루트 포트는 아닙니다. 대체 포트는 STP 차단 상태를 유지합니다.
-
백업 - 동일한 스위치 간에 둘 이상의 포트가 직접 또는 공유 미디어를 통해 연결되는 특수한 경우입니다. 이 경우 하나의 포트가 지정되고, 나머지 포트는 차단됩니다. 이 포트의 역할은 백업입니다.
STP 루프 가드
기능 설명
STP 루프 보호 기능은 레이어 2 포워딩 루프(STP 루프)를 막는 추가적인 보호 장치입니다. STP 루프는 이중화 토폴로지의 STP 차단 포트가 포워딩 상태로 잘못 전환될 때 발생합니다. 대개는 물리적 이중화 토폴로지의 포트 중 하나가(STP 차단 포트가 아닐 수도 있음) 더는 STP BPDU를 수신하지 못하는 것이 원인입니다. 이 작업에서 STP는 포트 역할에 따라 지속적인 BPDU 수신 또는 전송에 의존합니다. 지정된 포트가 BPDU를 전송하고, 지정되지 않은 포트에서 BPDU를 수신합니다.
물리적 이중화 토폴로지의 포트 중 하나에서 더는 BPDU를 수신하지 않으면, STP는 그 토폴로지에 루프가 없다고 가정합니다. 결국 대체 또는 백업 포트의 차단 포트가 지정되어 포워딩 상태가 됩니다. 이러한 상황에서 루프가 생성됩니다.
루프 가드 기능은 추가 확인을 수행합니다. BPDU가 지정되지 않은 포트에서 수신되지 않고 루프 가드가 활성화되어 있으면, 해당 포트는 수신 대기/학습/포워딩 상태가 아니라 STP 루프 불일치 차단 상태로 바뀝니다. 루프 가드 기능이 없으면 포트는 지정된 포트 역할로 가정합니다. 포트가 STP 포워딩 상태가 되어 루프가 생깁니다.
루프 가드가 일치하지 않는 포트를 차단할 경우 다음 메시지가 기록됩니다.
-
Cisco IOS란
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.
루프 일관성 없는 STP 상태의 포트에서 BPDU가 수신되면 포트는 다른 STP 상태로 전환됩니다. 수신된 BPDU에 대해, 이것은 복구가 자동적이며, 개입이 필요하지 않다는 것을 의미한다. 복구 후 다음 메시지가 기록됩니다.
-
Cisco IOS란
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.
이 동작을 설명하기 위해 다음 예를 고려하십시오.
스위치 A가 루트 스위치입니다. 스위치 B와 스위치 C 간 링크의 단방향 링크 장애로 인해 스위치 C가 스위치 B로부터 BPDU를 수신하지 않습니다.
단방향 링크 오류
루프 가드가 없으면 max_age 타이머가 만료되면 스위치 C의 STP 차단 포트가 STP 수신 대기 상태로 전환되고 forward_delay 시간의 2배 후에 전달 상태로 전환됩니다. 이러한 상황에서 루프가 생성됩니다.
루프가 생성됨
루프 가드가 활성화되면 max_age 타이머가 만료되면 스위치 C의 차단 포트가 STP 루프 비일치 상태로 전환됩니다. STP 루프 불일치 상태의 포트는 사용자 트래픽을 전달하지 않으므로 루프가 생성되지 않습니다. 루프 비일치 상태는 차단 상태와 사실상 동일합니다.
루프 가드 사용 시 루프 방지
컨피그레이션 고려 사항
루프 가드 기능은 포트별로 활성화됩니다. 그러나 STP 레벨에서 포트를 차단하는 한, 루프 가드는 VLAN별로 일관성 없는 포트를 차단합니다(VLAN별 STP 때문). 즉, 하나의 특정 VLAN에 대해서만 트렁크 포트에서 BPDU가 수신되지 않으면 해당 VLAN만 차단됩니다(루프 일관성 없는 STP 상태로 이동). 같은 이유로 EtherChannel 인터페이스에서 활성화되면 하나의 링크만 차단되는 것이 아니라 특정 VLAN에 대해 전체 채널이 차단됩니다(EtherChannel은 STP 관점에서 하나의 논리적 포트로 간주되기 때문).
어떤 포트에서 루프 가드를 사용할 수 있습니까? 가장 분명한 답은 포트 차단입니다. 그러나, 이것은 완전히 옳지 않다. 활성 토폴로지의 가능한 모든 조합을 위해 지정되지 않은 포트(더 정확하게는 루트 및 대체 포트)에서 루프 가드를 활성화해야 합니다. 루프 가드가 VLAN별 기능이 아닌 한, 동일한(트렁크) 포트를 하나의 VLAN에 지정하고 다른 VLAN에는 지정하지 않을 수 있습니다. 가능한 장애 조치 시나리오도 고려해야 합니다.
예
Loop Guard가 활성화된 포트
기본적으로 루프 가드는 비활성화되어 있습니다. 이 명령은 루프 가드를 활성화하는 데 사용됩니다.
-
Cisco IOS란
spanning-tree guard loop
Router(config)#interface gigabitEthernet 1/1
Router(config-if)#spanning-tree guard loop
효과적으로 모든 포인트-투-포인트 링크에서 루프 가드를 활성화할 수 있습니다. 포인트-투-포인트 링크는 링크의 이중 상태에 의해 탐지됩니다. 듀플렉스가 꽉 차면 링크는 포인트-투-포인트로 간주됩니다. 포트별로 전역 설정을 구성하거나 재정의할 수 있습니다.
루프 가드를 전역적으로 활성화하려면 다음 명령을 실행합니다.
-
Cisco IOS란
Router(config)#spanning-tree loopguard default
루프 가드를 비활성화하려면 다음 명령을 실행합니다.
-
Cisco IOS란
Router(config-if)#no spanning-tree guard loop
루프 가드를 전역적으로 비활성화하려면 다음 명령을 실행합니다.
-
Cisco IOS란
Router(config)#no spanning-tree loopguard default
루프 가드 상태를 확인하려면 다음 명령을 실행합니다.
-
Cisco IOS란
show spanning-tree
Router#show spanning-tree summary
Switch is in pvst mode
Root bridge for: none
EtherChannel misconfig guard is enabled
Extended system ID is disabled
Portfast Default is disabled
PortFast BPDU Guard Default is disabled
Portfast BPDU Filter Default is disabled
Loopguard Default is enabled
UplinkFast is disabled
BackboneFast is disabled
Pathcost method used is short
Name Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
Total 0 0 0 0 0
루프 가드 대 UDLD
루프 가드 및 UDLD(Unidirectional Link Detection) 기능은 부분적으로 단방향 링크로 인한 STP 장애로부터 보호한다는 점에서 중복됩니다. 그러나 이 두 가지 기능은 기능과 문제 해결 방법에서 차이가 있습니다. 이 표에서는 루프 가드 및 UDLD 기능에 대해 설명합니다.
기능 |
루프 가드 |
UDLD |
설정 |
포트당 |
포트당 |
작업 세분화 |
VLAN당 |
포트당 |
자동 복구 |
예 |
예, err-disable 시간 초과 기능 사용 |
단방향 링크로 인해 발생하는 STP 장애에 대한 보호 |
예, 이중화 토폴로지의 모든 루트 및 대체 포트에서 활성화된 경우 |
예(이중화 토폴로지의 모든 링크에서 활성화된 경우) |
소프트웨어 문제로 인한 STP 장애 방지(지정된 스위치가 BPDU를 전송하지 않음) |
예 |
아니요 |
잘못된 배선 방지 |
아니요 |
예 |
다양한 설계 고려 사항에 따라 UDLD 또는 루프 가드 기능을 선택할 수 있습니다. STP와 관련하여 두 기능의 가장 눈에 띄는 차이점은 소프트웨어의 문제로 인한 STP 장애에 대한 UDLD의 보호 부재입니다. 따라서 지정된 스위치에서 BPDU를 전송하지 않습니다. 그러나 이 유형의 장애는 단방향 링크에 의한 장애보다 크기 순으로 더 적습니다. 그 대신 EtherChannel의 단방향 링크의 경우 UDLD를 더 유연하게 사용할 수 있습니다. 이 경우 UDLD는 장애가 발생한 링크만 비활성화하며, 채널은 남아 있는 링크에서 계속 작동할 수 있습니다. 이러한 실패에서 루프 가드는 전체 채널을 차단하기 위해 그것을 루프 비일관성 상태로 둔다.
또한, 루프 가드는 공유 링크에서 또는 링크가 링크 업 이후 단방향이었던 상황에서는 작동하지 않습니다. 마지막 경우에는 포트가 BPDU를 수신하지 않고 지정됩니다. 이 동작은 정상적일 수 있으므로, 이 특정 경우는 루프 가드에 의해 커버되지 않는다. UDLD는 이러한 시나리오에 대한 보호를 제공합니다.
설명한 대로 UDLD 및 루프 가드를 활성화하면 최고 수준의 보호가 제공됩니다.
Loop Guard와 기타 STP 기능의 상호 운용성
루트 가드
루트 가드는 루프 가드와 함께 사용할 수 없습니다. 루트 가드는 지정된 포트에서 사용되며 포트가 비지정이 되는 것을 허용하지 않습니다. 루프 가드는 지정되지 않은 포트에서 작동하며 max_age가 만료될 때까지 포트를 지정할 수 없습니다. 루트 가드는 루프 가드와 동일한 포트에서 활성화할 수 없습니다. 포트에 루프 가드가 구성된 경우 동일한 포트에 구성된 루트 가드를 비활성화합니다.
Uplink Fast 및 Backbone Fast
Uplink Fast 및 Backbone Fast는 모두 루프 가드에 투명합니다. 재컨버전스 시 max_age를 백본에서 빠르게 건너뛰면 루프 가드가 트리거되지 않습니다. Uplink Fast 및 Backbone Fast에 대한 자세한 내용은 다음 문서를 참조하십시오.
PortFast 및 BPDU 가드, 동적 VLAN
PortFast가 활성화된 포트에 대해 Loop Guard를 활성화할 수 없습니다. BPDU 가드는 portfast 지원 포트에서 작동하므로 BPDU 가드에 몇 가지 제한 사항이 적용됩니다. 동적 VLAN 포트에는 portfast가 활성화되어 있으므로 이 포트에서 루프 가드를 활성화할 수 없습니다.
공유 링크
루프 가드는 공유 링크에서 사용하도록 설정할 수 없습니다. 공유 링크에서 루프 가드를 활성화할 경우 공유 세그먼트에 연결된 호스트의 트래픽을 차단할 수 있습니다.
MST(다중 스패닝 트리)
루프 가드는 MST 환경에서 올바르게 작동합니다.
관련 정보