신장 트리 프로토콜

신장 트리 프로토콜(Spanning Tree Protocol, STP)은 컴퓨터 네트워크, 특히 이더넷(Ethernet) 기반의 근거리 통신망(LAN)에서 발생하는 루프(loop)를 방지하기 위해 설계된 네트워크 프로토콜입니다. IEEE 802.1D 표준으로 정의되었으며, 네트워크의 이중화(redundancy)를 제공하면서도 데이터 프레임의 무한 순환을 막는 핵심적인 역할을 합니다.


개요

네트워크에 루프가 발생하면 브로드캐스트 스톰(Broadcast Storm), MAC 주소 테이블 불안정(MAC address table instability), 그리고 중복 프레임 전송(duplicate frame delivery)과 같은 심각한 문제가 발생할 수 있습니다. STP는 이러한 문제를 해결하기 위해 네트워크 내의 중복 경로 중 하나만을 활성화하고, 나머지 경로들은 대기 상태로 두어 루프를 논리적으로 차단합니다.

작동 원리

STP는 네트워크 토폴로지(topology)를 학습하고, 이중화된 경로 중에서 최적의 단일 경로(신장 트리)를 구성합니다. 이를 위해 네트워크 내의 모든 스위치 중 하나의 스위치를 '루트 브리지(Root Bridge)'로 선출합니다. 이후 각 스위치는 루트 브리지까지의 최단 경로를 계산하고, 해당 경로 상의 포트들을 '포워딩(Forwarding)' 상태로 전환합니다. 루프를 형성할 수 있는 나머지 포트들은 '블로킹(Blocking)' 상태로 두어 데이터 전송을 차단합니다.

스위치들은 서로 브리지 프로토콜 데이터 유닛(BPDU, Bridge Protocol Data Unit)이라는 특수한 메시지를 교환하여 루트 브리지를 선출하고, 각 포트의 상태를 결정합니다.


주요 개념

  • 루트 브리지(Root Bridge): STP 도메인의 중심이 되는 스위치입니다. 가장 낮은 브리지 ID(Bridge ID: 우선순위 값 + MAC 주소)를 가진 스위치가 선출됩니다.
  • 브리지 ID(Bridge ID): 스위치의 고유 식별자로, 스위치의 우선순위 값(priority, 기본값 32768)과 MAC 주소로 구성됩니다. 루트 브리지 선출에 사용됩니다.
  • 루트 포트(Root Port): 루트 브리지가 아닌 각 스위치에서 루트 브리지로 가는 최단 경로에 있는 포트입니다. 스위치당 하나만 존재하며, 항상 포워딩 상태입니다.
  • 지정 포트(Designated Port): 각 네트워크 세그먼트(링크)에서 루트 브리지로 가는 최단 경로에 있는 포트입니다. 세그먼트당 하나만 존재하며, 이 포트를 통해 데이터가 전송됩니다. 루트 브리지의 모든 포트는 지정 포트입니다.
  • 비지정 포트(Non-Designated Port) / 차단 포트(Blocked Port): 루프를 형성할 수 있는 경로에 있는 포트입니다. 데이터 전송은 차단되지만, 네트워크 장애 시 포워딩 상태로 전환될 수 있습니다.
  • 경로 비용(Path Cost): 특정 링크를 통과하는 데 드는 비용으로, 링크의 대역폭(Bandwidth)에 따라 결정됩니다. 루트 브리지까지의 최단 경로를 계산하는 데 사용됩니다. 대역폭이 높을수록 비용은 낮습니다.

포트 상태

STP는 포트의 상태 전환을 통해 루프를 방지하고 네트워크 수렴(Convergence)을 이룹니다. 포트 상태는 다음과 같습니다.

  • 차단(Blocking): BPDU만 수신하며, 사용자 데이터는 전송/수신하지 않습니다. 초기 상태이자 루프 방지 상태입니다.
  • 수신(Listening): BPDU를 수신하고 송신하지만, MAC 주소 테이블을 학습하거나 사용자 데이터를 전송하지 않습니다.
  • 학습(Learning): BPDU를 수신/송신하고 MAC 주소 테이블을 학습하지만, 사용자 데이터를 전송하지 않습니다.
  • 전달(Forwarding): BPDU를 수신/송신하고 MAC 주소 테이블을 학습하며, 사용자 데이터를 전송합니다. 정상 작동 상태입니다.
  • 비활성화(Disabled): 관리자가 수동으로 비활성화한 상태로, STP에 참여하지 않습니다.

STP의 변형 및 표준

STP는 초기 표준의 느린 수렴 시간 문제를 해결하기 위해 여러 버전으로 발전했습니다.

  • 오리지널 STP (802.1D): 최초의 표준입니다. 토폴로지 변경 시 수렴 시간이 비교적 길다는 단점(30~50초)이 있습니다.
  • 고속 신장 트리 프로토콜 (RSTP, Rapid Spanning Tree Protocol, 802.1w): 802.1D의 단점인 느린 수렴 시간을 크게 개선했습니다. 일반적으로 수 초 내에 네트워크 수렴이 가능합니다. 포트의 역할과 상태 전환 로직을 효율화했습니다.
  • 다중 신장 트리 프로토콜 (MSTP, Multiple Spanning Tree Protocol, 802.1s): 여러 개의 STP 인스턴스를 생성하여 VLAN(Virtual LAN)별로 다른 신장 트리를 구성할 수 있도록 합니다. 대규모 네트워크에서 VLAN 기반의 로드 밸런싱(Load Balancing)이 가능하며, STP의 확장성과 효율성을 높입니다.

장점

  • 네트워크 루프 방지: 이더넷 네트워크에서 가장 치명적인 문제 중 하나인 루프를 효과적으로 방지합니다.
  • 이중화 제공: 물리적 링크의 이중화를 통해 네트워크 가용성(availability) 및 안정성을 향상시킵니다. 하나의 링크가 실패해도 백업 경로를 통해 통신을 지속할 수 있습니다.

단점 및 한계

  • 느린 수렴 시간 (802.1D): 오리지널 STP의 경우 토폴로지 변경 시 수렴 시간이 길어 네트워크 지연이 발생할 수 있습니다. (RSTP/MSTP로 개선)
  • 복잡성: 대규모 네트워크에서 프로토콜 구성 및 문제 해결이 복잡할 수 있습니다.
  • 비효율적인 대역폭 활용: 기본적으로 하나의 논리적 경로만 활성화되므로, 이중화된 링크의 대역폭을 완전히 활용하지 못하는 비효율성이 있을 수 있습니다. (MSTP 등으로 부분적으로 보완 가능)

신장 트리 프로토콜은 안정적인 이더넷 네트워크 운영을 위한 필수적인 기술이며, 지속적인 발전을 통해 현대의 복잡한 네트워크 환경에서도 중요한 역할을 수행하고 있습니다.

둘러보기

더 찾아볼 만한 주제