
Spanning-Tree Protocol
회선의 이중화 (Redundant)
- L2 구간의 단일 경로의 문제점 해결을 위해 회선을 이중화 하여 구성
- 이중화는 더 많은 가동 시간을 허용
- 하나의 회선에 문제가 생기더라도 다른 회선을 통해 통신 보장
- LAN 구간은 End-Device가 연결되는 구간으로써 네트워크 신뢰도에 직접적인 영향을 주는 구간이기에 예측할 수 있는 직관적 구조로 설계하는 것이 중요
회선 이중화 문제점
- Broadcast, Multicast 트래픽은 L2 스위치에 의해 Broadcast로 간주
- 브로드와 멀티캐스트 프레임은 수신한 포트를 제외한 모든 포트로 Flooding
- 이 과정에서 L2 스위치는 반복적으로 브로드/멀티캐스트 프레임을 전송
- 무한한 flooding을 통해 PC의 CPU 리소스를 상당히 낭비함
이중화 문제점 해결법?
- STP(Spanning Tree Protocol)
- IEEE 802.1d에 정의
- 스위치의 특정 포트를 논리적으로 동작하지 못하게 blocking 실시
- BPDU(Bridge Protocol Data Unit)
- Configuration BPDU는 Root Bridge 선출에 사용
- 스위치 및 스위치 포트 역할 결정에 사용
- 스위치의 포트 동작에 관한 정보를 담고 있는 메시지
- 2초 주기로 주고 받음 (Hello Time)
- TCN(Topology Change Notification)
- 스위치 기반의 네트워크 토폴로지에 변화가 감지될 경우, 이를 알리기 위해 사용하는 BPDU의 한 종류
STP 필드
- Root Bridge ID
- 기본값, 32768 + VLAN.ID (default: 1)
- 모든 스위치의 디폴트 VLAN의 ID는 1이므로 MAC 주소를 비교하여 낮은 순으로 Root가 될 우선순위를 먼저 가짐
- Path Cost
- Bridge ID
- Root Switch로 가는 경로상 바로 직전 스위치의 스위치 ID
- Port ID
주의사항
- STP 기반으로 기본 값을 사용할 때, 최대 7개를 넘지 않아야 함
- 기본 값은 MAX 7개가 있을 때 기준으로 만든 것
- BPDU를 받고 계산하는 Delay는 1초를 넘지 않도록 함(Transit delay)
- BPDU를 받고 다른 포트로 보내는데 1초가 넘지 않도록 함(BPDU delay)
- BPDU가 케이블을 통해 상대방 스위치가 받는 시간은 1초를 넘기지 않도록 함(Msg Overestimate)
BPDU
- 이중화 구조를 가지는 스위치로 구성된 LAN 환경을 구성하기 위해 STP 사용
- STP를 적용하기 위해 BPDU 프레임을 주고 받은 후 Root Bridge 선출
- 네트워크 루프 제거, 데이터 프레임이 효율적으로 전달되는 트리 구조를 형성하기 위해 Root Bridge 선출
- Root Bridge를 결정하기 위해서는 Bridge ID를 사용해야 함
- 모든 스위치는 고유한 MAC 주소를 공장 출하 때부터 지니고 있음
- Bridge ID = Bridge Priority (16비트) + MAC Address(48비트)로 구성
- Root Bridge로 선택된 스위치는 기본적으로 모든 포트가 Foward 모드로 동작
- 해당 역할을 하는 스위치를 Designated Switch라는 명칭을 받음
Root Bridge 선출 우선 순위
- 가장 낮은 Priority를 가진 스위치
- Bridge Priority가 모두 동일할 경우, MAC 주소가 낮은 스위치가 우선
STP가 동작하는 스위치 포트의 역할
- 3가지 역할로 구분
- 루트 포트(Root Port)
- 루트 브리지와 가장 가까운 스위치의 포트 (정상 frame 수신 가능)
- 각 스위치에 하나만 존재할 수 있음
- 지정 포트(Designated Port)
- 루트 포트가 아니면서 정상적으로 frame을 수신할 수 있는 포트
- 스위치와 스위치를 이어주는 각 회선마다 하나씩 존재할 수 있음
- 비지정 포트(Non Designated Port)
- 정상적으로 frame을 수신할 수 없는 포트
- Alternative Port라고도 함(RSTP 용어)
- 루트 포트와 지정 포트가 모두 설정된 이후 남은 포트들로 구성됨
- 자동으로 STP에 의해 논리적으로 닫힌 포트가 됨
속도 별 STP 경로 값

- 기본적으로 값이 낮은 경로를 주 경로로 설정
- 만약 Path Cost 값이 같을 경우, Bridge ID를 비교하여 값이 작은 스위치의 경로를 선택
- 만약 Path Cost와 Bridge ID까지 모두 같은 경우, Port ID를 비교하여 더 낮은 포트 번호에 연결된 경로를 선택
PVST (Per-Vlan Spanning Tree)
개념
- VLAN을 설정하고 각 VLAN마다 spanning tree 개념을 적용한 것
- 이를 통해 각 VLAN마다 통신하는 경로를 따로 지정하여 분리할 수 있음
설정

- 스위치에 해당 명령어를 입력하여 VLAN마다 주요 통신 경로와 보조 통신 경로를 지정할 수 있음
참고 (설정 명령어와 동작 순서 표시)
RSTP
Spanning Tree Protocol 단점
- STP 포트 전환, 포트의 역할과 상태를 전환하는 시간 동안에는 네트워크 통신이 불가능함
RSTP?
- STP의 대표적인 단점을 보완하기 위해 등장
- 기존의 STP의 포트 전환 딜레이 시간을 짧게 줄인 기술
설정 명령어
전역 설정에서 >>>
spanning-tree rapid-port
참고