STP, BPDUs
· 약 9분
STP (Spanning Tree Protocol, 스패닝 트리 프로토콜, 신장 트리 프로토콜)
- 래디아 펄먼(Radia Perlman)이 고안한 알고리즘에 기반
- OSI 2계층 프로토콜
- 브리지 랜에서 루프 발생을 방지하기 위해 사용
- 신장 트리 프로토콜은 IEEE 802.1D에서 정의
- 2계층 브리지(이더넷 스위치)를 통해 연결된 매시 네트워크 내에서 신장 트리를 생성
STP가 필요한 이유
- 두 노드 사이에 활성된 경로가 두 개 이상 존재할 경우 브리지 루프가 발생할 수 있음
- 브리지 루프 문제점
- 동일 MAC 주소(즉, 동일 호스트)가 여러 포트에서 보이게 되어, 브리지에서 사용하는 MAC 주소 테이블(스위칭 포워딩 테이블)이 실패할 수 있음
- 브로드캐스트 스톰(broadcast storm)이 발생
- 브로드캐스트 패킷들이 스위치 사이를 무한히 돌게 됨
- 브로드캐스트 스톰은 CPU 리소스와 대역폭을 극심히 소모
- STP(신장 트리)는 자동 백업을 지원하는 여분의 링크를 제공하면서 브리지 루프를 방지
동작 방식
1. 루트 브리지의 선출
- 신장 트리의 루트 브리지는 가장 낮은 브리지 ID를 갖는 브리지
- 각각의 브리지는 유일한 ID와 설정가능한 우선순위 번호를 갖음
- 브리지 ID는 이 두 가지를 모두 포함
- 두 브리지 ID를 비교할 때, 우선 순위를 먼저 비교
- 이 값이 같을 경우 MAC 주소를 비교
- 망 관리자는 우선 순위 값을 설정하여 특정 브리지를 루트로 삼음
2. 루트 브리지로의 최소 비용 경로 결정
- 신장 트리가 계산되면 망내 장비는 최소 비용으로 루트로의 메시지 전송이 가능
- 경로의 비용은 경로 상의 네트워크 세그먼트의 비용의 합
- 네트워크 세그먼트의 비용은 각기 다르게 설정될 수 있음
- 메시지는 항상 최소 비용으로 루트까지 전달
3. 각 브리지에서의 최소 비용 경로
- 각각의 브리지는 루트에서 자신으로 연결되는 각각의 경로에 대한 비용을 결정
- 그 중 최소 비용의 경로를 선택
- 선택된 경로로 연결된 포트가 이 브리지의 루트포트(root port)