Как работает DNS-запрос?

Допустим, серверы имен моего домена зарегистрированы так:

ns1.domain.com.
ns2.domain.com.
ns3.domain.com.

Физическое местоположение для каждого сервера:

ns1.domain.com. - in Tokyo
ns2.domain.com. - in San Francisco
ns3.domain.com. - in Europe
  • DNS-запрос запрашивает все серверы имен одновременно?
  • Когда пользователь заходит на веб-сайт, он запрашивает только 1 сервер или все серверы (и принимает ответ от того, который отвечает быстрее всего)? (Если он запрашивает только 1 сервер, как он выбирает?)
  • Когда пользователь, скажем, живущий в Калифорнии, впервые заходит на веб-сайт с помощью веб-браузера, к какому серверу имен он обращается? Будет ли он каким-то образом знать, что ns2 - ближайший сервер и будет запрашивать этот сервер первым, а не другие, или только этот сервер?
  • Предположим, что ns1 (расположен в Токио) имеет самое дешевое, медленное и наиболее ограниченное оборудование, и оно находится под большой нагрузкой или подвергается DoS/DDoS-атаке, а ns2 и ns3 - мощные машины и работают хорошо. Когда это произойдет, как это повлияет на мой ответ DNS для моего сайта?

(Я использую PowerDNS во FreeBSD, но я думаю, что это больше похоже на общий вопрос DNS, независимо от операционной системы или программного обеспечения DNS.)

2 ответа

Когда пользователь заходит на веб-сайт, браузер не запрашивает авторитетные серверы имен напрямую, а (обычно косвенно, через библиотеку распознавателя ОС) отправляет запрос, запрашивающий рекурсию (RD установленный флаг) для настроенного (часто заполняемого через DHCP) сервера имен преобразователя, который выполняет весь процесс поиска (с кэшированием) от имени своего клиента и возвращает готовый ответ.

Итак, что касается ваших вопросов, большинство из них, кажется, больше сконцентрированы на поведении этого сервера распознавания, нежели чем обычно на клиентском компьютере. Что касается ответа, многие из них зависят от реализации; конкретные стандарты, как правило, не предусмотрены стандартами.

  1. Неправильно обращаться к нескольким авторитетным серверам. Чаще всего клиенты взаимодействуют с несколькими настроенными серверами распознавателя.
  2. Выбор авторитетного сервера является произвольным в соответствии со спецификацией. Часто используются стратегии, специфичные для реализации, например, сервер распознавания может в различной степени отслеживать, какие авторитетные серверы являются хорошими / плохими, основываясь на предыдущем опыте.
  3. Браузер запрашивает сконфигурированный распознаватель (часто предоставляемый провайдером), на этом сервере вполне может быть уже кеширован весь ответ от других пользователей, ищущих то же самое, в противном случае он может иметь некоторую часть пути, ведущую к ответу в кеше. В сценарии с полностью холодным кэшем это, вероятно, совершенно произвольный выбор.
  4. В ситуации с "холодным" кэшем риск задержки ответа составляет 33%. Как только "ваш" сервер распознавания обнаружит, что этот авторитетный сервер не отвечает, он, вероятно, будет знать (в течение ограниченного времени), чтобы отказаться от этого сервера, не позволяя ему повлиять на дальнейшие запросы. Принимая во внимание кэширование, в большинстве случаев маловероятно, что пользователь увидит "холодный кеш, никаких предварительных знаний, неудачу, произвольно выбирая" неправильный "сервер", вызванный дополнительной задержкой.

Когда клиент запрашивает разрешение вашего доменного имени, серверы tld передадут клиенту список всех ваших серверов имен, и клиент выберет один случайным образом. Таким образом, он может выбрать ns1 в первый раз, ns3 во второй раз, ns1 в третий раз, ns2 в четвертый раз и т. Д.

Некоторые службы, такие как cloudflare, могут быть объявлены в качестве вашего единственного сервера имен, который, в свою очередь, будет интеллектуально маршрутизировать запросы либо по географическому расположению, либо по распределению нагрузки на ваших реальных серверах имен, либо по своим собственным (они также могут обеспечивать разрешение имен). Фактически, почти 40% всего трафика DNS направляется через облачную инфраструктуру DNS.

Другие вопросы по тегам