Задать вопрос
@Akina
Сетевой и системный админ, SQL-программист.

Что определяет выбор адреса сайта из всех, возвращённых DNS-сервером?

DNS-серверы на запрос на разрешение адреса сайта возвращают два IPv4 адреса и два IPv6 адреса:
Name:    forum.vingrad.ru
Addresses:  2606:4700:3031::6815:1d88
          2606:4700:3031::ac43:9538
          104.21.29.136
          172.67.149.56

Однако часть компьютеров по IPv4 обращаются исключительно по 104.21.29.136, другая часть только по 172.67.149.56. Никаким Round Robin или чем аналогичным даже не пахнет. Соответственно первые не могут получить доступ к веб-странице, у вторых никакой проблемы нет.
От используемых DNS-сервера и браузера поведение не зависит.

Вопрос - как именно рабочая станция выбирает, какой из двух адресов использовать?
  • Вопрос задан
  • 4324 просмотра
Подписаться 4 Средний 15 комментариев
Пригласить эксперта
Ответы на вопрос 3
@Hardoman
DevOps
Во-первых, клиенты кэшируют у себя dns ответы на срок жизни TTL записи и обращаются к последнему использованному до бесконечности, если эта запись ещё актуальна.
Во-вторых, при первом обращении выбирается первая доступная запись.
Клиент по очереди в списке опрашивает их и возьмёт первую рабочую.
В этой ситуации уже задача DNS сервера каждый раз возвращать список в разном порядке. Он это может делать по разным алгоритмам, чаще всего по round-robin, иногда по меньшему пингу или первому ответившему.
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Сравните DNS серверы на разных компах. Плюс почистите локальный кеш, и кеш DNS.

Но ИМХО ваш вопрос больше теоретический, и даже round robbin не поможет починить проблему с недоступностью сайта.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Компьютерные сети
software engineer
DNS сервер может рандомно шаффлить айпи адреса и выдавать их список в разном порядке.
Но нужно понимать, что этим занимается только основной NS сервер, который собственно хранит NS записи.

Остальные, промежуточные DNS сервера, просто кешируют этот запрос, а обычно TTL - это сутки.
Поэтому чистка DNS на локальном клиенте может и не помочь.

операционка или клиент уже могут с этим списком что-то дополнительно делать, например отдать приоритет более "близкому", точнее быстрому ресурсу. Или просто перебирать по очереди.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы