여러 도메인 이름 서버에 하나의 IP를 어떻게 할당할 수 있습니까?
예를 들어 Google에는 동일한 주소를 가진 많은 DNS가 포함된 IPv4 8.8.8.8이 있습니다.
내 지리적 위치를 기반으로 DNS에 도메인 조회 요청을 하면 해당 요청은 나와 가장 가까운 Google DNS 위치로 다시 라우팅됩니다.
답변1
관련 기술을 일컫는다.애니캐스트라우팅.
Anycast는 기본적으로 BGP 라우팅 프로토콜의 고유 동작을 영리하게 활용합니다. 관련 주소가 포함된 네트워크 접두사는 여러 위치에서 광고됩니다. 인터넷에 있는 다른 BGP 라우터는 동일한 대상에 대한 여러 경로를 확인하고 가장 짧은 경로를 선택하는 데 사용됩니다.처럼홉) 경로. 그러나 이 경우에는 이 "하나의" 대상에 대한 여러 경로가 실제로 네트워크의 다른 위치에서 끝나는 경우가 있습니다.
주목할 만한 점은 지리적 근접성을 기반으로 작동하는 것이 아니라 사용자 수 측면에서 근접성을 기반으로 작동한다는 것입니다.자율 시스템(BGP 라우팅을 수행하는 ISP와 같은 엔터티). 종종 이는 지리적 근접성과 어느 정도 상관관계가 있지만 반드시 그런 것은 아닙니다.
또한 BGP 테이블의 경로 가용성이 시간이 지남에 따라 필연적으로 변경되는 경우 "가장 가까운" 애니캐스트 대상이 세션 중에 변경될 가능성이 전적으로 가능합니다. 이런 일이 발생하면 상태를 유지하는 모든 프로토콜(TCP 기반 모든 것 포함)이 분명히 중단됩니다. DNS는 특히 적합한 프로토콜의 예입니다(주로 UDP를 사용하고 현재 쿼리에서 수신한 한 가지에만 응답함). 그러나 오래 지속되는 연결이 없는 프로토콜도 충분히 잘 작동할 수 있습니다(CDN은 HTTP/HTTPS를 수행하는 것으로 알려져 있는데 이는 분명히 약간의 도박입니다).
답변2
질문 제목은 하나의 DNS 이름에 대해 완전히 다른 여러 IP 주소를 제안합니다. 귀하의 실제 질문은 실제로 DNS를 언급하지 않고 단지 DNS를 예로 사용합니다. http(s)용 콘텐츠 전달 네트워크도 동일한 것을 사용합니다.
전 세계에 동일한 목적을 위한 여러 서버가 있는 경우 가장 가까운 서버를 가리키는 라우터에 서로 다른 라우팅 대상이 설정됩니다.
일반적으로 각 라우터가 동일한 대상을 가리키는 IP 주소를 원합니다. 여기서는 서로 다른 대상을 가리키지만 동일한 기능을 가리킵니다.
답변3
귀하의 수준에서 Anycast 라우팅을 사용할 수 없는 경우 또 다른 옵션은 지리적으로 분산된 서버를 실행하고 다음을 사용하여 DNS 시스템을 구성하는 것입니다.DNS 분할 지평선