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

  1. 본질: 링크 상태(Link State) 라우팅은 남의 소문(요약본)을 믿지 않고, 동네 모든 라우터가 각자의 팔다리(링크) 상태 정보를 퍼즐 조각처럼 모아 거대한 3D 지형도를 각자의 뇌 속에 똑같이 그려내는 똑똑하고 독립적인 길 찾기 방식이다.
  2. 다익스트라 (Dijkstra / SPF) 알고리즘: 완성된 전체 지도를 펼쳐놓고, 천재 수학자 다익스트라가 만든 SPF(Shortest Path First) 공식을 팽팽 돌려 자기 자신을 뿌리로 삼아 목적지까지의 가장 빠른 나뭇가지 길(SPF 트리)을 수학적으로 완벽하게 깎아낸다.
  3. 장점 (속도와 루프 방지): 남이 사기를 쳐도 내 눈으로 전체 지도를 다 꿰뚫어 보고 있으므로 무한 루프(Routing Loop)에 절대 빠지지 않으며, 30초마다 방송을 때리지 않고 **"선이 끊어졌을 때만 즉각 통보(Event-driven)"**하므로 수렴 속도가 번개같이 빠르다.

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

  • 개념: 각 라우터가 네트워크 전체의 토폴로지(Topology, 연결 상태) 정보를 LSA(Link State Advertisement) 패킷으로 수집해 독자적인 데이터베이스를 구축하고, SPF 알고리즘으로 최적 경로를 계산하는 IGP 프로토콜 계열 (OSPF, IS-IS).

  • 필요성: 구형 거리 벡터(RIP)는 라우터가 15개만 넘어가도 소문이 전달되는 데 몇 분이 걸려 인터넷이 마비되었고, "내 앞이 끊어졌는데 니 앞이 뚫려있다고 뻥치냐?"라며 무한 루프에 빠져 죽어버렸다. 거대해진 대기업 사내망을 버텨내려면, **"라우터 CPU가 연산하느라 좀 고생하더라도, 차라리 찝찝한 소문을 믿지 말고 모든 라우터가 100% 동일한 전체 지도를 공유하게 만들자!"**라는 발상의 전환이 링크 상태의 위대한 탄생 배경이다.

  • 💡 비유: 링크 상태는 1,000피스짜리 **"직소 퍼즐 맞추기"**와 같습니다.

    • 거리 벡터가 남이 완성해 놓은 퍼즐 그림을 말로만 전해 듣는 것이라면, 링크 상태는 동네 사람들 1,000명이 자기가 가진 퍼즐 조각(LSA)을 테이블 중앙에 모조리 쏟아붓습니다(Flooding).
    • 모든 사람이 각자 조각을 맞춰서 똑같은 '동네 전체 풍경 그림(토폴로지 DB)'을 완성한 뒤, 자기 위치에서 부산까지 가는 최적의 펜 선(다익스트라 알고리즘)을 쭉 그어버립니다.

📢 섹션 요약 비유: 링크 상태는 내 머리 위에 개인용 **"정찰 드론"**을 띄워 도시 전체의 교통 상황을 CCTV로 한눈에 굽어보면서(토폴로지 공유), 막힌 길을 피해 가장 쾌적한 도로를 내 머리로 직접 계산해 내는(SPF) 완벽한 자율 주행 시스템입니다.


Ⅱ. 링크 상태의 3단계 동작과 다익스트라 트리 (Deep Dive)

1. 퍼즐 조각 던지기: LSA Flooding

  • 링크 상태 라우터(OSPF)가 부팅되면 자기 몸에 꽂힌 랜선 상태를 점검한다. "내 1번 팔은 1Gbps 속도고 192.x 망이랑 연결됨."
  • 이 상태 정보가 담긴 엽서를 **LSA (Link State Advertisement)**라고 부른다.
  • 라우터는 이 LSA 엽서를 이웃들에게 무작정 복사해서 뿌려댄다(Flooding). 이웃들도 받으면 또 복사해서 넘긴다. 결과적으로 1초 만에 전국의 모든 라우터가 이 LSA 엽서를 똑같이 수집하게 된다.
  • 모든 라우터는 수집한 100개의 LSA 엽서를 모아 커다란 스케치북에 동네 입체 지도를 완성한다.
  • 이것을 **LSDB (토폴로지 테이블)**라고 부르며, 한 지역(Area) 안에 있는 100대의 라우터는 메모리 속에 100% 토시 하나 안 틀리고 완벽하게 동일한 LSDB 지도를 가지게 된다.

3. 나만의 지름길 파기: 다익스트라(SPF) 알고리즘 가동

지도를 완성했으면 라우터의 두뇌(CPU)가 미친 듯이 회전하기 시작한다.

  • 지도는 똑같지만 라우터마다 자기 서 있는 '위치'가 다르다.
  • 라우터는 자기 자신을 나무의 뿌리(Root)로 삼고, 다익스트라(Dijkstra) 수학 공식을 팽팽 돌려 가장 코스트(대역폭 점수)가 싼 길만 남기고 나머지 잔가지를 다 쳐내 버린다.
  • 이렇게 예쁘게 깎아낸 소나무 모양의 뼈대를 **SPF Tree (Shortest Path First Tree)**라고 부른다. 라우터는 이 트리 정보 중 알맹이만 쏙 빼서 라우팅 테이블(RIB)에 최종 등재한다.
 ┌─────────────────────────────────────────────────────────────┐
 │                링크 상태 (OSPF) 라우터의 3단계 뇌 구조             │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   1. 이웃 정보 모음 (Neighbor Table)                           │
 │      "내 옆에 라우터 A, 라우터 B가 살고 있군. (Hello 교환)"          │
 │                                                             │
 │   2. 전체 지도 완성 (LSDB - Topology Table)                   │
 │      "아하, 전국에 라우터 50대가 이런 링크(선로)들로 거미줄처럼         │
 │       다 엮여 있구나! 지형도 100% 파악 완료!"                    │
 │                                                             │
 │   3. 내 입장의 최적 길 깎기 (Routing Table - RIB)                │
 │      "다익스트라 도끼질 퍽! 퍽! 잔가지 다 쳐냄.                     │
 │       결론: Z망 갈 땐 B로 주는 게 대역폭 점수(Cost) 제일 싸네!"      │
 └─────────────────────────────────────────────────────────────┘

4. 이벤트 기반 갱신 (Event-driven Update)의 위력

  • RIP처럼 30초마다 수첩 전체를 복사해서 뿌리는 미친 짓(대역폭 낭비)을 하지 않는다.
  • 평소엔 조용히 있다가, 포크레인이 2번 선로를 끊어먹는 **이벤트(변화)**가 발생했을 때만, 즉시 해당 라우터가 "삐용! 2번 링크 죽음!"이라는 딱 한 줄짜리 LSA 변경분만 빛의 속도로 뿌린다.
  • 이 소식을 들은 100대의 라우터는 즉시 SPF 공식을 0.1초 만에 다시 돌려서 우회로를 뚫어버린다. (수렴 시간이 기가 막히게 빠르다).

📢 섹션 요약 비유: 다익스트라 알고리즘은 거대한 미로(LSDB)에 갇혔을 때, 하늘에서 헬기를 타고 미로 전체 지도를 쫙 내려다본 다음, 형광펜으로 **"가장 코스트가 적게 드는 탈출구까지의 굵은 선(SPF 트리)"**을 단숨에 그어버리는 천재적인 일필휘지입니다.