티스토리 뷰

사무실이나 데이터센터에서 UTP 케이블을 잘못 연결하여 네트워크 전체가 먹통이 되는 장애를 한 번쯤 경험해 보셨을 것입니다. 이러한 현상의 주원인은 바로 **L2 스위치 루핑(Looping)**입니다. 물리적으로 경로를 이중화하는 과정에서 고리(Loop) 형태의 회선이 형성되면, 프레임이 무한히 순환하면서 전체 망을 마비시킵니다.

네트워크 이중화(Redundancy)를 유지하면서도 장애를 방지하는 STP(Spanning Tree Protocol) 및 RSTP(Rapid STP)의 메커니즘과 동작 원리를 완벽 정리해 드립니다.


1. L2 스위치 루핑(Looping)이란? (발생 원인과 위험성)

L2 네트워크(Ethernet) 프레임에는 L3 IP 패킷의 TTL(Time to Live)과 같은 **수명 제한 필드가 없습니다.** 따라서 한 번 생성된 브로드캐스트 프레임은 루프 구조 내에서 소멸하지 않고 지속적으로 순환합니다.

  • 브로드캐스트 스톰 (Broadcast Storm): ARP 요청 등 브로드캐스트 패킷이 무한 복제되어 스위치 간을 순환하며, 대역폭과 CPU 자원을 100% 점유합니다.
  • MAC 주소 테이블 불안정 (MAC Table Instability): 동일한 원본 MAC 주소를 가진 프레임이 여러 포트를 통해 계속 들어오면서 스위치의 MAC 주소 학습 테이블이 지속적으로 뒤흔들립니다.
  • 결과: 스위치 포트 LED가 순식간에 미친 듯이 깜빡이며, 사내 모든 기기의 인터넷 및 내부 통신이 즉시 중단됩니다.


▲ 회선 이중화 구축 시 논리적으로 루프를 제어해 주는 STP 알고리즘 적용이 필수적입니다.


2. STP (Spanning Tree Protocol, IEEE 802.1D) 동작 원리

STP는 물리적으로 고리 모양으로 연결된 스위치 망에서 **특정 포트를 논리적으로 차단(Blocking)**하여 트리(Tree) 구조의 단일 경로만 활성화하는 프로토콜입니다.

📌 스패닝 트리의 4단계 결정 절차

  1. Root Bridge (루트 브리지) 선출: 전체 네트워크에서 가장 우선순위(Bridge Priority)가 낮거나 MAC 주소가 낮은 스위치 1대를 기준점으로 선출합니다.
  2. Root Port (루트 포트) 지정: 루트 브리지가 아닌 각 스위치에서 루트 브리지까지 가는 **가장 가까운(Cost가 작은) 포트**를 지정합니다.
  3. Designated Port (지정 포트) 지정: 각 세그먼트(링크) 단위로 루트 브리지와 가장 가까운 포트를 지정 포트로 선출합니다. (루트 브리지의 모든 포트는 지정 포트가 됨)
  4. Non-Designated / Alternate Port (차단 포트) 설정: 위 과정에서 선택되지 못한 나머지 포트는 **차단(Blocking) 상태**로 전환하여 루프를 차단합니다.

3. 기존 STP(802.1D) vs 차세대 RSTP(802.1w) 비교

기존 STP는 장애 발생 시 차단되어 있던 포트가 다시 통신 상태(Forwarding)로 전환되기까지 **약 30초~50초의 수렴 시간(Convergence Time)**이 걸리는 결정적 단점이 있었습니다.

이를 개선한 **RSTP(Rapid Spanning Tree Protocol, IEEE 802.1w)**는 핸드셰이킹(Handshaking) 메커니즘을 도입하여 **수 초(1~2초 이내)** 만에 복구를 완료합니다.

구분 STP (IEEE 802.1D) RSTP (IEEE 802.1w)
장애 복구 시간 약 30초 ~ 50초 소요 수 초 이내 (1~2초)
포트 상태 (State) Disabled / Blocking / Listening / Learning / Forwarding (5단계) Discarding / Learning / Forwarding (3단계로 단순화)
포트 역할 (Role) Root, Designated, Non-Designated Root, Designated, Alternate, Backup
동작 방식 타이머 기반 (Max Age, Forward Delay) 명시적 제안/합의(Proposal/Agreement) 상호작용
💡 꿀팁: 엔드포인트(PC, 프린터) 접속 포트에는 PortFast 설정!
PC나 IP 전화기가 연결되는 액세스 포트에 STP가 활성화되어 있으면, 부팅 시 약 30초간 IP를 받아오지 못하는 현상이 발생합니다. 이 경우 스위치 포트에 **Cisco `spanning-tree portfast`** (또는 BPDU Guard) 설정을 적용하면 즉시 Forwarding 상태로 전환되어 접속 지연을 방지할 수 있습니다.

💡 자주 묻는 질문 (FAQ)

Q1. 루핑을 방지하기 위해 STP 기능을 꺼두는 것이 좋을까요?
A1. 절대로 꺼두어서는 안 됩니다. 물리적인 다중 회선 연결이 없더라도, 직원이 실수로 미니 스위치허브의 양쪽 끝을 하나의 벽면 단자에 꽂는 등의 오배선(Loop) 상황에서 STP가 꺼져 있으면 전체 네트워크가 즉시 마비됩니다.

Q2. BPDU Guard 기능은 왜 함께 사용해야 하나요?
A2. PortFast가 설정된 사용자 포트에 누군가 인가되지 않은 스위치를 연결하여 BPDU 신호가 유입될 경우, 해당 포트를 자동으로 셧다운(err-disable) 시켜 인프라 전체의 스패닝 트리 구조가 뒤흔들리는 것을 보호해 줍니다.


🎯 요약

  1. L2 프레임에는 TTL이 없어 루프 형성 시 **브로드캐스트 스톰**으로 망 전체가 마비됩니다.
  2. STP / RSTP는 물리적 이중화 상태에서 논리적으로 차단 포트를 만들어 단일 경로를 유지합니다.
  3. 최신 인프라 구축 시 복구 속도가 월등히 빠른 **RSTP(802.1w)** 사용 및 **BPDU Guard** 조회를 권장합니다.