IP 하나에 서버 하나, 또는 서버 여러 대
유니캐스트
IP 하나가 서버 정확히 하나에 대응
애니캐스트
IP 하나를 여러 위치에서 광고
애니캐스트 DNS 쉽게 이해하기
일반적으로 IP 주소 하나는 특정 장비 한 대를 가리키며, 하나의 특정 네트워크 경로로 도달합니다. 애니캐스트는 이 전제를 의도적으로 깨뜨립니다. 같은 IP 주소를 전 세계의 물리적으로 분리된 여러 위치에서 동시에 광고합니다. 그러면 인터넷 라우팅이 각 요청을 발신자와 토폴로지상 가장 가까운 광고 위치로 전달합니다. 물리적 거리상 가장 가까운 곳이라는 뜻이 아니라, 네트워크 경로상 가장 가까운 곳입니다.
DNS 인프라가 애니캐스트에 크게 의존하는 이유
1.1.1.1이나 8.8.8.8 같은 공개 리졸버는 애니캐스트 주소입니다. 도쿄에서 1.1.1.1에 질의하는 사람과 베를린에서 같은 주소에 질의하는 사람은, 설정에는 똑같은 IP 주소를 입력했지만 실제로는 각자 네트워크상 가장 가까운 서로 다른 물리 서버에 접속합니다. 덕분에 기억하기 쉬운 IP 하나로 전 세계 어디서나 일관되게 낮은 지연 시간을 제공할 수 있으며, 위치와 상관없이 모두가 한 곳의 물리 데이터 센터로 라우팅되는 일이 없습니다.
| 유니캐스트 | 애니캐스트 | |
|---|---|---|
| IP 하나가 가리키는 대상 | 물리 서버 정확히 한 대 | 여러 물리 서버를 동시에 |
| 라우팅이 결정하는 것 | 고정된 단일 경로 | 토폴로지상 가장 가까운 광고 위치 |
| 한 위치가 오프라인이 되면 | 서비스에 접속할 수 없게 됩니다 | 트래픽이 그다음으로 가까운 위치로 이동합니다 |
| DDoS 노출 | 공격 트래픽이 한 대상에 집중됩니다 | 공격 트래픽이 모든 위치로 자연스럽게 분산됩니다 |
- 복원력: 애니캐스트 위치 하나가 오프라인이 되면 라우팅이 그다음으로 가까운 위치로 옮겨 가며, 클라이언트는 대개 이를 전혀 눈치채지 못합니다.
- DNS에만 쓰이는 것은 아닙니다. CDN과 지연 시간에 민감한 일부 서비스도 같은 기반 기술을 사용합니다.
실무에서 알아 둘 점
애니캐스트의 이점을 누리기 위해 따로 설정할 것은 없습니다. 모든 것이 네트워크 라우팅 계층에서 일어나며, 질의를 보내는 애플리케이션에는 보이지 않습니다. 클라우드 데이터베이스나 컴퓨트 인스턴스처럼 리전별 엔드포인트를 직접 고르지 않아도 주요 공개 리졸버가 전 세계에서 빠르고 안정적으로 유지되는 이유를 설명해 준다는 점에서 알아 둘 만합니다.
“토폴로지상 가장 가까운 곳”을 결정하는 것은 BGP입니다
“네트워크 경로상 가장 가깝다”는 것은 물리적 거리를 실시간으로 측정해서 정해지는 것이 아닙니다. 애니캐스트 주소를 광고하는 모든 네트워크는 인터넷의 개별 네트워크를 서로 연결하는 라우팅 프로토콜인 BGP를 통해 광고하며, 경로상의 각 라우터는 BGP 자체의 기준으로 그 주소까지 현재 가장 짧아 보이는 경로를 고릅니다. 이 기준은 대개 킬로미터가 아니라 네트워크 홉 수가 가장 적은 경로입니다. 실제로는 대체로 물리적 근접성과 상관관계가 있지만 완벽하게 일치하지는 않습니다. 특히 네트워크 장애나 특이한 피어링 구성이 있는 경우에는 BGP 기준에서 더 짧아 보이는 경로 때문에 요청이 조금 더 먼 위치로 라우팅되기도 합니다.
애니캐스트가 모든 용도에 잘 맞지는 않는 이유
애니캐스트는 DNS 질의와 응답 한 쌍처럼 짧고 상태를 유지하지 않는 통신에 아주 잘 맞습니다. 후속 패킷이 첫 패킷과 다른 물리 서버로 라우팅되더라도 잃을 것이 없기 때문입니다. 반면 오래 지속되는 상태 기반 연결에는 적합하지 않습니다. 연결 도중 네트워크 경로가 바뀌면(라우트 플랩, 피어링 변경) 애니캐스트로 연결된 TCP 세션이 처음 연결을 시작한 곳과 다른 물리 엔드포인트로 가게 되고, 새 서버는 그 연결의 존재 자체를 알지 못하므로 연결이 끊어집니다. 애니캐스트가 DNS를 비롯한 UDP 기반 요청-응답 프로토콜과 밀접하게 연관되고, 장시간 유지되는 데이터베이스 연결이나 동영상 스트림에는 훨씬 드물게 쓰이는 이유 중 하나입니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
관련 글
조회 결과에 원본이 아닌 CDN이 보이는 이유
방문자
도메인 조회
CDN 엣지
104.21.x.x
DNS가 반환하는 대상
원본 서버
실제 IP, 노출되지 않음
CDN은 DNS로 전 세계 트래픽을 어떻게 라우팅할까
콘텐츠 전송 네트워크의 진짜 마법은 콘텐츠가 단 한 바이트도 요청되기 전에, DNS 계층에서 이미 일어납니다. 그 원리를 알아봅니다.
호스트 이름 하나에 A 레코드 여러 개
첫 번째 응답
93.184.216.34
두 번째 응답
93.184.216.35
세 번째 응답
93.184.216.36
리졸버는 모든 레코드를 반환하며, 보통 순서가 순환됩니다
DNS 라운드 로빈: IP 간 트래픽 분산
DNS 라운드 로빈이 여러 주소를 반환하는 방식, 부하 분산에서 할 수 있는 일과 할 수 없는 일, 캐싱이 관찰 결과에 미치는 영향을 알아봅니다.
호스트 이름 하나에 A 레코드 여러 개
첫 번째 응답
93.184.216.34
두 번째 응답
93.184.216.35
세 번째 응답
93.184.216.36
리졸버는 모든 레코드를 반환하며, 보통 순서가 순환됩니다
DNS 로드 밸런싱: 방식, 장점, 한계
DNS 기반 트래픽 분산과 애플리케이션 로드 밸런서를 비교하고, TTL, 상태 점검, 지역별 응답이 가용성에 미치는 영향을 알아봅니다.