거리 벡터형과 링크 상태형 라우팅 프로토콜의 차이: RIP와 OSPF로 보는 경로 계산·수렴·규모 비교
라우팅 프로토콜은 라우터끼리 경로 정보를 교환해 라우팅 테이블을 자동으로 만들게 합니다. 조직 안에서 쓰는 프로토콜(IGP)은 크게 두 방식으로 나뉩니다. 거리 벡터형에서는 각 라우터가 이웃에게서 '각 목적지까지 얼마나 먼지'를 듣고, 그 이웃까지의 거리를 더해 경로를 고릅니다. 대표 예인 RIP는 거쳐 가는 라우터의 수(홉 수)를 거리로 씁니다. 링크 상태형에서는 각 라우터가 자신의 링크 상태를 알려 모든 라우터가 네트워크 지도(토폴로지)를 공유하고, 각자 다익스트라 알고리즘으로 최단 경로를 계산합니다. 대표 예인 OSPF는 링크마다 정한 비용의 합으로 경로를 고릅니다. 거리 벡터형은 단순하고 설정하기 쉽지만 장애 후 경로가 안정되는(수렴하는) 데 시간이 걸려 대규모 네트워크에는 맞지 않습니다. 링크 상태형은 계산과 메모리가 더 필요하지만 변화에 빠르게 반응하고 대규모 네트워크로 확장할 수 있습니다.
| 비교 항목 | 거리 벡터형(RIP 등) | 링크 상태형(OSPF 등) |
|---|---|---|
| 각 라우터가 아는 것 | 이웃에게서 들은 목적지별 거리와 다음 홉뿐. 네트워크 전체의 구성은 모릅니다 | 에어리어 안의 모든 라우터와 링크, 그 비용. 에어리어 안의 모든 라우터가 같은 지도(링크 상태 데이터베이스)를 가집니다 |
| 경로 계산 | 이웃에게서 들은 거리에 그 이웃까지의 거리를 더해 가장 작은 것을 고릅니다(벨만-포드의 사고방식) | 지도에서 자신을 뿌리로 하는 최단 경로 트리를 다익스트라 알고리즘으로 계산합니다 |
| 메트릭(경로의 좋고 나쁨을 나타내는 값) | RIP는 홉 수를 쓰며 최대 15. 16은 '도달 불가'를 뜻합니다 | OSPF는 링크별 비용의 합을 씁니다. 비용은 관리자가 정할 수 있으며 대역폭에서 구하는 경우가 많습니다 |
| 갱신 방식 | RIP는 일정 간격(RFC 2453에서는 30초)으로 라우팅 테이블의 내용을 이웃에게 보내고, 변화는 바로 보내기도 합니다(트리거 갱신) | 변화가 있으면 링크 상태 정보(LSA)를 에어리어 전체에 퍼뜨립니다(플러딩). 평소에는 Hello로 이웃의 생존을 확인하고 LSA는 긴 간격(30분)으로 갱신만 합니다 |
| 수렴 속도와 루프 | 느림. 장애 후 거리가 조금씩 올라갈 수 있습니다(무한 카운트, count to infinity). 스플릿 호라이즌 등으로 억제합니다 | 빠름. 변화가 퍼지면 각 라우터가 바로 다시 계산하며, 모두 같은 지도로 계산하므로 루프가 생기기 어렵습니다 |
| 네트워크 규모 | 소규모 네트워크에 적합합니다. RIP는 16홉 이상 떨어진 목적지를 다룰 수 없습니다 | 대규모 네트워크에도 적합합니다. 네트워크를 백본 에어리어(에어리어 0)를 중심으로 배치한 에어리어로 나눕니다 |
| 자원과 설정 | CPU와 메모리 부담이 가볍고 설정이 간단합니다 | 지도를 보관하고 최단 경로를 계산하느라 CPU와 메모리가 더 필요하며, 에어리어 설계 등 설정이 더 복잡합니다 |
| 대표 예 | RIP(RIPv1, RIPv2, IPv6용 RIPng) | OSPF(IPv4용 OSPFv2, IPv6용 OSPFv3), IS-IS |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.