핵심 인사이트 (3줄 요약)

  1. 본질: 스패닝 트리 프로토콜(STP)이 루프를 끊어내는 과정은 역할극과 같다. 마을의 대장인 **루트 브리지(Root Bridge)**를 먼저 뽑고, 각 스위치가 대장에게 가는 최단 경로를 **루트 포트(RP)**로 뚫은 뒤, 각 도로망의 대표 포트를 **지정 포트(DP)**로 선정하고, 남은 잉여 포트를 **차단 포트(Block)**로 묶어버리는 4단계 선거 과정이다.
  2. 기준의 획일성: 이 선거에서 승리(우위)를 점하는 기준은 언제나 똑같다. 1) 우선순위 번호가 낮을수록 2) MAC 주소가 낮을수록 3) 거리 비용(Cost)이 낮을수록 4) 포트 번호가 낮을수록 승리한다. 즉, '작은 숫자가 계급이 높다'.
  3. 안전핀 (차단 포트): 차단(Blocking)된 포트는 사용자 데이터(인터넷 패킷)는 절대 통과시키지 않지만, 스위치끼리 주고받는 엽서인 BPDU는 항상 귀를 열고 수신하고 있다. 그래야 대장님이 죽었을 때 즉각 알아채고 차단을 풀 수 있기 때문이다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: STP(IEEE 802.1D) 알고리즘이 동작을 완료(Convergence, 수렴)했을 때, 네트워크 내의 모든 스위치와 각각의 포트들이 부여받는 고정된 '역할(Role)'이다.

  • 필요성: 수십 대의 스위치가 얽히고설켜 있을 때 "너는 문 닫아! 너는 열어!"를 누군가 중앙에서 지시하는 사람 없이 기계들끼리 완벽한 트리를 만들어내려면, 절대 흔들리지 않는 **"철저한 서열 룰과 역할 분담"**이 필요하다. 이것이 바로 Root, RP, DP, BP라는 네 가지 명찰이다.

  • 💡 비유: 거대한 배관망(네트워크)에서 물이 역류(루핑)하지 않도록 밸브를 세팅하는 과정입니다.

    • Root Bridge: 물이 뿜어져 나오는 유일한 **"최고 상류 수원지"**입니다.
    • RP (루트 포트): 하류 마을(스위치)에서 수원지로 거슬러 올라가는 **"가장 굵고 빠른 파이프(최단 경로)"**입니다.
    • DP (지정 포트): 각 파이프(선로) 구간에서 물을 내려보낼 권리를 가진 **"책임 밸브"**입니다.
    • Block (차단 포트): 물이 역류하지 않게 평소엔 꽉 잠가두는 **"비상용 예비 밸브"**입니다.

📢 섹션 요약 비유: STP 선거는 **"왕(Root)을 뽑고, 각 영주들이 왕에게 충성 맹세를 하러 가는 가장 빠른 고속도로(RP)를 하나씩 뚫은 뒤, 불법 우회로(Block)에는 성벽을 쌓아버리는 완벽한 봉건제 왕국 건설 과정"**입니다.


Ⅱ. 4가지 역할의 선출 원리와 조건 (Deep Dive)

모든 대결의 승리 조건은 가장 낮은 브리지 ID(Priority + MAC) ──▶ 가장 낮은 누적 Cost ──▶ 가장 낮은 송신자 브리지 ID ──▶ 가장 낮은 송신자 포트 ID 순으로 비교하여 가장 숫자가 작은 쪽이 승리한다.

1. 루트 브리지 (Root Bridge) 선출

  • 네트워크라는 마을의 단 한 명뿐인 **대장(Root)**이다.
  • BPDU를 주고받아 **브리지 ID(Priority + MAC 주소)**가 가장 작은 스위치가 무조건 당선된다.
  • 특징: 루트 브리지의 모든 포트는 항상 100% **지정 포트(DP)**로 동작하며, 자신의 포트 중에는 절대 막히는(Block) 포트가 없다.

2. 루트 포트 (RP, Root Port) 선출

  • 대장을 제외한 나머지 스위치(Non-Root Bridge)들이 각자 수행하는 숙제다.
  • "내가 가진 수많은 잭(Port) 중에서, 어느 잭으로 나가는 게 대장(Root)한테 가는 제일 빠른(Cost가 낮은) 길인가?"
  • 스위치 1대당 무조건 딱 1개의 RP만 개통해야 한다.
  • RP를 결정하는 Cost는 10Gbps(2), 1Gbps(4), 100Mbps(19) 등 선로 속도에 따라 IEEE가 정해두었다.

3. 지정 포트 (DP, Designated Port) 선출

  • 스위치가 아니라 '스위치와 스위치를 잇는 각각의 랜선 1가닥(Segment)' 입장에서 수행하는 선거다.
  • "이 1가닥의 선 양끝에 구멍이 2개(스위치 양쪽 포트)가 있는데, 둘 중 누가 이 선을 지배하는(데이터를 뿜어내는) 주인이 될 것인가?"
  • 둘이 BPDU를 교환하여 "대장(Root)까지 가는 전체 Cost가 더 적은(더 대장과 친한) 포트"가 그 선로의 주인인 DP로 지정된다.
  • 만약 Cost마저 똑같으면 서로의 브리지 ID를 까보고 작은 놈이 이긴다. (RP가 있는 선로의 반대쪽 끝은 무조건 DP가 된다.)

4. 차단 포트 (Block Port / Non-Designated Port)

  • 위에서 RP 대결에서도 떨어지고, 선로 주인을 가리는 DP 대결에서도 진 루저(패배자) 포트의 운명이다.
  • 이 포트는 논리적으로 "막힘(Blocking)" 상태로 진입하여 컴퓨터의 데이터 패킷이나 프레임을 절대 통과시키지 않는다. 이로써 루프(원형) 고리가 완벽히 끊어져 트리(나뭇가지) 모양이 완성된다.
  • 안전핀: 하지만 Block 포트는 완전히 귀를 막은 건 아니다. 상대방이 보내는 BPDU(상태 엽서)는 계속 듣고(Listen) 있다. 만약 20초(Max Age) 동안 상대방 DP가 BPDU를 보내지 않으면 "어? 선로가 죽었나?" 하고 자기가 닫아둔 문을 서서히 열기 시작하여 통신 장애를 50초 만에 복구(Self-healing)해 낸다.
 ┌─────────────────────────────────────────────────────────────┐
 │                STP 4대 역할 배정 다이어그램                   │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │            [ Root Bridge (대장) ]                           │
 │                DP ↙      ↘ DP (대장의 포트는 100% DP)       │
 │                  /        \                                 │
 │                 /          \                                │
 │             RP ↙            ↘ RP  (대장에게 가는 가장 빠른 길) │
 │       [ 스위치 B ] ────────── [ 스위치 C ]                  │
 │           (ID: 2등)          (ID: 3등)                      │
 │                 DP          Block                           │
 │                 │             │                             │
 │                 └──── 선로 ───┘                             │
 │          (선로의 주인은 2등인 B가 차지. C의 포트는 막힘)          │
 │                                                             │
 └─────────────────────────────────────────────────────────────┘

📢 섹션 요약 비유: RP가 왕궁으로 출근하는 **"나만의 전용 하이패스 차로"**라면, DP는 동네 도로를 관리하는 **"관할 구역 통행권"**이고, Block 포트는 꼬리물기 사고가 나지 않게 차단봉을 내려놓은 **"비상용 갓길"**입니다.