Networking Reference

Что такое DNS: как браузер находит сайт

Как работает DNS: от ввода адреса в браузер до получения IP. Типы записей (A, CNAME, MX, TXT), TTL, кэширование и публичные резолверы.

Проверено: —

Каждый раз когда открываете сайт, за кулисами происходит до десяти сетевых запросов прежде чем браузер получит первый байт страницы. Первый из них — DNS-запрос. Разбираем, что такое DNS и как это работает.

Проблема: компьютеры работают с числами, люди — со словами

IP-адрес сервера — это числовой адрес вроде 185.230.63.171. Запомнить его неудобно. DNS (Domain Name System) — это распределённая телефонная книга интернета: переводит asknews.ru в 185.230.63.171, чтобы браузеру было куда подключаться.

Что происходит при вводе адреса в браузер

  1. Браузер проверяет локальный кэш — возможно, этот адрес уже переводился недавно
  2. Если кэша нет — запрос уходит к операционной системе, та проверяет /etc/hosts (Windows: C:\Windows\System32\drivers\etc\hosts)
  3. Если там нет — запрос к DNS-резолверу (обычно задан провайдером или вручную: 1.1.1.1, 8.8.8.8)
  4. Резолвер спрашивает корневые DNS-серверы: «кто отвечает за зону .ru?»
  5. Корневой сервер отвечает адресом TLD-сервера для .ru
  6. TLD-сервер говорит: «за asknews.ru отвечает вот этот nameserver»
  7. Запрос уходит к авторитетному NS-серверу домена
  8. Тот возвращает A-запись с IP-адресом
  9. Браузер подключается к серверу по IP
Совет: Весь этот процесс занимает обычно 20-100 мс и происходит незаметно. Ответ кэшируется на время TTL записи — следующие запросы уже идут из кэша.

Типы DNS-записей

ТипЧто хранитПример
AIPv4-адрес доменаasknews.ru → 185.230.63.171
AAAAIPv6-адрес доменаasknews.ru → 2001:db8::1
CNAMEПсевдоним (алиас) другого доменаwww.asknews.ru → asknews.ru
MXПочтовый сервер доменаmail.asknews.ru, приоритет 10
TXTПроизвольный текст (SPF, DKIM, верификация)v=spf1 include:…
NSАвторитетные nameserver доменаns1.reg.ru
PTRОбратный DNS: IP → имя185.230.63.171 → asknews.ru
SOAПараметры зоны (TTL, email администратора)—

TTL: как долго кэшируется ответ

TTL (Time to Live) — время в секундах, на которое ответ записывается в кэш. Указывается для каждой записи отдельно.

  • TTL 300 (5 минут) — для быстро меняющихся записей, например при переезде сайта
  • TTL 3600 (1 час) — стандартный компромисс
  • TTL 86400 (24 часа) — для стабильных записей, уменьшает нагрузку на DNS
Внимание: Если меняете IP-адрес сервера или переносите домен — сначала уменьшите TTL до 300. После успешного переноса — верните прежний TTL. Иначе старые записи будут кэшироваться у пользователей до истечения старого TTL.

Публичные DNS-серверы

СервисIP (IPv4)Особенность
Cloudflare1.1.1.1 / 1.0.0.1Быстрый, приватный
Google8.8.8.8 / 8.8.4.4Популярный, надёжный
Quad99.9.9.9 / 149.112.112.112Блокирует вредоносные домены
Яндекс.DNS77.88.8.8 / 77.88.8.1С фильтрацией контента

Итог

DNS — фундамент интернета. Понимание того, как работает цепочка «имя → IP», помогает диагностировать проблемы когда сайт недоступен, настраивать домены и понимать задержки при первом подключении.