케이블 한 줄 더 꽂았다가 “회사 네트워크가 멈췄다” – 루핑 현상과 STP
들어가며
이중화를 한다고 스위치 두 대를 케이블 두 가닥으로 연결해 둔 적이 있다. 혹시라도 한쪽 선이 빠지면 다른 쪽이 살아있으니 안전하겠다 싶었다. 그런데 다음 날 사무실 인터넷이 전부 먹통이 됐다. 핑을 때려도 응답이 없고, 스위치 포트 LED만 미친 듯이 깜빡였다. 원인은 바로 그 케이블 두 가닥이었다. 스위치 두 대가 두 개의 경로로 동시에 연결되면서 루프(Loop)가 만들어졌고, 그 루프 안에서 트래픽이 무한히 돌며 네트워크 전체를 마비시킨 것이다.
이 현상을 루핑(Looping)이라고 부르고, 이를 막기 위해 거의 모든 관리형 스위치에 기본 탑재된 기술이 STP(Spanning Tree Protocol)다. 이번 글에서는 루핑이 왜 이렇게 치명적인지, STP가 어떤 원리로 이를 막는지, 그리고 이중화 구성을 할 때 왜 STP가 필수인지 정리해본다.
루핑이란 무엇인가
이더넷 스위치는 기본적으로 브로드캐스트 프레임을 받으면 그 프레임이 들어온 포트를 제외한 나머지 모든 포트로 그대로 내보낸다. 이 동작 자체는 정상이다. 문제는 스위치 두 대가 두 개 이상의 경로로 연결되어 물리적으로 고리 모양의 구조가 만들어질 때 발생한다.
예를 들어 스위치 A와 스위치 B를 케이블 두 가닥으로 연결했다고 해보자. PC 한 대가 브로드캐스트 프레임(주소를 모를 때 쓰는 ARP 요청 등)을 보내면, 스위치 A는 이 프레임을 두 케이블 모두로 내보낸다. 스위치 B는 두 방향에서 같은 프레임을 받고, 각각을 다시 반대편 케이블로 되돌려 보낸다. 이 과정이 반복되면서 프레임은 두 스위치 사이를 끊임없이 돌고, 돌 때마다 복제되어 기하급수적으로 늘어난다. 이를 흔히 브로드캐스트 스톰(Broadcast Storm), 우리말로는 브로드캐스트 폭풍이라고 부른다.
브로드캐스트 폭풍이 시작되면 몇 초 안에 대역폭이 가득 차서 정상적인 트래픽이 지나갈 자리가 없어진다. 동시에 스위치는 같은 MAC 주소가 여러 포트에서 번갈아 보이는 상황(MAC 플래핑)을 겪으면서 MAC 주소 테이블이 계속 갱신되고, 결국 스위치 CPU 자원까지 소진되어 관리 화면 접속조차 안 되는 경우가 많다. 실무에서는 케이블 하나를 잘못 연결한 것만으로 사무실 전체, 심하면 건물 전체의 네트워크가 마비되는 사고로 이어진다.

STP가 루프를 막는 원리
STP는 이런 사고를 막기 위해 스위치들이 서로 정보를 주고받아 네트워크 전체의 연결 구조를 트리(나무) 형태로 정리하는 프로토콜이다. 트리 구조에는 원래 고리가 없으므로, STP가 제대로 동작하는 네트워크에서는 루프가 만들어질 수 없다.
동작 방식을 간단히 요약하면 이렇다.
- 먼저 스위치들이 서로 BPDU(Bridge Protocol Data Unit)라는 제어 메시지를 주고받아 그중 한 대를 루트 브리지(Root Bridge)로 선출한다. 루트 브리지는 트리 구조의 기준점 역할을 한다.
- 나머지 스위치들은 루트 브리지까지 가는 가장 짧은 경로를 계산하고, 그 경로에 있는 포트를 지정 포트(Designated Port)로 지정해 전달(Forwarding) 상태로 둔다.
- 중복되는 경로, 즉 이미 다른 포트로 루트 브리지까지 갈 수 있는데 추가로 존재하는 경로의 포트는 차단 포트(Blocking Port)로 지정해 논리적으로 막아버린다. 케이블은 물리적으로 연결되어 있지만 그 포트로는 트래픽이 흐르지 않는 상태가 된다.
- 만약 정상적으로 쓰이던 경로에 장애가 생기면, 차단되어 있던 포트가 자동으로 전달 상태로 전환되면서 네트워크가 다시 연결된다.

