CDN처럼 사용자 위치에 따라 가장 가까운 서버로 라우팅하려면 어떻게 해야 할까?
client → DNS resolver(8.8.8.8) → nameserver
resolver -> nameserver 이므로 nameserver는 resolver의 IP만 알 수 있음
EDNS Client Subnet (ECS) 사용하면 client의 IP prefix 알 수 있음
GeoIP DB로 client 위치를 찾아서 가장 가까운 서버의 IP 응답
단점: ECS를 지원하지 않는 리졸버는 리졸버 IP의 위치로만 추정해야 한다
DNS는 항상 같은 IP 주소를 반환하지만
BGP Anycast를 통해 가장 가까운 서버로 라우팅되도록 설정한다
단점: 직접 AS와 BGP를 운영해야 한다는 점.
1.1.1.18.8.8.8같은 퍼블릭 DNS 리졸버들도 Anycast 방식을 사용하며,
IP는 같지만 여러 지역(리전)에 분산된 서버가 존재한다.