Network

STP 관련 이론 정리

KDY0218 2025. 12. 24. 15:45

 

1. STP(Spanning Tree Protocol)란?

  • 개념: 2계층(L2) 네트워크 환경에서 루프(Loop)를 방지하기 위한 프로토콜(IEEE 802.1D).
  • 필요성: 스위치 간의 경로를 이중화(Redundancy)하면 신뢰성은 높아지지만, 필연적으로 무한 루프(Broadcast Storm)가 발생합니다. STP는 루프가 발생할 수 있는 경로 중 하나를 논리적으로 차단(Block)하여 트리를 구성합니다.
  • 결론적으로 L2 네트워크의 이중화 구성 시 발생하는 루프를 방지하기 위해, 특정 포트를 논리적으로 차단하여 루프 없는(Loop-free) 토폴로지를 만드는 프로토콜입니다.

 

2. STP 포트의 역할 (Port Roles)

STP 계산 결과에 따라 각 스위치 포트는 다음과 같은 역할을 부여받습니다.

  • Root Port (RP): 루트 브리지(대장 스위치)로 가는 가장 빠른(비용이 낮은) 경로의 포트. (Non-Root Bridge마다 1개)
  • Designated Port (DP): 각 세그먼트(링크) 별로 데이터를 전송하는 포트. (Root Bridge의 모든 포트는 DP)
  • Non-Designated Port (NDP/Block): 데이터 전송이 차단된 포트. 루프를 끊는 역할을 하며, 평소에는 데이터를 보내지 않고 BPDU만 수신합니다.

 

3. STP 상태 변화와 수렴 시간 (Convergence Time)

기본 STP(802.1D)는 장애 발생 시 복구까지 시간이 오래 걸리는 단점이 있습니다.

  • 상태 변화 단계:
    1. Blocking: 데이터 차단, BPDU 수신만 가능.
    2. Listening (15초): 루프 감지 및 주소 학습 준비.
    3. Learning (15초): MAC 주소 학습 시작, 데이터 전송은 안 함.
    4. Forwarding: 정상적인 데이터 송수신.
  • 수렴 시간: 장애 발생 시 Listening + Learning 등을 포함해 약 30~50초의 지연 시간(Downtime)이 발생합니다.
  • 단축 방법:
    1. RSTP (802.1w) 사용: 컨버전스 시간을 1~2초 이내로 획기적으로 단축.
    2. Cisco 전용 기술 사용: PortFast, UplinkFast, BackboneFast 등 설정.

 

4. 각종 Fast 설정 (속도 최적화)

시스코 스위치에서 STP의 느린 수렴 속도를 보완하기 위해 사용하는 기술들입니다.

  • PortFast:
    • 대상: PC, 서버 등 종단 장치(Edge Port)가 연결된 포트.
    • 기능: Listening, Learning 단계를 건너뛰고 즉시 Forwarding 상태가 됩니다. (부팅 시 30초 대기 없이 바로 통신 가능)
  • UplinkFast:
    • 대상: 액세스 계층 스위치(이중화된 업링크를 가진 경우).
    • 기능: 직접 연결된 링크 단절 시, 차단(Block)되어 있던 백업 링크를 즉시 활성화합니다.
  • BackboneFast:
    • 대상: 모든 스위치.
    • 기능: 직접 연결되지 않은(간접) 링크의 장애를 감지했을 때, Max Age(20초)를 기다리지 않고 즉시 재계산을 수행하여 복구 시간을 단축합니다.

 

5. 각종 Guard 설정 (안정성 및 보안)

STP 토폴로지가 의도치 않게 변경되거나 공격받는 것을 막기 위한 보호 기술입니다.

  • BPDU Guard:
    • 설명: PortFast가 설정된 포트(PC 연결 포트)로 BPDU(스위치 간 신호)가 들어오면, 해당 포트를 강제로 셧다운(err-disable) 시킵니다.
    • 목적: 사용자가 무단으로 개인 스위치나 공유기를 연결하여 루프를 만드는 것을 방지합니다.
  • Root Guard:
    • 설명: 특정 포트에서 자신보다 우선순위가 높은 BPDU(더 좋은 루트 브리지 정보)가 들어오면 해당 포트를 차단합니다.
    • 목적: 의도치 않은 스위치가 루트 브리지 권한을 뺏어가는 것을 방지합니다.
  • Loop Guard:
    • 설명: 광케이블 손상 등으로 단방향 통신만 될 때, 차단(Block) 상태의 포트가 잘못하여 전송(Forwarding) 상태로 바뀌어 루프가 생기는 것을 막습니다.
    • 목적: 단방향 링크 장애로 인한 루프 방지.