핵심은 케이블을 이중으로 연결해도 실제로 트래픽이 도는 경로는 항상 하나만 활성화된다는 점이다. 평소에는 여분의 경로가 차단 상태로 대기하다가, 주 경로에 문제가 생기는 순간에만 살아나는 방식이다.
이중화와 STP는 왜 항상 세트인가
네트워크 가용성을 높이려는 목적으로 스위치 간 링크를 이중으로 구성하는 경우가 많다. 핵심 서버실이나 코어 스위치처럼 절대 끊기면 안 되는 구간일수록 케이블을 두 개 이상 연결해 하나가 죽어도 다른 하나가 살아남도록 만든다. 그런데 이 이중화 자체가 곧 루프의 재료가 된다. 물리적으로 고리 모양이 만들어지기 때문이다.
그래서 이중화를 하는 순간 STP는 선택이 아니라 필수가 된다. STP 없이 케이블만 이중으로 연결하면 오히려 가용성을 높이려던 시도가 전체 네트워크를 마비시키는 자충수가 된다. 반대로 STP가 제대로 설정되어 있으면, 평소에는 하나의 경로만 쓰다가 장애 발생 시 자동으로 예비 경로가 살아나므로 물리적인 이중 연결의 장점만 취하고 루프의 위험은 제거할 수 있다.
실무에서 흔히 겪는 루핑 사고 유형
- 사용자가 사무실 책상 밑에서 두 개의 랜선을 각각 다른 벽면 포트에 꽂아 자기도 모르게 루프를 만드는 경우. 흔히 무심코 남는 케이블을 재활용하려다 발생한다.
- 미사용 허브나 스위치를 임시로 연결하면서 양쪽 끝을 실수로 같은 네트워크에 두 번 연결하는 경우.
- 신규 스위치를 이중화 목적으로 설치했는데 STP가 비활성화되어 있거나, 포트가 STP 관리 대상에서 빠져 있는 경우.
- 무선 공유기를 스위치처럼 여러 대 연결해서 확장하다가 루프가 생기는 가정용 환경의 경우.
이런 사고를 막으려면 관리형 스위치에서 STP를 기본적으로 활성화해 두고, 특히 사용자 PC가 물리는 포트에는 BPDU 가드나 포트 패스트 같은 보조 기능을 함께 적용해 불필요한 루프 유발 요소를 원천 차단하는 것이 좋다.
마치며
루핑은 단순히 성능이 조금 떨어지는 수준의 문제가 아니라 네트워크 전체를 순식간에 마비시키는 치명적인 사고다. 그리고 아이러니하게도 이런 사고는 대개 안정성을 높이려고 케이블을 하나 더 연결하는 순간에 발생한다. STP는 바로 이 모순을 해결하기 위해 존재하는 기술이다. 평소에는 조용히 여분의 경로를 차단해 루프를 막고 있다가, 정말 필요한 순간에만 우회 경로를 열어주는 것이다. 스위치 여러 대로 이중화 구성을 계획하고 있다면, 케이블을 연결하기 전에 STP가 켜져 있는지부터 반드시 확인하는 습관을 들이는 것을 추천한다.
참고
- Cisco, “Spanning Tree Protocol 이해하기” 공식 문서
- IEEE 802.1D 표준 문서
홍TV



![Eclipse에서 갑자기 "[m2e] Lifecycle Mapping" 오류? Maven 프로젝트가 빨간 줄 뜨는 이유 6 Eclipse에서 갑자기 [m2e] Lifecycle Mapping 오류? Maven 프로젝트가 빨간 줄 뜨는 진짜 이유](https://hongtv.co.kr/wp-content/uploads/2026/09/62edeb0f-aaf8-42cc-af31-1a91e54bc187-300x200.png)
댓글 0
첫 댓글을 남겨보세요.