stringtranslate.com

Круговой DNS

Круговой DNS — это метод распределения нагрузки , балансировки нагрузки или обеспечения отказоустойчивости нескольких резервных узлов службы Интернет-протокола , например веб-сервера , FTP-серверов , путем управления ответами системы доменных имен (DNS) на запросы адреса. с клиентских компьютеров согласно соответствующей статистической модели. [1]

В своей простейшей реализации циклический DNS работает, отвечая на DNS-запросы не только одним потенциальным IP-адресом , но и списком потенциальных IP-адресов, соответствующих нескольким серверам, на которых размещаются идентичные службы. [2] [3] Порядок, в котором возвращаются IP-адреса из списка, является основой термина « циклический перебор» . С каждым ответом DNS последовательность IP-адресов в списке меняется . [4] Традиционно IP-клиенты сначала пытаются подключиться с первым адресом, возвращенным из DNS-запроса, [5] так, чтобы при разных попытках подключения клиенты получали услуги от разных провайдеров, таким образом распределяя общую нагрузку между серверами.

Некоторые преобразователи пытаются изменить порядок списка, чтобы отдать приоритет численно «более близким» сетям. Такое поведение было стандартизировано при определении IPv6, и его обвиняли в нарушении циклической балансировки нагрузки. [6] [7] [8] Некоторые настольные клиенты пробуют использовать альтернативные адреса после тайм-аута соединения до 30 секунд. [2]

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

DNS-имя с циклическим перебором в редких случаях называют «ротором» из-за ротации между альтернативными записями A.

Недостатки

Несмотря на простоту реализации, циклический DNS имеет ряд недостатков, например, связанных с кэшированием записей в самой иерархии DNS, а также с кэшированием и повторным использованием адресов на стороне клиента, комбинацией которых может быть трудно управлять. Для обеспечения доступности услуг не следует полагаться исключительно на DNS с циклическим перебором. Если служба по одному из адресов в списке выйдет из строя, DNS продолжит выдавать этот адрес, и клиенты все равно будут пытаться связаться с неработоспособной службой.

Сам по себе циклический DNS, возможно, не лучший выбор для балансировки нагрузки , поскольку он просто меняет порядок адресных записей каждый раз, когда запрашивается сервер имен. Поскольку он не учитывает время транзакции, нагрузку на сервер и перегрузку сети, он лучше всего работает для сервисов с большим количеством равномерно распределенных подключений к серверам эквивалентной мощности. В противном случае он просто распределяет нагрузку . [9]

Существуют методы преодоления таких ограничений. Например, модифицированные DNS-серверы (такие как lbnamed [10] ) могут регулярно опрашивать зеркальные серверы на предмет доступности и коэффициента загрузки. Если сервер не отвечает должным образом, его можно временно удалить из пула DNS до тех пор, пока он не сообщит, что снова работает в соответствии со спецификациями.

Рекомендации

  1. ^ "Кругловой DNS" . Облачная вспышка . Клаудфлэр, Инк . Проверено 16 августа 2019 г.
  2. ↑ Аб Финберг, Дэниел (25 июля 2016 г.). «Циклический DNS-перебор для аварийного переключения веб-сервера» . Проверено 10 января 2020 г.
  3. ^ «В чем разница между политикой маршрутизации многозначных ответов и простой политикой маршрутизации?». Amazon Веб-сервисы, Inc. 3 августа 2018 г. Проверено 10 января 2020 г.
  4. ^ Лиска, А.; Стоу, Г. (2016). «Понимание DNS». DNS-безопасность . п. 19.
  5. ^ Пан, Цзяньпин; Хоу, Ю. Томас; Ли, Бо (2003). «Обзор выбора серверов на основе DNS в сетях распространения контента». Компьютерная сеть . 43 (6): 695–711. дои : 10.1016/S1389-1286(03)00293-7.Значок закрытого доступа
  6. ^ «getaddrinfo с круговым DNS и счастливыми глазами» . 3 января 2012 г.
  7. ^ Дравс, Р.; Мацумото, А.; Чоун, Т.; Чоун, Т. (2012). Талер, Д. (ред.). «RFC 6724 — Выбор адреса по умолчанию для интернет-протокола версии 6 (IPv6)». дои : 10.17487/RFC6724 . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  8. ^ «Правило 9 для IPv4 вызвало серьезные проблемы в работе (сбой ftp-сайтов [Debian Linux]!»).
  9. ^ Бриско, Томас П. (апрель 1995 г.). «RFC 1794 — Поддержка DNS для балансировки нагрузки». дои : 10.17487/RFC1794 . Проверено 24 августа 2019 г. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  10. ^ lbnamed, DNS-сервер с балансировкой нагрузки, реализованный на языке программирования Perl.