본문 바로가기
Network/Switching

STP(Spanning Tree Protocol)란?, RSTP, MSTP

by netron 2025. 5. 3.

STP

STP(Spanning Tree Protocol)**는 L2 이더넷 네트워크에서 루프(Loop)를 방지하기 위한 프로토콜.

IEEE 802.1D 표준에 정의

STP가 필요한 이유

이더넷은 브로드캐스트 기반이고, 프레임에 TTL(Time To Live)이 없기 때문에 루프가 존재하면 프레임이 무한으로 순활할 수 있다.

→ STP 설정을 통해 논리적으로 루프를 막아야 한다.

 

STP 개념

STP는 스위치 포트를 Block 상태로 만들어 Loop-Free한 트리 구조를 형성한다. 

STP 구성 요소:

요소 설명
Root Bridge 트리의 기준이 되는 최상위 스위치 (모든 계산의 기준)
Root Port (RP) 각 스위치에서 Root Bridge로 가는 최단 경로 포트
Designated Port (DP) 각 세그먼트에서 "가장 좋은 경로"를 가진 포트
Blocked Port 루프 방지를 위해 트래픽을 차단하는 포트

STP 동작 구조

 

  1. Root Bridge 선출
    • Bridge ID(BID) = Priority(기본 32768) + MAC 주소
    • 가장 낮은 BID 가진 스위치가 Root가 됨
  2. 각 스위치가 Root까지의 최단 경로 계산
    • 비용(경로 cost) 기반으로 결정됨
  3. Root Port, Designated Port 결정
    • RP: 내 쪽에서 Root로 가는 최단 경로
    • DP: 세그먼트에서 가장 좋은 방향
  4. 나머지 포트는 Block 상태
    • 물리적 경로는 살아 있지만, 프레임 포워딩은 안 함

STP 타이머

타이머 기본값 설명
Hello Time 2초 Root가 BPDU 보내는 간격
Forward Delay 15초 Listening/Learning 단계 시간
Max Age 20초 BPDU 안 오면 Root 실패 간주

 

포트 상태 변화 과정

 

  1. Blocking
  2. Listening – BPDU 수신만, MAC 학습 없음
  3. Learning – MAC 주소 학습 시작
  4. Forwarding – 정상 트래픽 전송

STP 과정

STP 실습 토폴로지

왼쪽 이미지는 Packet Tracer에서 기본적으로 설정되어있는 STP가 작동되기 전 상태이다. 서로 BPDU를 주고받으며 누가 Root Bridge인지 계산하는 과정이다. Listening 또는 Learning 상태이다.

 

오른쪽은 STP 과정을 통해 Loop-Free 구조의 트리를 생성하고 주황색으로된 포트가 Blocking 포트를 의미한다. 나머지는 Forwarding 상태

1. Root Bridge 선출

각 스위치의 MAC 주소를 확인해보면 위와같다. 위에 Root Bridge 선출방식을 따르면 Priority는 동일하고 MAC 주소는 Switch3이 가장 작으니 Switch3이 Root Bridge가 된다.

2. Root Port(RP) 결정

Root Bridge 선출이후 Root Port를 결정한다. 

 

  • 각 스위치는 Root Bridge(Switch3)까지 가는 경로 중 Cost가 가장 낮은 포트를 RP로 설정함
  • Switch2 → Switch3: 직접 연결 (Cost = 19) → RP # Cost는 링크 속도에 따라 다름
  • Switch1 → Switch3: 직접 연결 (Cost = 19) → RP

 

3. Designated Port(DP) 결정

각 링크마다 1개의 DP만 허용된다. 나머지 포트는 Blocking 된다. 

  • Switch1과 Switch2 사이의 링크에서 둘 다 Root가 아니기 때문에 서로 DP가 되려고 경쟁한다.
  • Root까지의 Path Cost가 더 낮은 쪽을 DP로 선택한다. Cost가 같을 경우 Bridge ID(MAC 주소)로 비교한다. 
  • Switch2의 MAC 주소가 더 낮기 때문에 Switch2의 포트가 DP로 선택되며 Switch1은 자동적으로 Blocking 된다.

 

RSTP

  • Rapid Spanning Tree Protocol
  • STP의 느린 수렴 속도를 개선한 IEEE 802.1w 표준 프로토콜
  • 기존 STP는 포트 상태가 Forwarding으로 되기까지 최대 50초까지 걸리는 단점이 있음
    → RSTP는 이를 수 초 이내로 줄임

RSTP 포트 역할

역할 설명
Root Port (RP) 루트 브리지로 가는 최단 경로
Designated Port (DP) 세그먼트에서 루트로 가는 최선의 포트
Alternate Port Root로 가는 보조 경로 → 기본은 Blocking 상태
Backup Port 같은 세그먼트 내의 예비 DP 포트 (허브 연결 시 발생)
Disabled 관리적 비활성화

RSTP 포트 상태

STP와 다르게 3가지 상태만 유지. 상태 단계 간소화를 통해 컨버전스 타임이 조금 더짧다.

상태 설명
Discarding 트래픽 드롭 (기존 STP의 Blocking + Listening)
Learning MAC 주소 학습 중
Forwarding 트래픽 전송 가능

MSTP

  • Multiple Spanning Tree Protocol
  • VLAN이 많아지는 대규모 L2 네트워크에서 효율적인 STP 구성을 위해 등장한 방식
  • 여러 VLAN을 그룹으로 묶어 하나의 Spanning Tree 인스턴스로 관리할 수 있게 해줌
  • IEEE 802.1s

MSTP 장점

  • VLAN마다 트리 경로를 다르게 해서 트래픽 분배 → 부하 분산 가능
  • PVST처럼 VLAN 수만큼 인스턴스 만들 필요 없음 → 리소스 절감
  • 대규모 L2 설계에 최적화

정리

공부하면서 헷갈린 부분은 포트상태와 RP, DP의 관계가 감이 잡히지 않았는데 STP를 통해 먼저 포트의 역할(RP, DP)을 결정하고 그 이후 역할에 맞게 포트 상태에 전환하는 것이다. 

 

요약하자면, 

  1. STP가 전체 네트워크 구조를 보고
    • 루트 브리지를 선출하고
    • 각 포트의 역할(RP, DP, Alternate 등)을 계산
  2. 계산된 포트 역할에 따라 포트 상태를 설정
역할 상태
Root Port Listening → Learning → Forwarding
Designated Port Listening → Learning → Forwarding
Alternate (루프 경로) Blocking
Disabled Disabled (shutdown 등)

 

 

'Network > Switching' 카테고리의 다른 글

ARP(Address Resolution Protocol)란?, RARP  (0) 2025.05.03