회선의 이중화
L2 구간의 단일 경로의 문제점을 해결하기 위해 회선을 이중화하여 구성한다. 하나의 회선에 문제가 생기더라도 다른 회선으로 통신을 보장한다.
문제점
- Broadcast Storm
: L2 스위치는 boradcast와 multicast 트래픽을 모두 boradcast로 간주한다. broadcast는 수신한 포트를 제외한 모든 포트로 flooding을 한다. 이러한 상황이 계속되는 것을 boradcast storm이라고 말한다.
: 스위치 중 하나의 연결이 끊어질 때 까지 계속되기 때문에 네트워크가 다운되거나 느려지는 현상 발생
해결방법
- STP (Spanning-Tree Protocol)
: 스위치들 간의 BPDU 메시지를 교환해서 STA(Spanning Tree Algorithm)을 이용해서 특정 포트를 논리적으로 동작하지 못하게 blocking을 실시한다.
: STP가 동작하는 스위치 포트는 data frame은 주고 받을 수 없지만, BPDU는 주고받을 수 있다.
- BPDU (Bridge Protocol Data Unit)
: STP를 지원하는 스위치들 사이에서 교환되는 메시지이다. BPDU 메시지를 교환해서 네트워크 모니터링 및 loop 상태를 점검한다.
1) Configuration BPDU
: 스위치 및 스위치 포트의 역할을 결정하기 위해 사용
2) TCN (Topology Change Notification) BPDU
: 스위치 기반의 네트워크 토폴로지에 변화가 감지됐을 경우 이를 알리기 위해 사용
STP의 Root Bridge
STP를 수행할 때 기준이 되는 브리지(스위치)
- 이중화 구조를 가지는 스위치로 구성된 LAN 환경 구성 위해 STP 사용
- STP를 적용하기 위해서 BPDU 프레임 주고받고 Root Bridge 선출
- Root Bridge 결정하기 위해서 Bridge ID를 사용
❓ BridgeID = 2바이트 우선순위 + 6바이트 MAC 주소
= (4비트 브리지 우선순위 + 12비트 VLAN ID) + 6바이트 MAC 주소
-> 4비트 브리지 우선순위
: 0~61440의 값 중 4096만큼 증가한 값들 (0, 4096, 12288 ... )
: 기본값은 32768
: 우선순위 값이 동일할 경우 가장 작은 MAC 주소 가진 스위치가 우선순위
#show spanning-tree

STP가 동작하는 스위치 포트의 역할
-
루트 포트 (Root Port)
: 루트 브리지와 가장 가까운 스위치 포트. 정상적으로 frame 수신 가능
-
지정 포트 (Designated Port)
: 루트 포트가 아니며 정상적으로 frame 수신 가능
: Root Bridge의 모든 포트는 지정 포트이다.
-
비지정 포트 (Non designated Port) = 대체 포트 (Alternative Port)
: frame은 주고받지 않지만 BPDU는 주고 받는 포트
STP 포트 전환 및 단점
- 차단 (blocking)
- frame 송수신하지 않고 BPDU만 수신
- (필요에 따라) 청취 -> 학습 -> 전송상태로 전송 가능
- 20초 후 청취 상태로 변경
- 청취 (Listening)
- 스위치 켜지면 청취 상태로 시작
- 15초 후 학습 상태로 변경됨
- 학습
- MAC 주소 기반으로 MAC 테이블 구성
- 15초 후 전송 상태로 변경
- 전송 (Forwarding)
- frame 전송 가능상태
- root port, designated port 상태
=> STP Conversions Time (상태를 변경하는데 걸리는 시간)이 STP의 단점
해결법
RSTP
RSTP를 적용하더라도 스위치가 아닌 장치 연결에는 portfast를 구성해야 바로 전송 상태가 된다.