STP란?
앞서 설명했듯 브리지(스위치)에선 루핑으로 인한 통신 장애를 해결하기 위한 방법으로 Spanning Tree Protocol(이하 STP)이 사용된다.
오늘은 이 STP란 무엇인지를 핵심 개념, 동작 방식과 상태 변화, 그리고 재편성 순으로 알아보려 한다.
STP의 핵심 개념 - Bridge ID & Path Cost
STP의 핵심 개념은 브리지 ID와 Path Cost이다.
브리지 ID는 64비트, 즉 8 바이트로 구성된 브리지 식별 번호로, 앞의 2바이트는 브리지의 우선순위(priority)를, 뒤의 6 바이트는 브리지의 MAC 주소를 의미한다. 이 중 브리지 우선순위는 0 ~ 65,535 (2의 16승 - 1)의 범위를 가지며 디폴트 값은 32,768이다.
Path Cost는 한 브리지에서 다른 브리지로 이동하는 데 소요되는 비용(시간)을 의미하며, 브리지 간 대역폭이 빠를 수록 더 작은 값을 가진다.
STP 동작 방식과 브리지 / 포트선정 기준
STP는 다음의 방식으로 동작합니다.
- 네트워크 당 하나의 루트 브리지 root bridge를 가져야 한다.
- 루트 브리지가 아닌 브리지는 반드시 루트 포트 root port를 가져야 한다
- 브리지 간 세그먼트에는 지정 포트 designated port가 존재해야 한다.
그리고 루트 브리지, 루트 포트, 지정 포트를 선정하는 기준은 다음과 같다.
- 누가 더 작은 Root ID를 가지고 있는지
- 누가 루트 브리지까지의 Path Cost가 더 적은지
- 누가 더 작은 Bridge ID를 가지고 있는지
- 누구의 포트 번호가 더 낮은지
브리지는 서로 STP를 수행할 때, 이를 위한 특수 프레임인 `BPDU (Bridge Protocol Data Unit)`을 사용한다.
STP의 상태 변화
브리지(스위치)가 STP 수행 중 가질 수 있는 상태는 5 가지이다.
차단 Blocking
- 스위치가 루트 브리지에 대한 더 나은 경로를 나타내는 포트에서 BPDU를 수신하거나 포트가 루트 포트가 아닌 경우 해당 상태로 전환됨
- MAC 주소 교환은 이뤄지지 않는다.
듣기 Listening
- 사용자에 의해서 차단 상태에서 전환된 상태
- STP는 포트가 프레임 전달에 참여해야 하는지 여부를 결정한다.
- 스위치 포트는 15초 동안 수신 대기 상태를 유지한 뒤 학습 상태로 전환된다.
학습 Learning
- 시스템 모듈에서 수신한 BPDU를 포트 수신, 처리 및 전송한다.
- MAC 주소 교환이 이루어지면서 MAC 주소 테이블을 생성한다.
- 스위치 포트는 15초 동안 학습 상태를 유지한 뒤 전달 상태로 전환된다.
전달 Forwarding
- Learning 상태에서 포워딩 딜레이 시간 15초를 다시 유지하면 전환되는 상태
- 본격적인 데이터 전송이 시작된다.
비활성화 Disabled
- 브리지는 BPDU 송수신이 불가능함
- MAC 주소를 교환하지 않아 실제 통신을 수행하지 못한다.
정리하면, Blocking 상태의 스위치 포트가 Forwarding 상태로 전환하기 까지는 포워딩 딜레이 디폴트 시간 * 2, 즉 30초의 지연 시간이 존재합니다.
STP 재편성
만약 루트 브리지와 특정 브리지 간의 연결이 끊어진다면 이를 어떻게 재편성해야 할까.
루트 브리지와 특정 브리지 간의 연결은 루트 브리지가 얼마 만에 한 번씩 BPDU를 보내는지를 나타내는 헬로 타임(Hello Time)을 통해 확립된다. 만약 루트 브리지로부터 헬로 패킷이 오지 않는다면 해당 브리지 포트는 일정 시간 대기하며 헬로 패킷을 기다리는 Max Age를 보내게 되는데 이 시간이 지나도 오지 않는다면 새로운 STP를 만든다.
포워딩 딜레이 시간은 다시 블로킹으로 돌아온 브리지 포트가 리스닝까지 가는 데 걸리는 시간을 의미하며, 리스닝 ~> 러닝, 러닝 ~> 포워딩의 두 과정을 거치기 때문에 일반적으로 2배의 포워딩 딜레이 시간이 필요하다.
참고 출처
- Spanning Tree Port States (링크)
'CS > 컴퓨터네트워크' 카테고리의 다른 글
CISCO 네트워킹 07. 라우터와 라우팅 프로토콜 (1) | 2024.06.14 |
---|---|
CISCO 네트워킹 06. VLAN 구성과 트렁킹 (1) | 2024.06.12 |
CISCO 네트워킹 04. IP 주소와 라우팅 (1) | 2024.06.07 |
CISCO 네트워킹 03. 네트워크 장비 - 허브, 스위치&브리지 (1) | 2024.06.07 |
CISCO 네트워킹 02. 네트워크와 케이블 (1) | 2024.06.04 |