BGP(경계 경로 프로토콜)란? 인터넷 라우팅 기초 완전정복

인터넷은 어떻게 수많은 네트워크가 서로 길을 알려주며 하나로 연결될까요.

🛰️

BGP(경계 경로 프로토콜)란

전 세계 수많은 통신사와 대형 네트워크가 "어떤 IP 대역이 어느 네트워크로 가는 길인지" 서로 알려주는 데 쓰는 인터넷 핵심 라우팅 프로토콜입니다.

BGP(Border Gateway Protocol)는 집이나 회사 내부망에서 쓰는 라우팅 방식과 달리, 서로 다른 회사가 운영하는 네트워크끼리 경로 정보를 주고받기 위해 설계된 프로토콜입니다. 인터넷은 사실 하나의 거대한 네트워크가 아니라 통신사, 클라우드 업체, 대학, 기업 등이 운영하는 수많은 개별 네트워크가 BGP로 서로 연결된 "네트워크들의 네트워크"입니다.

🏢

자율 시스템(AS)이란

하나의 조직이 자체 정책으로 관리하는 IP 네트워크 묶음으로, 전 세계에서 겹치지 않는 고유한 AS 번호(ASN)를 부여받습니다.

통신사, 대형 클라우드 업체, 대학교, 대기업은 각각 하나 이상의 자율 시스템(Autonomous System)을 운영하며, 국제 인터넷 registry로부터 고유한 AS 번호를 할당받습니다. BGP는 정확히 말하면 "IP 주소끼리"가 아니라 "AS와 AS 사이"에 어떤 IP 대역으로 가는 경로가 있는지를 광고하고 교환하는 프로토콜입니다.

📢

경로 광고와 최적 경로 선택

각 AS는 자신이 책임지는 IP 대역을 이웃 AS에게 "이 대역은 나를 거쳐 가면 된다"고 광고하고, 이 정보가 인터넷 전체로 퍼져나갑니다.

한 AS가 특정 IP 대역(프리픽스)을 광고하면, 이를 받은 이웃 AS는 자신의 라우팅 테이블에 기록한 뒤 다시 자신의 다른 이웃에게 전달합니다. 이 과정이 반복되며 전 세계 라우터들은 특정 목적지까지 어떤 AS들을 거쳐야 하는지(AS 경로)를 알게 되고, 여러 경로 후보가 있을 경우 대표적으로 거쳐야 할 AS 개수가 더 적은 경로 등 정해진 기준에 따라 하나를 선택합니다.

🤝

피어링과 트랜짓 관계

규모가 비슷한 네트워크끼리는 서로 무료로 트래픽을 주고받는 피어링을, 소규모 네트워크는 큰 통신사에 비용을 내고 인터넷 전체 경로를 얻는 트랜짓 계약을 맺습니다.

대형 통신사나 콘텐츠 사업자들은 인터넷 교환 지점(IXP, Internet Exchange Point)에 모여 직접 회선을 연결하고 서로의 트래픽을 무료로 교환하는 "피어링(peering)" 관계를 맺기도 합니다. 반면 자체 회선망이 없는 중소 네트워크는 상위 통신사에 비용을 지불하고 인터넷 전체로 나가는 경로를 제공받는 "트랜짓(transit)" 계약을 이용합니다.

⚠️

BGP 하이재킹이란

자신이 관리하지 않는 IP 대역을 실수로 또는 의도적으로 광고해 다른 네트워크로 갈 트래픽을 엉뚱한 곳으로 끌어오는 현상입니다.

BGP는 기본적으로 "이웃 네트워크가 광고하는 정보는 맞는 정보일 것"이라고 신뢰하는 구조로 설계되어 있습니다. 그래서 한 AS가 설정 실수나 악의적인 목적으로 자신의 소유가 아닌 IP 대역을 광고하면, 그 대역으로 가야 할 트래픽 일부가 잘못된 경로로 흘러가는 BGP 하이재킹이 발생할 수 있습니다. 실제로 특정 통신사의 설정 실수 하나가 특정 대형 서비스로 향하던 트래픽을 전 세계적으로 마비시킨 사례가 여러 차례 보고된 바 있습니다.

