핵심 인사이트 (3줄 요약)
- 본질: 앞이 보이지 않아 "남의 말(소문)만 철석같이 믿고 지도를 고치는" 멍청한 거리 벡터 프로토콜(RIP)이, 끊어진 길을 빙글빙글 도는 무한 루프(Routing Loop) 재앙에 빠지는 것을 막기 위해 덕지덕지 발라놓은 눈물겨운 예방 주사(방지책)들이다.
- 스플릿 호라이즌 (Split Horizon): "A가 나(B)한테 알려준 길은, 내가 다시 A한테는 말해주지 않는다!"라는 상식적인 침묵의 규칙으로, 탁구공처럼 서로 길을 되묻는 핑퐁 루프를 원천 차단하는 가장 기초적인 방어벽이다.
- 포이즌 리버스 (Poison Reverse): 스플릿 호라이즌처럼 입을 꾹 닫는 게 아니라, 오히려 A한테 다시 알려주되 "야, 네가 알려준 그 길, 거리(Hop)가 무한대(16, 독약)라서 완전 썩은 길이니까 절대 가지 마!"라고 대놓고 팩폭(독약 살포)을 날려 확인 사살을 시키는 강력한 응징 기술이다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: Distance Vector 라우팅 환경에서 잘못된 라우팅 정보가 노드 간에 반복 순환하며 무한히 홉(Hop) 카운트가 증가하는 Count-to-Infinity(무한대 세기) 문제를 억제하기 위한 알고리즘적 안전장치들.
-
필요성: 목적지 Z로 가려면
A -> B -> C -> Z순서로 가야 한다. B는 A에게 "나한테 주면 Z까지 2칸 만에 감!"이라고 자랑해 뒀다. 어느 날 B와 C 사이의 선이 끊어졌다. B는 "아 망했네, 못 가네" 하고 지우려는데, A가 B한테 정기방송(30초)을 때린다. "야! 나 Z로 3칸(A->B->C->Z)이면 간다!" (사실 B가 아까 알려준 길임). B는 바보같이 "어? 선 끊겼는데 A가 3칸 만에 간다네? 그럼 난 A한테 주면 4칸(B->A->...) 만에 가겠네!"라며 지도를 갱신해 버린다. 결국 Z로 가는 패킷은 A와 B 사이를 영원히 빙빙 돌며 대역폭을 갉아먹는다. 이 멍청함을 막을 꼼수가 뼈저리게 필요했다. -
💡 비유:
- 스플릿 호라이즌 (수평선 분할): 친구 철수(A)가 영희(B)에게 "내일 비 온대!"라고 알려줬습니다. 영희가 다음날 철수에게 가서 "야, 내일 비 온대!"라고 자기가 들은 소문을 원래 말해준 당사자에게 역으로 다시 말하는 바보짓을 입을 꿰매어 강제로 막는 규칙입니다.
📢 섹션 요약 비유: 라우팅 루프 방지책들은 귀가 너무 얇아 사기를 잘 당하는 바보 라우터(RIP)에게 씌워준 **"사기 예방 지침서"**입니다. 이 지침서 없이는 네트워크가 5분 만에 거짓 정보의 소용돌이에 휘말려 파멸합니다.
Ⅱ. 루프 방지 핵심 메커니즘 4형제 (Deep Dive)
1. 라우팅 루프의 끝: Maximum Hop Count (무한대 제한)
- 멍청하게 빙빙 돌더라도 영원히 돌게 놔둘 순 없다.
- RIP는 "홉 카운트가 16이 되는 순간, 이 길은 썩은 길(무한 루프)이 확실하니까 묻지도 따지지도 않고 삭제(Unreachable)한다!"라는 안전핀을 박아두었다. (이 때문에 RIP는 라우터가 16대 이상 넘어가는 대기업 망에서는 아예 쓸 수가 없는 구데기 프로토콜이 되었다).
2. 스플릿 호라이즌 (Split Horizon - 침묵)
- 규칙: 라우팅 정보를 수신한 바로 그 인터페이스(포트)를 통해서는, 수신한 라우팅 정보를 절대로 다시 되돌려 보내지 않는다.
- 작동: A가
1번 포트로 B에게 "Z망 1칸이야!"라고 보냈다. B는 이 정보를2번 포트로 받았다. 나중에 B가 정기방송을 할 때,2번 포트밖으로 나가는 패킷에는 절대로 Z망에 대한 정보를 적지 않는다 (침묵). 애초에 A한테 들은 건데 다시 A한테 말하는 게 멍청한 짓이니까!
3. 루트 포이즈닝 (Route Poisoning - 독약 바르기)
- 규칙: B와 Z망 사이의 선이 포크레인에 툭 끊어졌다. B는 30초 정기방송을 기다리지 않는다.
- 작동: 선이 끊어진 걸 눈치챈 B는 즉시 자기 지도의 Z망 홉 카운트를 **16(무한대, 독약)**으로 조작해 버린다. 그리고 A에게 "야! Z망 홉 카운트 16이야(접근 불가)!"라고 독약을 묻혀서 냅다 쏴버린다.
- A는 이 엽서를 받고 "헐 16이네? 이 길 썩었네!" 하고 즉시 지도를 폐기한다.
4. 포이즌 리버스 (Poison Reverse - 독약 되돌려주기)
- 스플릿 호라이즌의 예외(예의 바른 팩폭) 규칙이다.
- 스플릿 호라이즌 규칙대로라면, A가 B에게 Z망 정보를 주면 B는 A에게 입을 닫아야 한다.
- 하지만 B는 입을 닫는 대신, A에게 **"네가 알려준 Z망 길, 거리가 16(독약)이라서 도달 불가 상태야!"**라고 아주 구체적인 확인 사살용 거짓 엽서를 되돌려(Reverse) 보낸다.
- 왜 이렇게 귀찮은 짓을 하느냐? A가 "아, 내가 알려준 길을 B가 확실하게 지웠구나!"라고 100% 맘 편하게 확인할(Acknowledge) 수 있도록 확실하게 도장을 찍어주는 것이다.
┌─────────────────────────────────────────────────────────────┐
│ 스플릿 호라이즌 vs 포이즌 리버스 차이 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 상황: A가 B에게 "Z망으로 가는 길"을 가르쳐 주었다 ] │
│ │
│ * 스플릿 호라이즌의 대응: │
│ B ──▶ A (말을 걸 때) : "...... (Z망에 대해선 입을 꾹 닫음)" │
│ │
│ * 포이즌 리버스의 대응: │
│ B ──▶ A (말을 걸 때) : "야 A야! 네가 알려준 Z망 말인데, │
│ 홉 카운트 16(무한대)이라 썩었더라!!" │
│ │
│ ▶ 결론: 포이즌 리버스가 대역폭을 좀 더 쓰지만(엽서가 커지니까), │
│ 루프를 끊어버리는 방어력은 훨씬 강력하고 확실하다. │
└─────────────────────────────────────────────────────────────┘
📢 섹션 요약 비유: 포이즌 리버스는 스팸 메일(루프 정보)이 왔을 때 그냥 차단하고 무시하는(스플릿 호라이즌) 것을 넘어, 스팸 발송자에게 **"없는 메일 주소입니다(반송-독약)"**라고 답장을 때려서 아예 스팸 DB에서 내 주소를 완벽히 지워버리게 만드는 적극적이고 잔인한 복수극입니다.