STP(Spanning Tree Protocol)는 이더넷 네트워크의 루프를 방지하기 위해 IEEE 802.1D로 표준화된 프로토콜이다. 중복 경로를 논리적으로 차단해 스위치 루프로 인한 브로드캐스트 스톰을 막는다.
STP 진화
| 버전 | 표준 | 수렴 시간 | 특징 |
|---|
| STP | 802.1D-1998 | 30~50초 | 최초 표준 |
| RSTP | 802.1w | 1~2초 | 빠른 수렴 |
| MSTP | 802.1s | 1~2초 | 다중 인스턴스 |
| PVST+ | Cisco 독자 | 1~2초 | VLAN별 STP |
STP 동작 원리
1. 루트 브리지 선출 (낮은 Bridge ID = 우선순위 + MAC)
2. 루트 포트 선택 (루트까지 최소 경로)
3. 지정 포트 선택 (각 세그먼트당 1개)
4. 나머지 포트 → 차단(Blocking) 상태
포트 상태 전이 (STP)
Disabled → Blocking → Listening (15초) → Learning (15초) → Forwarding
RSTP 포트 역할
Root Port (RP) : 루트 브리지 방향
Designated Port (DP) : 세그먼트의 대표 포트
Alternate Port (AP) : RP의 백업
Backup Port (BP) : DP의 백업
Cisco RSTP 설정
bash
# RSTP 활성화
Switch(config)# spanning-tree mode rapid-pvst
# 루트 브리지 강제 지정
Switch(config)# spanning-tree vlan 10 root primary
Switch(config)# spanning-tree vlan 20 root secondary
# PortFast (엣지 포트: PC 연결)
Switch(config-if)# spanning-tree portfast
# BPDU Guard (PortFast 포트에 BPDU 수신 시 차단)
Switch(config-if)# spanning-tree bpduguard enable
# 브리지 우선순위 수동 설정
Switch(config)# spanning-tree vlan 10 priority 4096
STP 취약점과 대응
- •BPDU 스푸핑: 공격자가 루트 브리지 탈취 → BPDU Guard/Root Guard 적용
- •토폴로지 변경 공격: TCN BPDU 범람 → TC Guard 적용
- •수렴 지연: STP 대신 RSTP/MSTP 사용
관련 문서
- •[vlan|[VLAN]]
- •[[ospf|OSPF]]
- •[[sdn|SDN (소프트웨어 정의 네트워킹)]]