Как работает DNS. От запроса до IP-адреса, простыми словами
Когда вы вводите адрес сайта в браузере, например example.com, компьютер не знает, куда отправлять запрос напрямую. Сеть работает с IP-адресами (например, 93.184.216.34), а не с доменными именами.
Чтобы преобразовать понятный человеку домен в IP-адрес, используется система DNS — Domain Name System. Это одна из базовых технологий интернета, аналог «телефонной книги» для доменов.
Что такое DNS
DNS — это распределённая система серверов, которая хранит соответствие между доменными именами и IP-адресами.
Когда вы заходите на сайт, ваш компьютер обращается к DNS-серверам, чтобы узнать:
Какой IP-адрес соответствует этому доменному имени?
Этот процесс называется разрешением доменного имени (DNS resolution).
Как устроена цепочка DNS-запроса
Процесс преобразования домена в IP проходит через несколько уровней серверов. Разберём путь запроса шаг за шагом.
1. Локальный кэш
Сначала система проверяет, нет ли нужного домена в кэше — локально на компьютере, в браузере или операционной системе.
Если запись есть (например, вы недавно уже заходили на этот сайт), DNS-запрос даже не отправляется в сеть.
2. Рекурсивный резолвер (DNS Resolver)
Если кэша нет, запрос уходит на рекурсивный резолвер — обычно это DNS-сервер вашего провайдера (или, например, 8.8.8.8 от Google).
Резолвер берёт на себя задачу найти IP-адрес, обращаясь к другим DNS-серверам.
3. Корневые DNS-серверы (Root Servers)
Если резолвер не знает IP, он обращается к корневым DNS-серверам.
Корневые серверы не хранят адреса всех доменов, но знают, где искать — они направляют резолвер к DNS-серверам нужной зоны верхнего уровня (.com, .org, .ru и т.д.).
4. Серверы доменной зоны (TLD Servers)
Далее резолвер обращается к TLD-серверам, которые знают, какой DNS-сервер отвечает за конкретный домен второго уровня.
Например, для example.com они скажут, где находится DNS-сервер, который хранит записи конкретно для example.com.
5. Авторитетный DNS-сервер (Authoritative Server)
Последний шаг — обращение к авторитетному серверу.
Этот сервер хранит реальные записи (A, AAAA, MX и т.д.) для домена.
Он возвращает IP-адрес, и резолвер передаёт его вашему компьютеру.
После этого браузер может установить соединение с сервером по IP и загрузить сайт.
Основные типы DNS-записей
DNS хранит не только IP-адреса. Вот самые важные типы записей:
- A — IPv4-адрес сайта (например,
93.184.216.34). - AAAA — IPv6-адрес.
- CNAME — псевдоним домена (указывает на другое имя).
- MX — почтовый сервер домена.
- TXT — произвольный текст, часто используется для SPF, DKIM и других проверок.
- NS — сервера имён, управляющие зоной домена.
- SOA — информация о зоне (владелец, обновления и т.д.).
Что такое TTL
У каждой DNS-записи есть параметр TTL (Time To Live) — время, в течение которого ответ может кэшироваться.
Например, если TTL = 3600 секунд, то резолвер будет хранить этот IP-адрес в кэше 1 час, прежде чем снова делать запрос.
Оптимальный TTL позволяет снизить нагрузку на DNS и ускорить открытие сайтов, но слишком высокий TTL может мешать при изменении IP-адресов.
Почему DNS бывает медленным
Иногда сайт открывается с задержкой, хотя сервер работает — часто проблема именно в DNS.
Это может происходить, если:
- используется медленный или перегруженный рекурсивный резолвер;
- в цепочке несколько перенаправлений CNAME;
- низкий TTL заставляет резолвер каждый раз искать IP заново;
- авторитетный сервер не отвечает.
Использование публичных DNS (например, Google 8.8.8.8, Cloudflare 1.1.1.1 или Quad9 9.9.9.9) часто помогает ускорить процесс.
Кэширование и ускорение работы DNS
DNS-запросы активно кэшируются:
- браузером — Chrome, Firefox и другие хранят последние резолюции;
- операционной системой — Windows, macOS и Linux имеют собственные DNS-кэши;
- провайдером — резолвер провайдера также хранит часто запрашиваемые домены.
Благодаря этому повторные заходы на сайты происходят мгновенно, без нового DNS-запроса.
Как вручную задать DNS-резолвинг через hosts
Иногда нужно принудительно указать, какой IP-адрес должен использоваться для конкретного домена.
Это удобно при тестировании сайтов, миграции на новый сервер или разработке.
В Linux и macOS
Файл находится по пути:
/etc/hosts
Добавьте строку:
192.168.1.10 example.com
Теперь при обращении к example.com система всегда будет использовать указанный IP, игнорируя DNS-запросы.
В Windows
Файл hosts расположен по адресу:
C:\Windows\System32\drivers\etc\hosts
Откройте его от имени администратора и добавьте аналогичную строку:
192.168.1.10 example.com
После сохранения изменений можно проверить результат командой:
ping example.com
nslookup example.com
— IP должен совпадать с тем, что вы указали вручную.
Заключение
DNS — это фундамент интернета, обеспечивающий связь между именами и IP-адресами.
Понимание его принципов помогает быстрее решать сетевые проблемы, правильно настраивать серверы и домены, а также понимать, почему сайт может быть недоступен из-за всего лишь одной неправильно настроенной DNS-записи.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний