BGP 이야기
테라스위치 콘솔에서 서버는 싱가폴 리전에 위치하지만 공인 IP를 조회하니 BGP 대역이 한국으로 나타났습니다. 이게 어떻게 가능한 걸까요?
공인 IP는 지리적 위치를 보장하지 않는다.
우리가 흔히 생각하는 것과 달리 IP 주소 자체는 물리적 위치 정보를 담고 있지 않습니다. IP는 그냥 숫자일 뿐이고, 실제 서버가 어디에 있는지는 BGP Announcement에 의해 결정됩니다.
실제 케이스: 테라스위치 싱가포르 서버
테라스위치 싱가포르 서버
↓
한국 IP 블록 (67.209.54.0/24)을 BGP로 announce
↓
GeoIP 데이터베이스: "이 IP는 한국"으로 등록
↓
실제 물리 서버: 싱가포르
이런 구성이 가능한 이유는 BGP의 작동 방식 때문입니다.
BGP (Border Gateway Protocol)란?
BGP는 인터넷에서 데이터를 전송하는 데 가장 적합한 네트워크 경로를 결정하는 프로토콜입니다. 인터넷은 수십만 개의 자율 시스템(AS, Autonomous System)으로 구성되어 있고, BGP는 이들 간의 최적 경로를 찾아줍니다.
BGP Announcement의 의미
BGP Announcement는 "지금 이 IP가 나한테 있어요"라는 선언입니다.
예를 들어, 테라스위치의 경우:
- ASN: AS20326 (미국 회사, ARIN 할당)
- 소유 IP:
67.209.54.0/24
싱가포르 데이터센터에서는 다음과 같이 announce합니다: "67.209.54.0/24" -> AS20326으로 보내세요
전 세계 라우터들은 이 정보를 받아서 "67.209.54.134"로 가려면 싱가포르 경로를 사용해야겠구나라고 라우팅 테이블을 업데이트합니다.
RIR과 ASN 할당
전 세계 5개 RIR (Regional Internet Registry)
├── ARIN (북미)
├── RIPE NCC (유럽, 중동, 중앙아시아)
├── APNIC (아시아-태평양)
├── LACNIC (라틴아메리카)
└── AFRINIC (아프리카)
중요한 점: ASN과 IP 대역은 지역별로 "할당"되지만, "사용"은 어디서든 가능합니다.
IP 주소의 실제 주소
67.209.54.*
│
├─ 할당: ARIN (북미 RIR)
├─ 등록: 한국 관련 정보 (WHOIS/GeoIP)
│ → IP 블록을 한국 회사가 구매했거나
│ → 테라스위치가 "한국 IP"로 판매
│
└─ 실제 사용: 싱가포르 데이터센터
(BGP로 싱가포르에서 announce)
AS간의 통신 방식
AS(자율 시스템)는 자신이 보유한 공인 IP 정보와 다른 AS로부터 받은 IP 정보를 연결된 AS들에게 전달합니다.
Transit (전송)
- 특정 AS를 경유하여 모든 인터넷과 통신
- 경유를 위한 비용 지불
- 비용이 많이 들지만 전 세계 도달 가능
Peering (피어링)
- AS간에만 직접 통신하고자 상호 연결하여 IP 정보 공유
- IXP(Internet Exchange Point)를 통해 이루어짐
- 비용 절감 및 레이턴시 개선
인터넷 트래픽이 증가하면서 비용 절감과 품질 향상 요구가 커지고 있어, Transit 이용을 최소화하고 Peering을 확대하는 추세입니다.
IXP (Internet Exchange Point)
IXP는 다수의 AS 간에 상호 Peering을 할 수 있도록 제공되는 물리적 시설입니다.
IXP의 특징
- Non-profit 또는 Commercial, 중립적 운영
- Transit 비용을 줄이고자 하는 needs에서 시작
- 인터넷의 만남의 장소: ISP들의 직거래 광장
- ASN을 보유하고 IP Address를 가지고 있으면 이용 가능
- IXP에 물리적으로 연결하면 다수의 AS들과 BGP peering을 통한 트래픽 교환 가능
- 트롬본 현상 방지
IXP의 장점
- 비용 절감: Transit 비용 대폭 감소
- 레이턴시 개선: 직접 피어링으로 트롬본 현상 방지
- 안전성 향상: 중간 단계 없이 직접 통신
- CDN 효율성: CDN이 IXP에 서버를 두면 모든 ISP 사용자에게 직접 전송 가능
BGP의 역할: 최적 경로 찾기
데이터가 인터넷을 통해 이동할 때, 각 자율 시스템은 데이터 패킷의 다음 위치를 결정해야 하는데 BGP는 이때 다음 요소들을 고려합니다.
- 지리적 위치
- 네트워크 정체 상황
- 데이터 전송 비용
- AS 경로 길이
이러한 요인들을 종합하여 BGP는 데이터가 소스에서 목적지까지 최적 경로로 이동하도록 돕습니다. 따라서 공인 IP 주소는 단순한 식별자일 뿐, 물리적 위치를 직접 나타내지 않습니다. BGP Announcement를 통해 어디서든 어떤 IP든 서비스할 수 있으며, IXP를 통한 효율적인 Peering으로 인터넷은 더 빠르고 저렴하게 진화하고 있습니다. GeoIP 데이터베이스는 편리하지만 실제 서버 위치를 확인하기 위해서는 Traceroute, BGP descr 정보 또는 MaxMind GeoIP2와 같은 지리적 위치별 아이피 데이터베이스 제공업체를 사용해야 합니다.