OSPF와 BGP의 차이: IGP와 EGP·경로 선택 방식·이웃 라우터와의 연결 방식·규모 비교

인터넷은 서비스 제공자, 대학, 기업 같은 조직이 관리하는 네트워크인 AS(자율 시스템)가 서로 연결되어 이루어집니다. AS 안에서 경로를 교환하는 프로토콜을 IGP, AS 사이에서 경로를 교환하는 프로토콜을 EGP라고 하며, OSPF는 대표적인 IGP, BGP는 대표적인 EGP입니다. OSPF는 AS 안의 링크 비용에서 최단 경로를 자동으로 구하고, 장애 후 빠르게 전환하는 것을 목표로 합니다. BGP는 거쳐 온 AS의 나열(AS_PATH) 같은 속성과, 어느 이웃을 우선할지 같은 조직마다의 정책을 바탕으로 AS 사이의 경로를 고릅니다. 인터넷 전체의 경로를 다루므로 속도보다 안정성과 제어를 중시해 설계되었습니다.

비교 항목OSPFBGP
분류와 범위IGP. 하나의 AS(조직) 안EGP. AS 사이. 같은 AS 안의 BGP 라우터끼리도 씁니다(iBGP)
프로토콜 방식링크 상태형경로 벡터형
경로 선택다익스트라 알고리즘으로 링크 비용의 합이 가장 작은 경로를 구합니다LOCAL_PREF, AS_PATH의 길이, MED 같은 속성을 정해진 순서로 비교합니다. 속성을 설정해 조직의 정책을 반영할 수 있습니다
루프 방지에어리어 안의 모든 라우터가 같은 지도로 최단 경로를 계산합니다받은 경로의 AS_PATH에 자신의 AS 번호가 있으면 버립니다
이웃과의 연결 방식IP 위에서 직접 동작합니다(프로토콜 번호 89). 멀티캐스트로 Hello를 보내 이웃을 자동으로 찾습니다TCP 179번 포트로 연결합니다. 상대(피어)를 관리자가 하나씩 설정합니다
갱신 방식변화가 있으면 LSA를 에어리어에 퍼뜨립니다. Hello로 이웃의 생존을 확인합니다(RFC 2328의 예에서는 10초마다)처음에 경로 전체를 보내고, 그 뒤에는 UPDATE 메시지로 변화만 보냅니다. 경로를 주기적으로 다시 보내지는 않으며, KEEPALIVE로 세션을 유지합니다
수렴 속도일반적으로 빠름. 링크 장애를 알아채면 바로 다시 계산합니다일반적으로 느림. 장애 감지에 홀드 타임(RFC 4271에서 제안하는 값은 90초)을 기다려야 할 수 있고, 경로 수도 훨씬 많습니다
경로 수와 규모조직 안의 경로. 대규모 네트워크는 에어리어로 나누어 계산량과 정보량을 억제합니다인터넷 전체의 매우 많은 경로를 다룰 수 있습니다. 제공자 사이와, 여러 제공자에 연결하는 조직에서 씁니다

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

상황별 선택 기준

OSPF
한 조직의 네트워크 안에서 이중화된 경로 가운데 최단 경로를 자동으로 고르고 장애 후 빠르게 전환하고 싶을 때. 거점 안이나 데이터 센터 안의 라우팅에 적합합니다.
BGP
여러 제공자에 연결하면서(멀티호밍) 어느 회선을 우선할지 제어할 때나, 제공자로서 다른 AS와 경로를 교환할 때. 조직 밖에 어떤 경로를 알리고 어떤 경로를 받아들일지 정책으로 세밀하게 제어할 수 있습니다.

자주 묻는 질문

조직 안에서는 OSPF를, 조직 사이에서는 BGP를 쓰는 이유는 무엇인가요?

목적이 다르기 때문입니다. 조직 안에서는 네트워크 전체를 같은 관리자가 운영하므로, 최적의 경로를 자동으로 고르고 장애 후 빠르게 전환하는 것이 중요합니다. 조직 사이에서는 이웃마다 자체 정책이 있고 내부 구성을 공개하지 않습니다. 어느 이웃의 경로를 우선하고 어떤 경로를 알릴지는 계약과 정책으로 정해야 하며, BGP는 이를 속성과 필터로 표현하도록 만들어졌습니다.

iBGP와 eBGP는 무엇이 다른가요?

eBGP는 다른 AS의 라우터 사이의 BGP 세션이고, iBGP는 같은 AS의 라우터 사이의 세션입니다. eBGP로 다른 AS에 경로를 알릴 때 라우터는 AS_PATH에 자신의 AS 번호를 더합니다. 같은 AS 안의 iBGP에서는 AS 번호가 더해지지 않으므로, 루프를 막기 위해 iBGP로 배운 경로는 다른 iBGP 피어에 전달하지 않습니다. 그래서 iBGP 라우터는 모두 서로 연결하거나(풀 메시) 라우트 리플렉터를 씁니다.

OSPF와 BGP를 함께 쓰기도 하나요?

네. 제공자나 대규모 조직에서는 OSPF 같은 IGP로 AS 안의 기기 주소까지의 경로를 구하고, 그 위에서 BGP 세션을 동작시켜 외부 경로를 BGP로 운반하는 설계가 흔합니다. BGP 경로의 다음 홉(NEXT_HOP)에 어떻게 도달하는지를 IGP가 알려 줍니다. 대규모 데이터 센터 중에는 IGP 없이 BGP만으로 경로를 교환하는 곳도 있습니다(RFC 7938).

EGP라는 프로토콜도 있나요?

있습니다. EGP(Exterior Gateway Protocol)는 BGP 이전에 AS 사이에서 쓰던 오래된 프로토콜의 이름이기도 합니다. 지금은 쓰이지 않으며, 'EGP'는 이제 AS 사이에서 경로를 교환하는 프로토콜의 분류를 가리키고, BGP가 그 대표 예입니다.

이해도 확인

인터넷에서 인터넷 서비스 제공자 등의 조직이 관리하는 네트워크 단위(AS, 자율 시스템) 사이에서 경로 정보를 주고받고, 거쳐 온 AS의 나열(AS_PATH) 등의 속성과 조직별 방침(정책)에 따라 경로를 고르는 프로토콜은?

  1. AOSPF
  2. BBGP
  3. CRIP
정답과 해설 보기

정답: B. BGP

BGP(Border Gateway Protocol)는 AS 번호로 구별되는 조직끼리 경로를 교환하기 위한 프로토콜이며, 인터넷의 경로는 기본적으로 BGP로 주고받습니다. 경로에는 거쳐 온 AS의 나열(AS_PATH)이나 다음 전달 대상(NEXT_HOP) 등의 속성이 붙으며, 자신의 AS 번호가 포함된 경로를 버림으로써 루프를 막습니다. 경로 선택에서는 AS_PATH의 짧음뿐 아니라, 어느 접속 상대를 우선할지 같은 조직의 방침을 속성으로 나타내어 반영할 수 있습니다. OSPF와 RIP는 하나의 조직 안에서 쓰는 라우팅 프로토콜(IGP)입니다.

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가 선택되어 버립니다. 그래서 고속 링크를 쓰는 네트워크에서는 모든 라우터의 참조 대역폭을 큰 값으로 맞추어 설정합니다.

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

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

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

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

  1. 동적 라우팅에 대한 설명으로 올바른 것은?

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

주요 용어 설명

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

관련 비교