거리 벡터형과 링크 상태형 라우팅 프로토콜의 차이: 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

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

거리 벡터형(RIP 등)
라우터가 적고 구성이 거의 고정된 소규모 네트워크에서 설정의 간단함을 우선할 때. 느린 수렴과 홉 수 제한 때문에 대규모 네트워크나 경로가 이중화된 네트워크에는 맞지 않습니다.
링크 상태형(OSPF 등)
기업이나 데이터 센터처럼 라우터가 많고 경로가 이중화되어 있어, 장애 후 경로를 빨리 전환해야 하는 네트워크. 대규모 네트워크에서는 에어리어로 나누어 계산량과 정보량을 억제합니다.

자주 묻는 질문

무한 카운트(count to infinity)란 무엇인가요?

거리 벡터형에서 어떤 목적지에 도달할 수 없게 되었을 때, 이웃 라우터끼리 오래된 정보를 서로 계속 알려 주어 거리가 1씩 늘어나며 경로가 사라지기까지 오래 걸리는 현상입니다. 그동안 그 목적지로 가는 패킷은 라우터 사이를 오갑니다. RIP는 16을 '도달 불가'로 정해 상한을 둡니다. 또한 스플릿 호라이즌(배운 이웃에게는 그 경로를 되돌려 알리지 않음), 포이즌 리버스(그 이웃에게 거리 16, 도달 불가로 되돌려 알림), 트리거 갱신(변화를 바로 보냄)으로 문제가 일어나기 어렵게 합니다.

OSPF의 비용은 어떻게 정해지나요?

RFC 2328은 각 인터페이스의 비용을 관리자가 설정하는 값으로 다룹니다. 많은 기기는 기준 대역폭을 링크 대역폭으로 나눈 값을 기본 비용으로 씁니다. 기준 대역폭을 100 Mbps로 두면 100 Mbps 이상의 링크는 모두 비용이 1이 되어 빠른 링크를 구별할 수 없으므로, 기준 대역폭을 모든 라우터에서 일관되게 더 큰 값으로 설정합니다.

BGP는 어느 방식인가요?

BGP는 경로 벡터형이라는 방식을 씁니다. 경로가 거쳐 온 AS의 나열(AS_PATH)을 붙여 이웃에게 전달합니다. 이웃이 알려 준 정보로 경로를 고른다는 점은 거리 벡터형과 비슷하지만, 거리 대신 경로 자체를 운반하므로 자신의 AS 번호가 들어 있는 경로를 버려 루프를 막을 수 있습니다. BGP는 조직 사이(AS 사이)에서, OSPF 등은 조직 안에서 씁니다.

같은 목적지로 가는 경로를 RIP와 OSPF 양쪽에서 배우면 어느 쪽을 쓰나요?

홉 수와 비용은 의미가 달라 메트릭을 직접 비교할 수 없습니다. 같은 목적지, 같은 프리픽스 길이의 경로라면 라우터는 경로의 출처별 우선도인 관리 거리가 작은 쪽을 등록합니다. 값은 장비 업체마다 다르지만, OSPF에 110, RIP에 120을 쓰는 기기에서는 OSPF의 경로가 선택됩니다.

이해도 확인

링크 상태형 라우팅 프로토콜의 설명으로 올바른 것은?

  1. A각 라우터가 이웃 라우터로부터 받은 목적지와 거리(홉 수 등)의 정보만을 바탕으로 자신의 라우팅 테이블을 만든다
  2. B각 라우터가 자신에게 연결된 링크의 상태를 퍼뜨려 네트워크 전체의 구성(토폴로지)을 공유하고, 각자가 다익스트라 알고리즘으로 최단 경로를 계산한다
  3. C관리자가 각 라우터에 경로를 수동으로 설정하며, 라우터끼리는 경로 정보를 교환하지 않는다
정답과 해설 보기

정답: B. 각 라우터가 자신에게 연결된 링크의 상태를 퍼뜨려 네트워크 전체의 구성(토폴로지)을 공유하고, 각자가 다익스트라 알고리즘으로 최단 경로를 계산한다

링크 상태형(OSPF나 IS-IS 등)에서는 각 라우터가 자신의 링크 상태(연결된 상대와 비용)를 광고하고, 같은 범위의 모든 라우터가 같은 지도를 가집니다. 각 라우터는 이 지도에서 자신을 기점으로 다익스트라 알고리즘으로 최단 경로 트리를 계산합니다. 거리 벡터형(RIP 등)은 이웃에게서 들은 '어느 목적지까지 거리가 얼마인지'에 자신으로부터의 거리를 더해 경로를 고르므로 구조는 단순하지만, 네트워크 전체의 구성은 알 수 없고 장애 후 경로가 안정되기까지 시간이 걸리기도 합니다. 링크 상태형은 계산과 메모리의 부담은 크지만 변화에 빠르게 따라갈 수 있습니다.

OSPF에서 라우터 R1에서 R4 너머에 있는 네트워크로 가는 경로가 3개 있다. 경로 A는 R1–R5가 10 Gbps, R5–R4가 1 Gbps인 링크, 경로 B는 R1–R4를 직접 잇는 100 Mbps 링크, 경로 C는 R1–R2, R2–R3, R3–R4가 모두 1 Gbps인 링크이다. 각 링크의 비용을 '참조 대역폭 10 Gbps ÷ 링크의 대역폭'으로 하고, R4부터 앞의 비용은 어느 경로든 같다고 한다. R1이 선택하는 경로는?

  1. A경로 A
  2. B경로 B
  3. C경로 C
정답과 해설 보기

정답: A. 경로 A

비용은 10 Gbps 링크가 10 ÷ 10 = 1, 1 Gbps가 10 ÷ 1 = 10, 100 Mbps가 10 ÷ 0.1 = 100입니다. 경로 A는 1 + 10 = 11, 경로 B는 100, 경로 C는 10 × 3 = 30이므로, 비용 합계가 가장 작은 경로 A가 선택됩니다. 참조 대역폭을 많은 기기에서 기본값으로 되어 온 100 Mbps 그대로 두면 100 Mbps 이상인 링크의 비용은 모두 1이 되어, 경로 A가 2, 경로 B가 1, 경로 C가 3이 되므로 가장 느린 경로 B가 선택되어 버립니다. 그래서 고속 링크를 쓰는 네트워크에서는 모든 라우터의 참조 대역폭을 큰 값으로 맞추어 설정합니다.

어떤 라우터가 같은 목적지 192.168.50.0/24로 가는 경로를 OSPF와 RIP 양쪽에서 배웠다. 이 라우터에서 경로 정보원별 우선도를 나타내는 관리 거리(값이 작을수록 우선)는 OSPF가 110, RIP가 120이다. 라우팅 테이블에 들어가는 경로로 올바른 것은?

  1. A두 경로를 모두 라우팅 테이블에 넣고, 패킷마다 번갈아 사용한다
  2. BRIP의 경로만 넣는다
  3. COSPF의 경로만 넣는다
정답과 해설 보기

정답: C. OSPF의 경로만 넣는다

OSPF의 비용과 RIP의 홉 수처럼, 라우팅 프로토콜에 따라 경로의 좋고 나쁨을 나타내는 값(메트릭)의 의미가 다르므로 그대로는 비교할 수 없습니다. 그래서 같은 목적지·같은 프리픽스 길이의 경로를 여러 정보원에서 얻었을 때는, 정보원별 신뢰도인 관리 거리가 작은 쪽을 채택합니다. 여기서는 OSPF의 110이 RIP의 120보다 작으므로 OSPF의 경로가 라우팅 테이블에 들어갑니다. 직접 연결된 네트워크는 0, 정적 경로는 1처럼 사람이 설정한 것일수록 작은 값으로 하는 것이 일반적이지만, 명칭과 기본값은 기기 제조사에 따라 다릅니다.

  1. 인터넷에서 인터넷 서비스 제공자 등의 조직이 관리하는 네트워크 단위(AS, 자율 시스템) 사이에서 경로 정보를 주고받고, 거쳐 온 AS의 나열(AS_PATH) 등의 속성과 조직별 방침(정책)에 따라 경로를 고르는 프로토콜은?
  2. 동적 라우팅에 대한 설명으로 올바른 것은?

네트워크 설계와 운용 문제 풀기

주요 용어 설명

라우팅(경로 제어)
IP 네트워크에서 패킷을 목적지까지 전달하기 위해 어느 경로로 보낼지 정하는 것. 각 라우터는 라우팅 테이블을 가지며, 목적지 IP 주소와 가장 길게 일치하는 경로(최장 일치)를 골라 다음 라우터로 넘긴다. 라우팅 테이블은 사람이 설정하는 정적 라우팅이나, OSPF, RIP, BGP 등의 라우팅 프로토콜로 자동으로 만드는 동적 라우팅으로 만든다.
라우터(Router)
서로 다른 네트워크 사이에서 패킷을 중계하는 네트워크 계층(3계층)의 기기. 받은 패킷의 목적지 IP 주소를 라우팅 테이블과 대조하여, 다음에 넘길 라우터(넥스트 홉)와 출구 인터페이스를 정해 내보낸다. 가정용 라우터는 NAPT나 DHCP 서버, 방화벽 기능도 함께 가진다.
OSPF(Open Shortest Path First)
Open Shortest Path First의 약자. 조직 안에서 쓰는 링크 상태형 라우팅 프로토콜. 각 라우터가 자신의 링크 상태를 퍼뜨려 네트워크의 구성을 공유하고, 다익스트라 알고리즘으로 비용 합계가 가장 작은 경로를 계산한다. 비용은 일반적으로 링크의 대역폭으로 정하며, 네트워크를 여러 에어리어로 나누어 규모가 큰 네트워크에도 대응할 수 있다.
BGP(Border Gateway Protocol)
Border Gateway Protocol의 약자. 인터넷에서 AS(자율 시스템. 인터넷 서비스 제공자 등의 조직이 관리하는 네트워크 단위) 사이에서 경로 정보를 교환하는 라우팅 프로토콜. 경로에 붙은, 거쳐 온 AS의 나열(AS_PATH) 등의 속성과 조직별 방침(정책)에 따라 경로를 고른다. 라우터끼리는 TCP 179번 포트로 접속하여 정보를 주고받는다.
다익스트라 알고리즘(Dijkstra's Algorithm)
간선의 가중치가 0 이상인 그래프에서, 하나의 출발점에서 각 정점까지의 최단 경로를 구하는 알고리즘. 거리가 확정되지 않은 정점 중 가장 가까운 것을 확정하고, 그 이웃 정점의 거리를 갱신하는 것을 반복한다. 음의 가중치를 가진 간선이 있으면 올바르게 구할 수 없다.
관리 거리(Administrative Distance)
같은 목적지·같은 프리픽스 길이의 경로를 정적 경로나 OSPF, RIP 등 여러 정보원에서 얻었을 때, 어느 것을 라우팅 테이블에 넣을지 정하기 위한 정보원별 우선도 값. 값이 작을수록 우선된다. 프리픽스 길이가 다른 경로끼리의 선택에는 쓰이지 않으며, 그쪽은 롱기스트 매치로 정해진다. 명칭과 기본값은 기기 제조사에 따라 다르다.

관련 비교