핵심 인사이트 (3줄 요약)

  1. 본질: 애니캐스트(Anycast) 라우팅은 전 세계에 수십 대 흩어져 있는 서버(예: 구글 8.8.8.8)에 물리적 위치와 상관없이 100% 똑같은 IP 주소를 부여해 두고, 사용자가 그 IP를 쳤을 때 "지리적으로 가장 가까운 단 한 대의 서버"로만 연결되게 해주는 BGP 라우팅의 극한 꼼수다.
  2. DNS와 CDN의 생명줄: 구글 퍼블릭 DNS(8.8.8.8)나 넷플릭스 영상 서버가 이 기술의 최대 수혜자다. 서울 사람이 8.8.8.8을 치면 미국 서버가 아니라 서울 강남에 있는 구글 캐시 서버가 대답하고, 도쿄 사람이 치면 도쿄 서버가 대답하여 응답 속도(Latency)를 1ms의 기적으로 깎아버린다.
  3. 보안성(DDoS 분산 방어): 해커가 중국 좀비 PC 10만 대를 동원해 8.8.8.8로 DDoS 공격을 때려도, BGP 라우팅이 중국 트래픽은 중국에 있는 서버로만 다 몰아넣어 버리므로(현지 처리), 전 세계 네트워크가 마비되지 않고 해당 지역 서버 한 대만 희생되는 거대한 분산 방패 역할을 수행한다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: 단일 유니캐스트 IP 주소를 지리적으로 분산된 다수의 노드(서버)에 중복 할당하고, 동적 라우팅 프로토콜(주로 BGP)의 최적 경로 알고리즘(Shortest Path)을 통해 클라이언트와 가장 논리적/지리적으로 인접한 노드와 통신하게 하는 통신 아키텍처. (IPv6에는 공식 편입되었고, IPv4에서는 꼼수로 구현).

  • 필요성: 구글 1.1.1.1 DNS 서버가 미국 캘리포니아에 딱 한 대 있다고 치자. 한국 사람이 google.com IP 좀 알려달라고 물어보면 미국까지 핑이 200ms 걸린다. "이거 너무 느려 터졌네! 그렇다고 한국, 일본, 영국용 IP를 다 다르게 만들면 사람들이 어떻게 다 외워? 그냥 서버 100대에 IP를 전부 '1.1.1.1'로 똑같이 세팅해버려! 그리고 BGP 통신사 라우터들이 알아서 손님이랑 제일 가까운 놈한테 배달하게 멱살 잡고 꺾어버려!!"라는 발상의 대전환이 애니캐스트의 시작이다.

  • 💡 비유: 애니캐스트는 전국 어디서나 똑같이 걸 수 있는 **"119 구급대 번호"**와 같습니다.

    • 내가 서울에서 119를 누르든, 부산에서 119를 누르든 전화번호(목적지 IP)는 완전히 똑같습니다.
    • 하지만 통신사 교환기(BGP 라우터)가 내 발신 위치를 파악하고, "가장 출동이 빠른 제일 가까운 소방서" 단 한 곳으로만 전화를 연결해 줍니다.
    • (절대로 전국 모든 소방서에 전화가 동시에 울리지 않습니다. 이건 브로드캐스트의 영역).

📢 섹션 요약 비유: 애니캐스트는 전 세계 수만 개의 햄버거 프랜차이즈에 **"대표 주문 번호 하나"**만 개통해 두는 시스템입니다. 고객이 아무 생각 없이 그 번호로 전화해도, 시스템이 고객의 위치를 추적해 가장 배달비가 적게 드는(가장 거리가 짧은) 동네 매장으로 자동 1:1 토스(연결)해 주는 궁극의 분산형 아키텍처입니다.


Ⅱ. BGP 애니캐스트의 동작 원리와 무결성 (Deep Dive)

1. BGP를 속이는(활용하는) 매직

애니캐스트는 새로운 프로토콜을 발명한 게 아니다. 기존 BGP의 **'최단 경로(AS-Path가 가장 짧은 곳) 우선 원칙'**을 영악하게 악용(?)한 것이다.

  1. 서울, 도쿄, 뉴욕에 똑같은 IP 8.8.8.8을 가진 서버 3대를 켠다.
  2. 세 대의 서버는 각자의 지역 통신사(AS)에게 BGP 엽서를 뿌린다. "야 나 8.8.8.8 여깄어!"
  3. BGP 지도가 전 세계로 퍼져나간다. 한국 KT 라우터의 지도를 펴보자.
    • 8.8.8.8 로 가는 길 1: AS-Path 딱 1개 (서울 놈이 보낸 거)
    • 8.8.8.8 로 가는 길 2: AS-Path 5개 (도쿄 놈이 보낸 거)
    • 8.8.8.8 로 가는 길 3: AS-Path 15개 (뉴욕 놈이 보낸 거)
  4. KT 라우터의 뇌구조: "어? 똑같은 8.8.8.8이 3개나 있네? BGP 룰에 따라 무조건 AS-Path 도장이 제일 적게 찍힌 1번 길(서울)이 1등(Best Path)이다! 나머지는 다 삭제해!!"
  5. 결과: 한국의 모든 가입자 트래픽은 빨려 들어가듯 서울에 있는 8.8.8.8 서버로만 직행하게 된다.
 ┌─────────────────────────────────────────────────────────────┐
 │                애니캐스트에 의한 지역별 트래픽 강제 격리 도식        │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 한국 유저들 ] ──▶ [ 한국 KT 망 ] ━━━━▶ [ 서울 DNS 서버 ]   │
 │                                            (IP: 8.8.8.8)  │
 │                                                             │
 │                                            (태평양 해저 케이블)│
 │                                                단절됨!        │
 │                                                             │
 │   [ 미국 유저들 ] ──▶ [ 미국 AT&T 망 ] ━━━━▶ [ 뉴욕 DNS 서버 ]  │
 │                                            (IP: 8.8.8.8)  │
 │                                                             │
 │   ▶ "태평양 한가운데 해저 케이블에 트래픽이 1바이트도 타지 않는다!"     │
 │      한국 트래픽은 한국에서, 미국 트래픽은 미국에서 100% 자체 소화됨.  │
 └─────────────────────────────────────────────────────────────┘

2. 치명적인 단점 (TCP 친화력 0%)

애니캐스트는 DNS 쿼리처럼 "묻고 딱 대답 하나 듣고 끊는" UDP 통신에는 완벽한 신의 기술이다. 하지만 파일 다운로드 같은 TCP 세션 통신에는 쥐약이다.

  • 이유: 내가 서울 서버랑 3-Way Handshake를 맺고 다운로드를 시작했는데, 갑자기 인터넷망 상황이 살짝 흔들려서 BGP 지도가 갱신되었다.
  • 내 트래픽이 갑자기 일본 도쿄 서버로 꺾여서 들어간다.
  • 도쿄 서버의 뇌구조: "뭐야 이 패킷은? 나랑 악수한 적(Session) 없는데 웬 찌꺼기가 들어와! RST(연결 끊기)!!"
  • 결과: 다운로드가 중간에 미친 듯이 툭툭 끊긴다. 그래서 애니캐스트는 주로 DNS, CDN 앞단의 방향타 역할 등 짧은 호흡의 서비스에만 제한적으로 투입된다.

3. 무적의 DDoS 방패 (Sinkhole 효과)

해커가 8.8.8.8을 마비시키기 위해 미국 좀비 PC 10만 대, 중국 좀비 10만 대를 동원했다 치자. 단일 서버였다면 20만 대의 트래픽을 맞고 그 서버는 증발한다. 하지만 애니캐스트 환경에선 미국 좀비가 쏜 패킷은 뉴욕 서버 1대만 죽이고 끝나며, 중국 좀비가 쏜 패킷은 아시아 서버 1대만 죽이고 끝난다. 한국에 있는 서버는 평온하게 숨을 쉬며 한국 고객의 트래픽을 정상 처리한다. (DDoS 공격의 국지화(Localization) 마법이다).

📢 섹션 요약 비유: 애니캐스트(BGP)는 방파제를 쪼개놓은 **"다중 격벽 시스템"**입니다. 적군(DDoS)이 침략해 들어와도, 망이 트래픽을 각 대륙별 격벽(가까운 서버)에 가둬버리기 때문에 한 격벽에 물이 차도 배(인터넷 전체 서비스)는 절대 침몰하지 않고 항해를 계속합니다.