INTEGRITY Документация

Разрешение на вышестоящих серверах

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

Минимизация имени запроса

При разрешении многоуровневого доменного имени, например foo.bar.example.com, 1.1.1.1 не раскрывает полное имя каждому серверу в цепочке, а передаёт лишь минимум информации, необходимой каждому из них. Например, при обращении к .com TLD-сервер, 1.1.1.1 сообщает только о том, что ему нужно найти example.com : части поддомена (foo.bar) не включаются. Это ограничивает объём информации, доступной промежуточным серверам, и снижает утечку приватных данных.

Корневая зона

1.1.1.1 использует локально размещённые копии файла корневой зоны ↗ вместо обращения к удалённым корневым серверам при каждом запросе. Файл корневой зоны содержит адреса всех серверов доменов верхнего уровня (TLD). Размещая его локально, 1.1.1.1 избегает лишнего обращения по сети к корневым серверам, что снижает задержку, повышает приватность и уменьшает нагрузку на глобальную систему корневых серверов DNS.

Выбор сервера имён

У большинства доменов для отказоустойчивости есть несколько авторитетных серверов имён. Когда 1.1.1.1 нужно обратиться к одному из них, выбор делается на основе измеренной производительности. Резолвер отслеживает метрики каждого сервера имён, в том числе время отклика (round-trip time, то есть время, за которое запрос доходит до сервера и возвращается обратно) и качество ответов, а затем выбирает сервер имён, который по статистике оказывался самым быстрым и надёжным в дата-центре, обрабатывающем ваш запрос.

Если выбранный сервер имён не отвечает вовремя или возвращает ошибку, 1.1.1.1 повторяет запрос к другому серверу имён той же зоны. См. Поведение при повторных попытках для получения подробностей.

Небольшая доля запросов также направляется на альтернативные серверы имён, чтобы данные об их производительности оставались актуальными. Это позволяет заново оценить ранее медленный сервер, если его производительность улучшилась. Подробнее о системе, лежащей в основе такого выбора, см. в Статья блога об архитектуре BigPineapple ↗.

Поведение при повторных попытках

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

Когда несколько клиентов одновременно запрашивают один и тот же домен, 1.1.1.1 объединяет исходящие запросы, чтобы один выполняющийся запрос обслуживал все ожидающие клиенты. Точные интервалы повторных попыток и логика ранжирования со временем настраиваются и могут изменяться.

Выбор ответа

На каждый запрос 1.1.1.1 отправляет клиенту только один ответ. Если авторитетные серверы имён расходятся во мнениях, выбор ответа 1.1.1.1 зависит от типа полученных ответов.

Ниже перечислены актуальные коды ответов DNS:

Как 1.1.1.1 обрабатывает расхождения между серверами имён: