تازه شوی 1 month ago
RIP(Routing Information Protocol)는 현재도 네트워크에서 찾아볼 수 있는 가장 오래된 동적 라우팅 프로토콜입니다. 1980년대에 네트워크 규모가 작고 라우터의 CPU 자원이 귀하던 시절에 개발된 RIP는 단순한 질문에 답하기 위해 만들어졌습니다. 라우터들이 네트워크 토폴로지에 대해 알고 있는 정보를 어떻게 서로 공유할 수 있을까요?
RIP가 선택한 방법—이웃 라우터에게 모든 곳까지의 거리를 물어보고, 가장 짧은 답을 믿고, 그런 다음 배운 것을 이웃에게 알려주는 것—은 너무 직관적이어서 당연한 것처럼 느껴집니다. 하지만 그 안에는 완전히 파악하는 데 수년이 걸린 근본적인 결함들이 있습니다. RIP의 모든 한계는 현대 프로토콜을 만들어 낸 교훈이 되었습니다.
RIP의 동작 방식
RIP는 거리 벡터 프로토콜입니다. 각 라우터는 목적지와 거리(홉 수—패킷이 통과해야 하는 라우터의 수—로 측정)를 담은 테이블을 유지합니다. 동작 방식은 간단합니다.
- 매 30초마다 각 라우터는 전체 라우팅 테이블을 이웃에게 브로드캐스트합니다
- 라우터가 업데이트를 수신하면, 알려진 경로보다 더 짧은 경로가 있는지 확인합니다
- 더 짧은 경로가 더 긴 경로를 대체하며, 라우터는 계속 알리기 전에 홉 수를 1 증가시킵니다(자신을 추가)
- 180초 이내에 갱신되지 않은 경로는 유효하지 않은 것으로 표시되고, 240초 후에는 삭제됩니다
RIP는 모든 이웃에게 묻습니다. "모든 곳까지 얼마나 멀어요?" 그런 다음 가장 가까워 보이는 답을 믿습니다. 누군가가 거짓말을 하거나, 사라지거나, 응답하는 데 너무 오래 걸리기 전까지는 잘 작동합니다.
15홉 한계
RIP는 15홉보다 멀리 있는 모든 목적지를 도달 불가능으로 선언합니다. 홉 수 16은 무한대를 뜻합니다—"여기서는 거기에 갈 수 없어요."
왜 그런지 이해하기 전까지는 이 제한이 근거 없어 보입니다. 거리 벡터 프로토콜은 무한 계산 문제에 취약합니다. 어떤 네트워크에 연결할 수 없게 되면, 라우터들은 그 사실을 즉시 알지 못합니다. 라우터 A는 라우터 B를 통해 해당 네트워크에 도달할 수 있다고 생각할 수 있습니다. 라우터 B는 방금 경로를 잃어버렸는데도 라우터 A를 통해 도달할 수 있다고 생각할 수 있습니다. 둘은 서로에게 계속 알리고, 각각 홉 수를 늘려 갑니다. 최댓값이 없다면 영원히 이 과정을 반복합니다.
15홉은 설계상의 선택이 아닙니다—비상 버튼입니다. "멀리 있다"와 "영원히 사라졌다"를 신뢰할 수 있게 구별하지 못할 때 내놓는 궁여지책입니다.
왜 30초인가요?
RIP는 아무것도 변경되지 않았더라도 매 30초마다 전체 라우팅 테이블을 브로드캐스트합니다. 낭비처럼 보입니다—실제로도 낭비입니다—하지만 RIP에는 무엇이 바뀌었는지 감지하는 수단이 없습니다. 지금 알고 있는 것만 알 뿐입니다. 주기적인 전체 업데이트는 결국 일관성을 보장하는 가장 단순한 방법입니다.
그 대가는 수렴 시간입니다. 토폴로지가 변경되면, 소식은 홉 하나하나를, 업데이트 하나하나를 거쳐 전달됩니다. 네트워크 가장자리에서 발생한 장애가 모든 곳에 전파되는 데 몇 분이 걸릴 수 있습니다. 그 시간 동안 라우터들은 제각각 다른 시각을 갖습니다. 패킷이 유실되고, 루프가 생깁니다.
현대 프로토콜은 변경 사항을 추적해 달라진 것만, 그것을 알아야 하는 라우터에만 전송합니다. RIP는 그런 정교함이 생기기 전에 만들어졌습니다.
루프 방지: 땜질에 땜질
RIP의 근본적인 신뢰 모델—가장 짧은 거리를 알려준 이웃을 믿는 것—은 루프 취약성을 낳습니다. 프로토콜은 이 피해를 억제하기 위한 메커니즘들을 하나씩 덧붙여 왔습니다.
스플릿 호라이즌(Split Horizon): 경로를 배운 이웃에게 그 경로를 다시 알리지 않습니다. 라우터 B에서 네트워크 X에 대해 배웠다면, 라우터 B에게 네트워크 X를 알려줄 필요가 없습니다.
경로 포이즈닝(Route Poisoning): 경로에 장애가 생기면, 시간 초과를 기다리는 대신 즉시 도달 불가능(홉 수 16)으로 알립니다.
홀드다운 타이머(Hold-Down Timer): 경로에 장애가 생긴 후 180초 동안은 해당 경로에 관한 새로운 정보를 무시합니다. 상충되는 업데이트가 전파될 때 발생하는 진동을 막기 위해서입니다.
이런 메커니즘들이 도움이 되기는 하지만, 근본적인 문제는 해결하지 못합니다. "네트워크가 이동했다"와 "이웃 라우터가 혼란에 빠졌다"를 근본적으로 구별할 수 없는 프로토콜에 대한 임시방편일 뿐입니다.
RIP 버전
RIPv1은 클래스풀(Classful) 방식이었습니다—가변 길이 서브넷 마스크나 CIDR을 처리할 수 없었습니다. 대역폭을 낭비하면서 업데이트를 브로드캐스트했고, 인증 기능도 없었습니다. RIPv1은 이제 쓰이지 않습니다.
RIPv2(RFC 2453)는 업데이트에 서브넷 마스크를 포함시켜 클래스리스(Classless) 라우팅을 가능하게 했습니다. 브로드캐스트에서 멀티캐스트로 전환했고, MD5 인증도 추가했습니다. 이 개선들 덕분에 CIDR 시대에도 RIP를 사용할 수 있게 됐지만, 근본적인 한계는 그대로였습니다.
RIPng는 RIPv2를 IPv6로 확장합니다. 기본 프로토콜은 동일하고, 주소 체계만 다릅니다.
홉 수 문제
RIP는 거리를 홉으로 측정합니다. 세 개의 라우터를 통과하는 경로는 다른 모든 조건에 관계없이 다섯 개를 통과하는 경로보다 "짧습니다".
즉, RIP는 다이얼업 링크를 통한 3홉 경로와 100 Gbps 광섬유를 통한 3홉 경로를 완전히 동일하게 취급합니다. 대역폭, 지연 시간, 안정성은 전혀 고려하지 않습니다. 직관적으로 보였던 이 메트릭—홉이 적을수록 더 가깝다—은 실제 트래픽 흐름을 최적화하는 데 거의 쓸모가 없다는 것이 드러났습니다.
OSPF는 대역폭에 기반한 비용을 사용합니다. EIGRP는 대역폭, 지연, 안정성, 부하를 종합적으로 고려합니다. RIP는 라우터 수를 세고 운에 맡깁니다.
RIP가 여전히 존재하는 이유
RIP가 최선의 선택인 경우는 드물지만, 여전히 쓰이고 있습니다.
레거시 시스템: 일부 오래된 장비는 RIP만 지원합니다.
소규모 네트워크: 일렬로 연결된 라우터 세 대짜리 네트워크에는 OSPF의 정교함이 필요하지 않습니다.
교육: RIP의 단순함은 링크 상태 프로토콜의 복잡성을 소개하기 전에 라우팅 개념을 가르치기에 적합합니다.
자원 제약: RIP의 낮은 CPU와 메모리 요구 사항은 1990년대 장치에서 의미가 있습니다. 그런 장치들은 교체되어야 마땅하지만, 현실에서는 그렇지 않은 경우도 있습니다.
RIP가 남긴 교훈
RIP의 한계는 그 후계 프로토콜들의 설계 요구 사항이 되었습니다.
- 15홉 한계는 임의의 네트워크 규모를 처리할 수 있는 프로토콜을 요구했습니다(OSPF는 홉 한계가 없습니다)
- 느린 수렴은 트리거 업데이트와 점진적 변경을 요구했습니다(OSPF와 EIGRP는 수 초 만에 수렴합니다)
- 낭비되는 대역폭은 변경 사항만, 영향을 받는 라우터에만 전송하도록 요구했습니다
- 쓸모없는 홉 수 메트릭은 실제 링크 특성을 반영하는 복합 메트릭을 요구했습니다
- 루프 취약성은 근본적으로 다른 접근 방식을 요구했습니다(OSPF의 링크 상태 데이터베이스는 일관된 네트워크 시각을 제공하고, EIGRP의 DUAL 알고리즘은 루프 없는 경로를 보장합니다)
RIP는 라우팅의 화석 기록입니다. 모든 뼈는 어떤 문제가 있었는지, 어떤 해결책이 명백해 보였는지, 그리고 왜 그 해결책이 결국 실패했는지를 보여줍니다.
RIP에 관한 자주 묻는 질문
사용되지 않는 RIP를 왜 아직도 가르치나요?
RIP의 단순함은 동적 라우팅 개념을 처음 배우기에 더없이 좋은 출발점입니다. OSPF 영역이나 EIGRP의 복합 메트릭 같은 부담 없이 거리 벡터 동작, 수렴 문제, 루프 방지를 이해할 수 있습니다. RIP가 왜 실패하는지 이해하면, 현대 프로토콜이 왜 존재하는지 자연스럽게 이해됩니다.
RIP와 OSPF를 같은 네트워크에서 함께 실행할 수 있나요?
예, 재배포(Redistribution)를 통해 가능합니다—라우터가 두 프로토콜에 모두 참여하면서 그 사이에 경로를 공유할 수 있습니다. RIP에서 마이그레이션하거나 레거시 장비와 연결할 때 흔히 사용하는 방법입니다. 라우터가 RIP의 홉 수와 OSPF의 비용을 서로 변환하지만, 두 메트릭이 서로 다른 것을 측정하기 때문에 완벽한 변환은 아닙니다.
RIP 네트워크가 15홉을 넘어서면 어떻게 되나요?
목적지까지 15홉이 넘는 라우터는 단순히 도달할 수 없습니다. 해당 목적지는 라우팅 테이블에서 "도달 불가능"으로 표시됩니다. 이것은 절대적인 한계입니다—RIP 내에서는 우회 방법이 없습니다. 두 지점 사이에 15홉 이상이 필요한 네트워크는 반드시 다른 프로토콜을 사용해야 합니다.
آیا دا پاڼه ګټوره وه؟