STP(Spanning Tree Protocol)는 네트워크 내에서 루프(Loop)를 방지하기 위해 설계된 네트워크 프로토콜입니다. 이 프로토콜은 1985년에 래디어 펄먼(Dr. Radia Perlman)에 의해 개발되었습니다. STP는 브리지나 스위치 등의 네트워크 장비를 사용하여 이더넷(Ethernet) 네트워크 내에서 루프 프리(loop-free) 토폴로지를 생성합니다. 이 프로토콜은 IEEE 802.1D 표준으로 정의되어 있습니다.
STP의 작동 원리
루트 브리지 선정: 네트워크 내의 모든 스위치는 STP 연산을 시작할 때 루트 브리지(Root Bridge)를 선정합니다. 이는 가장 낮은 브리지 ID를 가진 스위치가 됩니다. 브리지 ID는 스위치의 우선순위 값과 MAC 주소의 조합으로 이루어집니다.
루트 포트 선정: 루트 브리지가 아닌 다른 모든 스위치는 루트 브리지까지의 경로 비용이 가장 낮은 포트를 루트 포트(Root Port)로 선정합니다. 이 포트는 해당 스위치를 통해 루트 브리지에 도달할 수 있는 최적의 경로입니다.
지정 포트 선정: 세그먼트마다 하나의 포트가 지정 포트(Designated Port)로 선정됩니다. 지정 포트는 해당 세그먼트에서 루트 브리지까지의 경로 비용이 가장 낮은 포트입니다.
블로킹 포트 선정: 루트 포트나 지정 포트가 아닌 다른 모든 포트는 블로킹 상태로 설정됩니다. 블로킹 포트는 데이터 프레임을 전송하지 않으며, 네트워크 루프를 방지하는 역할을 합니다.
STP의 주요 특징
루프 방지: STP는 브리지 루프(Bridge Loop)를 방지하여 네트워크의 안정성을 유지합니다. 브리지 루프는 네트워크 성능 저하, 브로드캐스트 스톰 등의 문제를 일으킬 수 있습니다.
동적 네트워크 환경 대응: 네트워크의 변화(예: 링크의 실패, 새로운 스위치의 추가 등)에 동적으로 대응하여 루프 프리 토폴로지를 유지합니다.
루트 브리지 선정: 네트워크 내에서 하나의 루트 브리지가 선정되며, 모든 경로 결정은 이 루트 브리지를 기준으로 합니다.
STP의 한계와 발전
STP의 초기 버전은 네트워크 변화에 대응하는 데 시간이 오래 걸리고, 네트워크 자원의 활용도가 낮다는 단점이 있었습니다. 이를 개선하기 위해 RSTP(Rapid Spanning Tree Protocol, IEEE 802.1w)와 MSTP(Multiple Spanning Tree Protocol, IEEE 802.1s) 등의 발전된 프로토콜이 개발되었습니다. RSTP는 STP에 비해 빠르게 네트워크 변화에 대응할 수 있으며, MSTP는 여러 개의 스패닝 트리 인스턴스를 통해 VLAN별로 다른 스패닝 트리를 구성할 수 있어 네트워크 자원을 더욱 효율적으로 사용할 수 있습니다.
BPDU (Bridge Protocol Data Units)
정의: STP 정보를 교환하기 위해 네트워크 장비 간에 전송되는 메시지입니다. BPDU를 통해 루트 브리지 선정, 네트워크 토폴로지 변경 감지 등의 작업이 이루어집니다.
종류: BPDU에는 Configuration BPDU(구성 BPDU)와 TCN(Topology Change Notification) BPDU가 있습니다. Configuration BPDU는 루트 브리지와 경로 비용 정보를 전달하는 데 사용되며, TCN BPDU는 네트워크의 토폴로지 변경을 알리는 데 사용됩니다.
STP 타이머
Hello Time: 루트 브리지에서 BPDU를 전송하는 간격입니다(기본값 2초).
Forward Delay: 리스닝(Learning) 상태와 포워딩(Forwarding) 상태 사이의 지연 시간입니다(기본값 15초).
Max Age: BPDU 정보의 최대 수명으로, 루트 브리지로부터 BPDU를 받지 못할 때까지의 시간입니다(기본값 20초).
STP 상태
Blocked: 네트워크 루프를 방지하기 위해 데이터 전송을 막는 상태입니다.
Listening: 네트워크의 토폴로지 정보를 수신하기 위해 시작하는 상태입니다. 이 상태에서는 아직 데이터를 전송하지 않습니다.
Learning: MAC 주소 테이블을 구축하기 위해 시작하지만, 아직 사용자 데이터는 전송하지 않는 상태입니다.
Forwarding: 네트워크 데이터를 전송하고, 정상적인 네트워크 운영 상태입니다.
Disabled: 포트가 비활성화된 상태입니다.
STP의 발전된 버전
RSTP (Rapid Spanning Tree Protocol, IEEE 802.1w): STP의 단점을 개선하여 네트워크 변화에 더 빠르게 대응할 수 있도록 설계된 프로토콜입니다. 새로운 포트 상태와 BPDU 형식을 도입하여 컨버전스(convergence) 시간을 단축했습니다.
MSTP (Multiple Spanning Tree Protocol, IEEE 802.1s): 여러 개의 스패닝 트리 인스턴스를 생성하여 VLAN별로 다른 스패닝 트리 구성을 가능하게 합니다. 이를 통해 네트워크의 효율성을 높이고 복잡한 네트워크 환경에서의 유연성을 제공합니다.
STP는 네트워크의 안정성과 효율성을 유지하기 위한 핵심 프로토콜로, 네트워크 설계와 운영에서 중요한 역할을 합니다. 따라서 네트워크 관리자와 엔지니어는 STP의 원리와 작동 방식을 정확히 이해하고, 네트워크 환경에 적절히 적용할 수 있어야 합니다.
'컴퓨터공학' 카테고리의 다른 글
[운] NAT와 PAT (0) | 2024.02.29 |
---|---|
[운] 라우터란 (0) | 2024.02.29 |
[운] VLAN이란 (0) | 2024.02.29 |
[운] 가상머신으로 리눅스 서버 만들기 (0) | 2024.02.29 |
[운] 리눅스란 (0) | 2024.02.29 |