🔓

BGP가 "신뢰" 기반으로 설계된 이유

1980년대 말 상대적으로 소수의 기관만 인터넷에 연결되어 있던 시절에 설계되어, 강력한 신원 검증 기능 없이 이웃의 광고를 그대로 받아들이는 구조로 만들어졌습니다.

BGP가 처음 만들어질 당시에는 인터넷에 연결된 네트워크 수가 지금보다 훨씬 적었고, 서로가 서로를 어느 정도 신뢰할 수 있는 환경이었습니다. 이 때문에 "이 광고가 정말 그 IP 대역의 정당한 주인에게서 나온 것인지"를 암호학적으로 검증하는 기능이 기본 설계에는 포함되어 있지 않았고, 이것이 오늘날까지 이어지는 구조적 보안 약점으로 지적됩니다.

🔏

RPKI로 경로를 검증하는 방법

어떤 AS가 어떤 IP 대역을 광고할 자격이 있는지 암호학적 인증서로 미리 등록해두고, 다른 네트워크가 이를 대조해 잘못된 광고를 걸러내는 보안 체계입니다.

RPKI(Resource Public Key Infrastructure)는 IP 주소 관리 기관이 "이 AS 번호가 이 IP 대역을 광고할 정당한 권한이 있다"는 내용을 암호학적으로 서명한 인증서(ROA)로 등록해두는 체계입니다. RPKI를 도입한 네트워크는 들어오는 BGP 광고가 이 인증서와 맞는지 검증해, 권한 없는 곳에서 나온 잘못된 광고를 자동으로 걸러낼 수 있습니다. 다만 전 세계 모든 네트워크가 이를 적용한 것은 아니라서, 도입률을 계속 높여가는 것이 인터넷 보안 커뮤니티의 과제로 남아 있습니다.

💥

왜 사소한 설정 실수가 전 세계 장애로 이어질까

한 네트워크의 라우터 설정 실수가 순식간에 전 세계 다른 네트워크로 전파되는 BGP의 특성 때문에, 국소적인 실수가 광범위한 접속 장애로 번질 수 있습니다.

특정 AS가 실수로 자신이 가진 것보다 훨씬 많은 IP 대역을 한꺼번에 광고하거나, 잘못된 경로 정보를 흘려보내면 이웃 AS들이 이를 그대로 받아들여 다시 전파하면서 오류가 인터넷 전역으로 급속히 퍼질 수 있습니다. 이 때문에 대형 인터넷 서비스나 클라우드 업체의 접속 장애 뉴스에서 "설정 오류로 인한 BGP 라우팅 문제"라는 원인이 자주 등장합니다.

AS 사이의 IP 대역 구획이 궁금하다면

BGP로 광고되는 IP 대역이 어떤 표기법으로 구획되는지 궁금하다면CIDR 표기법 완전정복도 함께 확인해보세요.

인터넷을 실제로 물리적으로 잇는 것은

BGP가 논리적인 경로를 정한다면, 대륙 간 트래픽을 실제로 실어 나르는 것은 해저 케이블입니다.해저 케이블이 인터넷을 연결하는 방법에서 물리적 인프라를 확인해보세요.

자주 묻는 질문

일반 가정에서 쓰는 공유기도 BGP를 사용하나요?

아니요. 가정이나 사무실 내부망은 보통 정적 경로나 DHCP로 받은 기본 게이트웨이 정보만으로 충분히 동작합니다. BGP는 통신사·클라우드 업체·대형 기업처럼 자체 AS 번호를 가진 조직이 다른 조직의 네트워크와 경로 정보를 주고받을 때 사용하는 프로토콜입니다.

BGP 하이재킹이 발생하면 사용자가 알아챌 수 있나요?

일반 사용자 입장에서는 특정 사이트 접속이 갑자기 느려지거나 안 되는 정도로만 느껴지는 경우가 많아 원인이 BGP 문제인지 바로 알기 어렵습니다. 대개는 네트워크 운영자나 보안 업체의 모니터링을 통해 사후에 원인이 BGP 경로 오류였다고 밝혀지는 경우가 대부분입니다.