В чем разница между Anycast и GeoDNS / GeoIP по сравнению с HA?

17

Основанный на описании Anycast в Википедии , он включает в себя как распределение сопоставления доменных имен по многим IP-адресам по многим DNS-серверам, так и ответы клиентов с наиболее географически близким (или самым быстрым) сервером.

В контексте глобально распределенного, высокодоступного сайта, такого как google.com (или любого сервиса CDN с множеством глобальных периферийных местоположений), это звучит как две ключевые функции, которые могут понадобиться.

Службы DNS, такие как Amazon Route53, EasyDNS и DNSMadeEasy, все объявляют себя сетями с поддержкой Anycast.

Поэтому я предполагаю, что каждая из этих служб DNS прозрачно предлагает мне эти две убойные функции: сопоставление нескольких IP-адресов в домен И маршрутизация клиентов к ближайшему узлу.

Однако каждая из этих служб, кажется, разделяет эти две функции, ссылаясь на 2-ю (маршрутизацию клиентов к ближайшему узлу) как «GeoDNS», «GeoIP» или «Global Traffic Director» и взимает дополнительную плату за услугу.

Если основной клиент системы, поддерживающей Anycast, уже должен это делать, почему эта функциональность выделяется в качестве этой дополнительной функции? Что это за функция «GeoDNS», которую не выполняет стандартная служба Anycast DNS (в соответствии с определением Anycast из Википедии - я понимаю, что рекламируется, только не то, почему это уже не подразумевается).

Я очень растерялся, когда служба DNS, такая как Route53, которая не поддерживает эту туманную функцию «GeoDNS», перечисляет такие функции, как:

Быстрый - Используя глобальную сеть anycast DNS-серверов по всему миру, Route 53 предназначен для автоматической маршрутизации ваших пользователей в оптимальное местоположение в зависимости от условий сети. В результате служба предлагает низкую задержку запросов для ваших конечных пользователей, а также низкую задержку обновления для ваших нужд управления записями DNS.

... это звучит точно так же, как GeoDNS, но географически ориентированные клиенты - это то, что они пока явно не поддерживают .

В конечном итоге я ищу две следующие функции от поставщика DNS:

  1. Сопоставить несколько IP-адресов с одним доменным именем (как это делают google.com, amazon.com и т. Д.)
  2. Используйте службу DNS, которая будет отвечать на запросы клиентов для этого домена с IP-адресом ближайшего к запрашиваемому серверу сервера.

Как уже упоминалось, кажется, что это все часть службы DNS Anycast (все эти службы есть), но функции и маркетинг, которые я вижу по ним, указывают на обратное, заставляя меня думать, что мне нужно больше узнать о том, как DNS работает до выбора развертывания.

Заранее спасибо за любые разъяснения.

Рияд Калла
источник

Ответы:

17

Основным преимуществом GeoDNS является то, что он разрешает одно и то же имя в разные IP-адреса на основе IP-адреса запрашивающей стороны.

DNS-сервер Anycasted вернет один и тот же IP-адрес независимо от того, кто запрашивает.

Они работают на разных сетевых уровнях. Anycast находится ниже GeoDNS, так как не имеет никакого значения местоположения IP-адреса запрашивающей стороны, только его место на диаграмме сети. То, что может быть близко к DNS-серверу, может не совпадать с запрашиваемым ресурсом , и Anycasted DNS-сервер не может этого сказать.

GeoDNS использует карту расположения ресурсов и выполняет логику, чтобы определить, какой из этих ресурсов наиболее близок к заданному запрашивающему IP-адресу, а затем возвращает этот IP-адрес.

Если вы не объединяете свои DNS-серверы с сетевыми ресурсами, то, что близко к DNS-серверу, не всегда будет близко к ресурсу, поэтому использование Anycast в качестве метода размещения данных менее эффективно, чем прямой GeoDNS.

sysadmin1138
источник
На самом деле, я даже не думал о двухэтапном определении адреса (сначала поиск самого DNS-сервера, а затем поиск целевого сервера). Благодарность!
Рияд Калла
6

Любой аспект BGP позволяет клиентам отправлять запрос на заданный DNS-сервер и получать этот запрос на ближайший экземпляр DNS-сервера с помощью таблицы маршрутизации BGP, надеясь получить быстрый ответ.

Однако обычный старый DNS-сервер, который географически распределен и anycasted, не может по-разному отвечать на запросы в зависимости от местоположения запрашивающего клиента - это дополнительная функция, которую эти службы «Geo-DNS» предоставляют за дополнительную плату, что позволяет отправлять клиентов на экземпляр службы, которая им близка.

Причиной существования этой функции является то, что BGP anycast прекрасно работает для чего-то без сохранения состояния, такого как DNS, где оно быстрое и грязное и не требует подключения или сохранения сеанса, но для чего-то вроде веб-сервера вы хотите прикрепить экземпляры по всему миру. и убедитесь, что данный клиент будет придерживаться определенного экземпляра - изменения маршрутизации в промежуточном соединении глобальной таблицы BGP будут разрывать соединения TCP, прерывать сеансы веб-приложений и, как правило, приводить к хаосу; По этой причине anycast обычно не используется для веб-серверов.

Лучше предоставить пользователю в округе X IP-адрес для экземпляра в стране X через DNS, и именно на это вы потратите деньги с помощью службы Geo-DNS.

Шейн Мэдден
источник
4

Традиционно у вас будет несколько DNS-серверов. Клиент выберет один случайным образом и запросит IP-адрес вашего веб-сервера. Это хорошо, если DNS-сервер находится близко к клиенту, но плохо, если, как это часто бывает, DNS-сервер находится далеко от клиента. В любом случае, клиент получит тот же IP-адрес, что и ответ.

Anycast позволяет нескольким серверам отвечать на один и тот же IP-адрес. В anycast DNS, когда клиент пытается связаться с вашим сервером имен, отвечает самый близкий / самый быстрый сервер имен. Это означает, что клиент всегда получает быстрый ответ на свой DNS-запрос. Однако он все равно всегда будет получать один и тот же ответ на свой DNS-запрос - IP-адрес вашего сервера. Если ваш сервер находится далеко от клиента, взаимодействие с клиентом может быть неоптимальным.

GeoDNS позволяет DNS-серверу отвечать другим IP-адресом, в зависимости от того, где находится клиент. (Очевидно, что для этого требуется, чтобы у вас было несколько географически распределенных серверов.) GeoDNS не подразумевает произвольную рассылку, хотя обычно вы развертываете оба, так что в итоге клиент получает ответ на свой DNS-запрос от расположенного поблизости географического DNS-сервера, который затем отвечает с помощью IP-адрес географически расположенного поблизости веб-сервера.

Коди Хэтч
источник