STP가 없으면 스위치 네트워크가 무너지는 이유 — 브로드캐스트 스톰을 직접 목격한 현장 기록
들어가며
처음으로 브로드캐스트 스톰을 현장에서 목격한 날은 지금도 생생합니다.
사무실 이전 후 네트워크 점검을 하던 중이었는데, 갑자기 스위치의 모든 LED가 미친 듯이 깜빡이기 시작했습니다. PC에서 아무 것도 열리지 않고, 서버 접속도 끊겼습니다. 원인을 찾는 데 10분도 채 걸리지 않았습니다. 이전 과정에서 케이블을 정리하던 직원이 실수로 스위치 두 포트를 직접 연결해버린 것입니다. 루프가 생긴 것이죠.
케이블 하나를 뽑자 즉시 정상으로 돌아왔습니다. 그날 이후로 저는 STP 설정을 네트워크 구축 체크리스트의 가장 위에 올려놓게 됐습니다.

스위치 루프가 네트워크를 마비시키는 원리
스위치 A와 스위치 B가 두 개의 케이블로 연결되어 있다고 가정합니다.
[Step 1] PC가 브로드캐스트 프레임(ARP 요청 등)을 전송
[Step 2] 스위치 A가 이 프레임을 받아 모든 포트로 플러딩
[Step 3] 스위치 B가 케이블 1을 통해 이 프레임을 받아 모든 포트로 플러딩
[Step 4] 스위치 A가 케이블 2를 통해 다시 이 프레임을 받음 → 다시 플러딩
[Step 5] 무한 반복…
이것이 브로드캐스트 스톰(Broadcast Storm)입니다. 브로드캐스트 프레임은 TTL이 없어 루프가 생기면 스스로 소멸하지 않습니다. 프레임이 기하급수적으로 늘어나면서 네트워크 대역폭을 모두 잠식하고 스위치 CPU도 과부하에 걸립니다.
현장 경험상 브로드캐스트 스톰은 발생하면 20~30초 내에 전체 네트워크가 사용 불가 상태가 됩니다. 원인을 모르면 패닉에 빠지기 쉽지만, 스위치 LED가 모두 동시에 미친 듯이 깜빡인다면 먼저 루프를 의심하고 케이블부터 확인하십시오.
STP의 해결책 — 논리적으로 루프를 차단
STP(IEEE 802.1D)는 물리적으로는 루프 구조를 유지하면서, 논리적으로 특정 포트를 차단(Blocking)하여 루프를 방지합니다.
물리적 링크는 끊지 않으므로 장애 발생 시 차단된 포트를 활성화하여 자동으로 경로를 복구할 수 있습니다.
■ STP 동작 순서 요약
1단계: 루트 브리지(Root Bridge) 선출
2단계: 루트 포트(Root Port) 선정 (각 스위치당 1개)
3단계: 지정 포트(Designated Port) 선정 (각 세그먼트당 1개)
4단계: 나머지 포트를 차단 포트(Blocked Port)로 설정
BPDU와 루트 브리지 선출
■ BPDU (Bridge Protocol Data Unit)
STP를 구동하는 스위치들은 BPDU라는 특수 프레임을 주기적으로(기본 2초마다) 교환합니다.
BPDU에는 브리지 ID, 루트 브리지 ID, 루트 경로 비용, 포트 ID가 포함됩니다.
■ 루트 브리지 선출 과정
모든 스위치는 처음에 자신이 루트 브리지라고 가정하고 BPDU를 전송합니다.
더 낮은 브리지 ID를 가진 스위치가 루트 브리지가 됩니다.
브리지 ID 비교 순서:
1) 우선순위(Priority) 비교 (낮을수록 유리, 기본값 32768)
2) 우선순위가 같으면 MAC 주소 비교 (낮을수록 유리)
현장 팁: 루트 브리지를 랜덤에 맡기면 가장 오래된 저사양 스위치가 루트 브리지가 될 수 있습니다. 반드시 코어 스위치가 루트 브리지가 되도록 우선순위를 수동으로 설정해야 합니다.
spanning-tree vlan 10 root primary ← 코어 스위치에서 실행
루트 포트와 지정 포트 선정
■ 루트 포트 (Root Port)
각 스위치에서 루트 브리지에 가장 가까운(경로 비용이 낮은) 포트.
경로 비용 기준:
1 Gbps → 4
100 Mbps → 19
10 Mbps → 100
■ 지정 포트 (Designated Port)
각 세그먼트에서 루트 브리지 방향으로 데이터를 전달하는 포트.
루트 브리지의 모든 포트는 자동으로 지정 포트가 됩니다.
■ 차단 포트 (Blocked Port)
루트 포트도 지정 포트도 아닌 나머지 포트는 차단됩니다.
데이터 프레임을 전달하지 않지만 BPDU는 계속 수신합니다.
STP 포트 상태와 수렴 시간
STP는 포트를 즉시 전달 상태로 만들지 않습니다.
■ 802.1D STP 포트 상태 (5단계)
Disabled → 비활성화
Blocking → BPDU 수신만, 데이터·학습 없음
Listening → BPDU 송수신, 경로 결정 중 (15초)
Learning → MAC 학습 시작, 데이터 전달 없음 (15초)
Forwarding → 정상 데이터 전달
Blocking → Forwarding까지 총 30~50초 소요.
현장에서 겪은 불편한 상황: 스위치 포트에 장비를 연결하면 ping이 잘 안 된다는 민원이 자주 옵니다. 이 경우 대부분은 STP 수렴을 기다리는 중입니다. PortFast 기능을 PC·프린터 등 End Device 포트에 적용하면 이 30~50초 대기를 없앨 수 있습니다.
spanning-tree portfast ← End Device 포트에만 적용
■ RSTP (Rapid STP, 802.1W)
RSTP는 수렴 시간을 1~2초 수준으로 단축합니다.
현재 대부분의 현대 스위치는 기본으로 RSTP를 사용합니다.
show spanning-tree vlan [번호] 로 현재 동작 모드를 확인할 수 있습니다.
마무리 — STP는 불편하지만 없어서는 안 되는 안전망
STP는 느리고 복잡하다는 이유로 가볍게 여기는 경우가 있습니다. 하지만 STP가 없으면 이중화 구성 자체가 불가능합니다. 브로드캐스트 스톰을 한 번 직접 겪어보면, 그 중요성을 절실히 느끼게 됩니다.
구축 현장에서 제가 항상 하는 권장 사항이 있습니다. 신규 스위치 설치 후 루프 구조가 생길 수 있는 케이블 작업을 할 때는 반드시 show spanning-tree로 차단 포트가 올바르게 설정되어 있는지 먼저 확인하고 진행하십시오.
