Spanning Tree Protocol(STP)는 네트워크 내 스위치들 사이에 루프(Loop)가 발생하는 것을 방지하기 위한 프로토콜입니다. 이더넷(IEEE 802.1D 표준) 네트워크에서 스위치들은 기본적으로 프레임을 브로드캐스트하고, 특정 조건에서는 동일한 프레임이 무한히 전송되는 루프가 발생할 수 있습니다. 루프가 발생하면 네트워크가 마비되고 심각한 장애를 초래할 수 있는데, STP는 이를 방지하기 위해 네트워크를 트리(Loop 없는 구조) 형태로 자동으로 재구성합니다. 이 글에서는 STP의 개념, 역할, 동작 원리, 주요 기능, 그리고 기본 사용법에 대해 2500자 이상의 분량으로 상세히 설명합니다.
1. STP(Spanning Tree Protocol)란 무엇인가?
STP는 "스패닝 트리 프로토콜"이라는 이름처럼, 네트워크 내의 스위치들이 서로 연결되어 있을 때 '트리' 구조를 만들어 루프를 방지하는 프로토콜입니다. STP는 스위치 간 링크 중 일부를 비활성화(blocking)하여 물리적으로는 루프가 존재해도 논리적으로 루프가 없는 트리 형태로 구성합니다.
STP를 사용하는 이유
- 브로드캐스트 스톰(Broadcast Storm) 방지
- MAC 주소 테이블 불안정 문제 해결
- 프레임 복제(Multiple Frame Copy) 방지
- 네트워크의 고가용성 유지
2. STP의 주요 역할
STP는 스위치 네트워크에서 루프를 방지하고 안정적인 데이터 전송 경로를 유지하는 데 핵심적인 역할을 합니다.
2.1 루트 브리지(Root Bridge) 선정
STP는 네트워크 전체에서 '가장 중심이 되는 스위치'를 하나 선택합니다. 이 스위치를 루트 브리지라고 부릅니다. 루트 브리지는 가장 낮은 브리지 ID(Bridge ID)를 가진 스위치가 자동으로 선정됩니다.
- Bridge ID = Bridge Priority(기본 32768) + MAC 주소
- Priority가 같으면 MAC 주소가 더 낮은 스위치가 루트 브리지
2.2 경로 비용(Path Cost) 계산
각 스위치는 루트 브리지까지 도달하는 최단 경로를 계산합니다. 이때 링크의 속도(대역폭)에 따라 '경로 비용'이 다르게 책정됩니다.
- 10Mbps: 비용 100
- 100Mbps: 비용 19
- 1Gbps: 비용 4
- 10Gbps: 비용 2
가장 비용이 낮은 경로가 '루트 경로'가 됩니다.
2.3 포트 역할 지정
STP는 각 스위치의 포트에 다음과 같은 역할을 부여합니다:
- Root Port: 루트 브리지로 향하는 최단 경로 포트 (각 스위치당 하나)
- Designated Port: 네트워크 세그먼트당 데이터를 전송할 수 있는 포트
- Blocked Port: 루프를 방지하기 위해 차단된 포트 (데이터 전송 불가)
3. STP의 동작 과정
STP는 BPDU(Bridge Protocol Data Unit)라는 특수한 프레임을 주고받으면서 네트워크 구조를 파악하고 최적의 트리를 구성합니다.
STP 동작 순서
- 스위치가 자신을 루트 브리지라고 가정하고 BPDU를 전송
- BPDU를 비교하여 더 낮은 Bridge ID를 가진 스위치를 루트로 선정
- 루트 포트를 결정하고, 각 네트워크 세그먼트마다 Designated Port를 선정
- 나머지 포트는 루프 방지를 위해 Blocked 상태로 전환
BPDU(Bridge Protocol Data Unit)
BPDU는 STP에서 스위치 간 정보 교환에 사용되는 제어 메시지입니다. 주요 정보는 다음과 같습니다:
- Root Bridge ID
- Path Cost
- Sender Bridge ID
- Port ID
4. STP의 주요 기능
4.1 루프 방지
스위치 네트워크에 물리적인 루프가 있더라도, STP는 일부 포트를 차단하여 논리적인 트리 형태로 만들어 루프를 완벽히 방지합니다.
4.2 링크 장애 복구
어떤 링크나 스위치가 고장 나면, STP는 자동으로 Blocked 포트를 활성화하여 새로운 경로를 형성합니다. 이를 통해 네트워크 가용성을 유지할 수 있습니다.
4.3 자동 재구성
스위치 추가/삭제, 링크 변경이 발생해도 STP는 네트워크를 재조정하여 항상 최적화된 트리 구조를 유지합니다.
4.4 확장 기능
기본 STP 외에도 빠른 수렴과 향상된 기능을 제공하는 여러 확장 기술이 있습니다.
- RSTP (Rapid Spanning Tree Protocol): 수렴 속도 개선 (2초 내 복구)
- MSTP (Multiple Spanning Tree Protocol): VLAN 별로 별도 트리 구성
- PVST+ (Per VLAN Spanning Tree Plus): VLAN 별로 독립적인 STP 동작 (Cisco 전용)
5. STP 기본 설정 방법 (Cisco 예시)
스위치 장비에서 STP를 설정하고 관리하는 방법은 비교적 간단합니다. 다음은 기본적인 Cisco 스위치에서의 STP 설정 예입니다.
STP 활성화
대부분의 경우 스위치에서 기본적으로 STP가 활성화되어 있습니다. 하지만 수동으로 설정할 수도 있습니다.
Switch(config)# spanning-tree vlan 1
루트 브리지 강제 지정
특정 스위치를 루트 브리지로 설정하고 싶을 경우 우선순위를 낮춥니다.
Switch(config)# spanning-tree vlan 1 priority 4096
우선순위(priority)는 기본값이 32768이며, 낮을수록 루트가 됩니다.
포트 상태 확인
Switch# show spanning-tree
이 명령으로 현재 스위치의 루트 포트, 블록된 포트, 코스트 등을 확인할 수 있습니다.
6. STP 설정 시 주의사항
- Loop Guard 활성화: STP BPDU 손실 시 루프 발생을 방지
- Root Guard 활성화: 예기치 않은 스위치가 루트가 되는 것을 방지
- BPDU Guard 활성화: 엑세스 포트에 BPDU 수신 시 포트를 차단
- RSTP나 MSTP 고려: 빠른 수렴이 필요하다면 RSTP나 MSTP로 업그레이드
결론
Spanning Tree Protocol(STP)은 이더넷 네트워크의 루프를 방지하고 안정성과 가용성을 보장하기 위한 필수 프로토콜입니다. 스위치 간 루프가 발생하면 심각한 장애로 이어질 수 있는데, STP는 이를 사전에 차단하고, 장애 발생 시 자동으로 경로를 재구성합니다. 또한 다양한 확장 프로토콜(RSTP, MSTP)을 통해 수렴 속도 개선과 VLAN 환경 지원도 가능해졌습니다. STP의 원리와 설정 방법을 정확히 이해하고 활용하면, 보다 안정적이고 효율적인 네트워크를 구축할 수 있습니다.
'IT' 카테고리의 다른 글
RAID 개념, 종류 및 동기화 방식에 대한 상세 설명 (0) | 2025.04.04 |
---|---|
Redis 의 개요 및 활용 분야 (데이터베이스, 캐싱, 분산 시스템) (1) | 2025.04.04 |
서버 관리를 위한 모니터링 툴 소개 (서버 성능, 네트워크, 리소스 실시간 관리) (0) | 2025.03.23 |
PXE 서버의 역할과 필요성, 서버 구축 방법 (0) | 2025.03.23 |
MySQL에서 DB 튜닝하는 방법 (성능 최적화, 인덱스 활용, 쿼리 최적화) (0) | 2025.03.16 |