STP(Spanning Tree Protocol)

윈도우를 쓰던 시스템의 무려 64기가라는 램을 (38만원이라는 저렴한 가격에 구매한 ㅋ) 활용하기 위해 리눅스를 설치하면 된다는 간단한 아이디어를 지금에서야 떠올렸다. KVM을 활용해 바닐라 쿠버네티스 환경을 구축하는 시도를 하던 도중, 네트워크 설정을 하다가 STP를 보게 됐다. CCNA공부도 할 겸, 정리하고 넘어가고자 한다.

1. STP

STP는 스패닝 트리 프로토콜의 약자이다. 이 프로토콜은 스위치 구성 시 루프를 방지하기 위해 사용된다. 그렇다면 어떤 상황에서 루프가 발생하는지 알아보자.

가장 대표적인 상황은 브로드캐스트 스톰이다. 스위치 고장에 대비해 두 스위치 사이를 두 개의 케이블로 연결했다고 가정해 보자. 한쪽 PC에서 브로드캐스트 패킷을 보내면, 스위치는 브로드캐스트를 모든 포트로 플러딩 하게 되고, 패킷이 케이블 두 개를 돌면서 루프를 형성하게 된다.

STP는 이러한 문제가 발생할 때 논리적으로 하나의 프로토콜을 차단하여 루프를 방지하는 프로토콜이다.

2. 동작 원리

STP는 다음과 같은 순서로 동작한다.

1. Root Bridge 선출

네트워크에서 하나의 Root Bridge를 선출한다. Root Bridge는 가장 낮은 Bridge ID를 가진 스위치가 선출된다. Bridge ID 는 2바이트의 Priority와 6바이트의 맥주소로 이루어진다.

2. Root Port 선정

나머지 각 스위치는 하나의 Root Port 를 선정한다. Path Cost가 가장 낮은 포트를 선택한다.

3. Designated Port 선정

각 세그먼트마다 하나의 Designated Port를 선정한다. Designated Port는 Root Bridge로 가는 최단 경로를 제공하는 포트이다. 따라서 Root Bridge자체의 포트는 모두 Designated Port 이다.

3. BPDU

BPDU는 STP를 지원하는 스위치들 사이에서 교환되는 메시지이다. 이를 통해 네트워크 모니터링, 루프 상태를 점검한다. 2초 주기로 스위치 정보를 멀티캐스트 하여 교환하며, 상태 변화를 보고하고 스패닝트리 상태를 모니터링 한다. 포함되는 정보는 Root Bridge ID, 송신 스위치 ID, Path Cost등이며, 수신 대기시간인 20초 동안 유효하다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다