본문으로 바로가기

STP - Root Bridge, Root Port, Blocking Port

category Network/L2&L3 2026. 3. 7. 23:04
728x90

 

안녕하세요!

오늘은 L2 네트워크에서 가장 기본적이면서 중요한 프로토콜인 STP(Spanning Tree Protocol)를 다시 정리해 보려 합니다.

이전 실습 글보다 더 명확하기 보기 쉽게, PNETLab 환경에서 진행한 화면을 토대로 핵심만 짚어보겠습니다.

 

 

 

1. STP(Spanning Tree Protocol)란?

네트워크의 안정성과 가용성을 위해 스위치를 이중화(Redundancy)하면 물리적 루프가 발생할 수 있습니다.

루프가 발생하면 프레임이 네트워크를 계속 순환하게 되어  Broadcast Storm, MAC Address Table 불안정과 같은 문제가 발생할 수 있습니다.

 

이러한 문제를 해결하기 위해 STP가 사용됩니다.

STP는 루프를 논리적으로 차단하여 프레임이 무한 루프를 돌며 마비시키는 것을 방지하는 프로토콜입니다.

 

STP는 다음 3단계를 통해 루프를 제거합니다.

 

1) Root Bridge 선정: Bridge ID가 가장 낮은 스위치가 루트 브리지가 되고, 루트브리지의 모든 포트는 Designated Port가 됩니다.

 

2) Root Port(RP) 선정: 루트브리지를 제외한 스위치들은 루트브리지까지 가는 최단 경로 포트 하나를 정합니다.

 

3) Designated Port(DP) 선정: 각 세그먼트(스위치 간 연결 구간)에서 Root Path Cost, Bridge ID(Priority+MAC), Port ID를 기반으로 우선순위가 높은 포트를 지정포트로 정합니다.

 

4) Alternate Port(Blocking) 선정: 나머지 포트는 Blocking 되어 루프를 차단합니다.

 

 

 

2. Topology 

Topology

실습 환경은 다음과 같습니다.

- Emulator : PNETLab
- Switch IOS : Cisco IOS
- Protocol : IEEE 802.1D STP

- 구성: L2 스위치 3대를 삼각형 형태로 연결

- 목표: 루프 발생 지점을 확인하고 각 포트의 역할 이해하기

 

 

 

3. Root Bridge (Switch_01) 

먼저 'show spanning-tree' 명령어로 루트브리지를 확인하겠습니다.

 

 

Switch_01 설정 화면

Switch_01의 Bridge ID가 가장 낮아 루트브리지로 선출되어, "This bridge is the root" 상태임을 확인할 수 있습니다.

 

Et0/0-3 포트는 모두 Desg/FWD 상태입니다.

루트브리지의 모든 포트는 항상 Desg(Designated, 지정 포트)가 되며 FWD(Forwarding, 전송) 상태를 유지합니다.

 

 

 

4. Root Port와 Desinated Port (Switch_02)

루트 브리지가 아닌 스위치(Non-Root Bridge)들은 루트브리지로 가는 최단 경로를 계산하여 루트포트를 결정합니다.

 

 

Switch_02 설정 화면

Switch_02의 각 포트 역할은 다음과 같습니다.

- e0/0 : Root Bridge와 연결된 Root Port

- e0/1 : Switch_03과 연결된 세그먼트에서 Designated Port

- e0/2 : PC 연결 포트이므로 Designated Port

 

Root Port는 루트 브리지로 가는(Switch_02 → Switch_01) 최단 경로이기 때문에, 루트브리지와 연결된 Et0/0 포트가 루트포트로 선택되었습니다.

 

Switch_02와 Switch_03의 Root Path Cost는 다음과 같습니다.

  • Switch_02 Root cost = 100
  • Switch_03 Root cost = 100

Switch_03과 연결된 세그먼트에서 (Switch_02 ↔ Switch_03) Root Path Cost가 동일할 경우 Bridge ID를 비교하여 Designated Port를 결정합니다.

각 스위치의 Bridge ID는 다음과 같습니다.

  • Switch_02 = aabb.cc00.0200
  • Switch_03 = aabb.cc00.0300

Bridge ID가 더 낮은 Switch_02가 Designated Port가 됩니다.

 

 

 

5. Blocking Port (Switch_03)

마지막으로 실제로 루프를 차단하는 포트를 확인해 보겠습니다.

 

 

Switch_03 설정 화면

 

Switch_03의 각 포트 역할은 다음과 같습니다.

  • e0/0 : Root Bridge로 향하는 Root Port
  • e0/1 : Switch_02와의 경로에서 대체 경로로 선택된 Alternate Port
  • e0/2 : PC 연결 포트로 Designated Port

 

Switch_02와 연결된 구간에서 Switch_02가 Designated Port로 선정되었기 때문에, Switch_03의 Et0/1 포트는 Altn BLK(Alternate Blocking) 상태가 되었습니다.

Alternate Port는 평상시에는 Blocking 상태로 유지되어 트래픽을 전달하지 않습니다.

 

만약 Switch_03 ↔ Switch_01 링크에 장애가 발생하면, 차단되었던 포트가 Forwarding 상태로 전환되어 새로운 경로를 형성하게 됩니다. 즉, 네트워크 복구를 위한 백업 경로 역할을 수행합니다.

 

끝.

 

 

 

다음 글에서는 VLAN별로 STP를 관리할 수 있는 PVST(Per-VLAN Spanning Tree)를 실습과 함께 정리해 보겠습니다.

궁금한 점이 있다면 댓글로 남겨주세요~

 

 

 

728x90
LIST

'Network > L2&L3' 카테고리의 다른 글

OSPF MD5 Authentication 설정 및 Wireshark 패킷 분석  (0) 2026.03.30
[Wireshark] OSPF Hello Packet 분석  (0) 2026.03.30
port-security 설정  (0) 2026.03.27
OSPF DR 선출 원리  (0) 2026.03.23
랜선 제작 (UTP 케이블, RJ45 커넥터)  (0) 2025.09.18