핵심 인사이트 (3줄 요약)
- 본질: 거리 벡터 라우팅 알고리즘은 라우팅과 경로 제어에서 핵심 동작과 제약을 이해하게 해 주는 개념이다.
- 가치: 거리 벡터 라우팅 알고리즘을 이해하면 수렴 속도과 확장성 사이의 균형을 더 정확히 볼 수 있다.
- 판단 포인트: 설계 시에는 개념 자체보다 적용 조건, 운영 복잡도, 인접 기술과의 경계를 함께 판단해야 한다.
Ⅰ. 개요 및 필요성
-
개념: 라우터가 네트워크 토폴로지 전체를 알지 못하고, 단지 이웃 라우터로부터 전달받은 거리(Metric/Hop)와 방향(Next-hop) 정보만을 갱신하여 경로를 설정하는 IGP 라우팅 알고리즘 계열 (RIP, EIGRP).
-
필요성: 1980년대 초창기 라우터들은 CPU는 똥멍청이였고 메모리(RAM)는 KB 단위였다. OSPF처럼 온 동네 지도를 다 외워서 복잡한 수학 공식(다익스트라)을 돌릴 체력이 전혀 안 됐다. "야, 복잡하게 계산하지 말고 그냥 옆집 놈이 준 요약본에 숫자 1만 더해서 내 수첩에 적자! 메모리도 안 들고 짱 편하네!"라는 빈약한 하드웨어를 극복하기 위한 눈물겨운 아이디어였다.
-
💡 비유: 거리 벡터는 숲속에서 길을 잃었을 때 만난 **"동네 꼬마의 길 안내"**와 같습니다.
- 나: "저기 꼬마야, 기차역 가려면 어떻게 가니?"
- 꼬마: "저쪽(Vector 방향)으로 3블록(Distance 거리)만 가면 된대요! 저희 형이 그랬어요!"
- 나: "오케이 땡큐!" (나는 전체 지도를 본 적이 없지만 꼬마 말만 믿고 무작정 걸어갑니다).
[EGP]
│
▼
[거리 벡터 라우팅 알고리즘]
│
└──▶ [링크 상태 라우팅 알고리즘]
- 📢 섹션 요약 비유: ** 거리 벡터 알고리즘은 교실에서 하는 **"전언 게임(소리 없는 아우성)"**입니다. 맨 뒷자리 학생은 원본 글씨(전체 지도)를 보지 못하고, 오직 바로 앞사람(이웃 라우터)이 귓속말로 속삭여주는 단어(거리 정보)만 100% 진실로 믿고 받아 적습니다.
Ⅱ. 아키텍처 및 핵심 원리
1. 라우팅 테이블(수첩) 교환 3원칙
RIP를 돌리는 라우터들의 삶은 아주 단순무식하다.
- 주기적 발송: 라우터는 30초마다 자기 수첩(전체 라우팅 테이블)을 복사해서 옆집 라우터에게 툭 던져준다.
- 브로드캐스트 의존: 엽서를 조용히 주는 게 아니라, 브로드캐스트(
255.255.255.255)로 "동네 사람들! 내 수첩 좀 봐!!" 하고 시끄럽게 방송을 때린다. - 덧셈 갱신 (벨만-포드): 옆집 라우터 A가 "나 10번 동네까지 2칸(Hop) 만에 가!"라고 방송하면, 그걸 들은 B는 자기 수첩에 "아, A가 2칸 만에 가니까, 난 A를 거쳐서 가면 3칸(2+1) 만에 가겠네!"라고 1을 더해서 저장해 둔다.
┌─────────────────────────────────────────────────────────────┐
│ 벨만-포드(Bellman-Ford) 테이블 갱신 도식 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 목적지 Z망 ] ──(1칸)── [ 라우터 A ] ──(1칸)── [ 라우터 B ] │
│ │
│ 1) A의 수첩 초기 상태: "Z망 ──▶ 거리: 1칸 (내가 직접 연결됨)" │
│ │
│ 2) A가 B에게 수첩을 복사해서 휙 던져줌 (30초 주기 방송) │
│ │
│ 3) B의 뇌구조 (벨만-포드 연산 작동): │
│ "음.. A가 Z망까지 1칸 걸린다고? │
│ 그럼 나는 A한테 가려면 1칸 걸리니까 (1+1 = 2칸이네!) │
│ 내 수첩에 적자! [Z망 ──▶ A방향으로 ──▶ 총 2칸!]" │
│ │
│ ▶ 단점: A가 B를 속이거나, A 뒤에 선이 끊겨도 B는 확인할 방법이 없음.│
└─────────────────────────────────────────────────────────────┘
2. 수렴 시간 (Convergence Time)의 비극
- **수렴(Convergence)**이란, 동네 어딘가 선이 끊어졌을 때 모든 라우터가 "아 1번 길 끊어졌대! 2번 우회로로 지도 고쳐!"라고 100% 지도를 갱신 완료하여 평화로워진 상태를 말한다.
- 거리 벡터는 이 수렴 속도가 지옥처럼 느리다.
- A가 죽었다는 걸 B가 아는 데 30초, B가 C한테 "A 죽었대"라고 말하는 데 또 30초... 만약 라우터가 10대 연결되어 있다면, 맨 끝 라우터가 길이 끊긴 걸 아는 데 무려 300초(5분)가 걸린다. 5분 동안 맨 끝 라우터는 끊어진 길로 데이터를 쏟아붓고 인터넷은 마비된다.
3. 무한 루프 (Routing Loop) 대재앙
-
A가 Z망으로 가는 선이 끊어졌다. A는 B에게 "나 이제 Z망 못 가!"라고 말하려는데 30초 타이머가 아직 안 돌아서 가만히 있는다.
-
그때 B가 30초 타이머가 돼서 A한테 무심코 방송을 때린다. "A야! 나 Z망 갈 줄 안다! 나 2칸이면 감! (사실 아까 A한테 배운 길임)"
-
A의 뇌구조: "어? 내 선은 방금 끊겼는데, B가 갈 줄 안다네? 그럼 B한테 주면 되겠네! (2+1 = 3칸)"
-
대참사: 패킷이 들어오면 A는 B한테 던지고, B는 아까 A한테 배웠으니 다시 A한테 던진다. 패킷이 탁구공처럼 A와 B 사이를 맴돌며 무한 루프에 빠진다. (이걸 막는 꼼수들은 뒤에 다룬다).
-
📢 섹션 요약 비유: ** 거리 벡터 알고리즘은 **"다단계 다이어트 약 소문"**과 같습니다. 첫 번째 사람이 "이 약 먹으면 10kg 빠진대!"라고 하면 두 번째, 세 번째 사람을 거치면서 소문(경로)은 퍼지지만, 정작 아무도 그 약(목적지)을 자기 눈으로 직접 성분 분석(전체 지형 파악)을 해 본 적이 없어 사기(루핑)에 매우 취약합니다.
Ⅲ. 비교 및 연결
거리 벡터 라우팅 알고리즘을 볼 때는 앞뒤 개념과의 경계를 함께 봐야 전체 흐름이 선명해진다. EGP가 기반 조건을 만든다면, 거리 벡터 라우팅 알고리즘은 그 위에서 핵심 메커니즘을 구현하고, 링크 상태 라우팅 알고리즘은 이를 더 확장된 적용 단계로 연결한다. 따라서 단일 정의보다 수렴 속도과 확장성에 어떤 차이를 만드는지 비교하는 것이 중요하다.
| 관점 | 선행 개념 | 현재 개념 | 확장 개념 |
|---|---|---|---|
| 초점 | EGP의 기반 정리 | 거리 벡터 라우팅 알고리즘의 핵심 동작 | 링크 상태 라우팅 알고리즘의 확장 적용 |
| 자원 관점 | 기본 조건 확보 | 수렴 속도 최적화 | 규모와 범위 확대 |
| 판단 포인트 | 도입 가능성 확인 | 현재 메커니즘의 적합성 판단 | 운영·확장 전략 연결 |
- 📢 섹션 요약 비유: 거리 벡터 라우팅 알고리즘은 비슷한 기술들 사이의 차선을 구분하는 분기점과 같다. 어디서 갈라지는지 알아야 헷갈리지 않는다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서는 거리 벡터 라우팅 알고리즘을 단독 개념으로 외우기보다 어떤 병목을 줄이기 위한 선택인지 먼저 따져야 한다. 특히 EGP 수준의 기본 대책으로 충분한지, 아니면 거리 벡터 라우팅 알고리즘이 제공하는 메커니즘이 실제로 필요한지 구분해야 한다. 이후 확장 단계에서는 링크 상태 라우팅 알고리즘와 같은 후속 기술, 자동화 체계, 표준 호환성까지 함께 검토해야 한다.
실무 체크리스트
- 현재 문제의 핵심이 수렴 속도 부족인지, 확장성 악화인지 먼저 분리한다.
- 거리 벡터 라우팅 알고리즘가 추가하는 복잡도와 운영 이득이 균형을 이루는지 확인한다.
- 도입 후에는 인접 기술인 링크 상태 라우팅 알고리즘와의 연계 방식을 함께 검증한다.
안티패턴
-
거리 벡터 라우팅 알고리즘의 장점만 보고 트래픽 패턴이나 운영 비용을 무시한 채 과도 도입하는 설계
-
EGP와의 경계를 정리하지 않아 중복 투자나 정책 충돌을 만드는 설계
-
📢 섹션 요약 비유: 거리 벡터 라우팅 알고리즘을 실제로 쓰는 판단은 도구 상자를 고르는 일과 비슷하다. 좋아 보이는 도구보다 지금 문제에 맞는 도구가 중요하다.
Ⅴ. 기대효과 및 결론
거리 벡터 라우팅 알고리즘은 라우팅과 경로 제어를 이해할 때 핵심 축을 잡아 주는 개념이다. 올바르게 적용하면 수렴 속도 개선과 구조적 단순화에 기여하지만, 조건을 잘못 잡으면 오히려 복잡도와 운영 부담이 커질 수 있다. 앞으로는 링크 상태 라우팅 알고리즘, 의도 기반 라우팅, 자동화 운영과의 결합을 통해 더 정교하게 발전할 가능성이 크다. 따라서 이 개념은 정의 자체보다 “언제 쓰고 언제 다른 방법으로 넘길 것인가”의 관점으로 기억하는 것이 좋다. 향후에는 의도 기반 라우팅 같은 자동화 흐름과 결합되어 더 정교한 형태로 확장될 가능성이 크다.
- 📢 섹션 요약 비유: 거리 벡터 라우팅 알고리즘은 큰 흐름 속에서 기억해야 오래 남는다. 지금의 장점과 다음 확장 방향을 같이 보면 전체 그림이 선명해진다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| EGP | 현재 개념이 등장하기 전에 갖춰야 할 배경이나 인접 선행 개념이다. |
| 라우팅 테이블 (Routing Table) | 패킷 전달 의사결정의 기준이 된다. |
| 메트릭 (Metric) | 최적 경로를 선택하는 비교 척도다. |
| 링크 상태 라우팅 알고리즘 | 현재 개념이 확장되거나 적용 단계로 이어질 때 자주 함께 언급된다. |
📈 관련 키워드 및 발전 흐름도
[선행 개념: EGP]
│
▼
[현재 개념: 거리 벡터 라우팅 알고리즘]
│
├──▶ [확장 A: 링크 상태 라우팅 알고리즘]
└──▶ [확장 B: 의도 기반 라우팅]
거리 벡터 라우팅 알고리즘는 EGP에서 출발해 현재 메커니즘을 정교화하고, 이후 링크 상태 라우팅 알고리즘와 의도 기반 라우팅 같은 확장 흐름으로 이어진다고 보면 기억이 오래간다.
👶 어린이를 위한 3줄 비유 설명
- 여러 갈림길이 있는 미로에서 가장 좋은 길을 고르는 게임과 같아요.
- 이 개념은 길이 막히면 다른 길로 빨리 바꾸는 규칙도 알려줘요.
- 그래서 인터넷 길찾기가 덜 헤매고 더 똑똑해져요.