DNS - система доменных имён и её работа
DNS
Что такое DNS?
DNS (Domain Name System, Система доменных имен) — это глобальная распределённая иерархическая система преобразования имен, построенная по принципу деревьев и делегирования, сопоставляющая доменные имена сайтов c IP-адресами, чтобы устройства могли находить друг друга и обмениваться данными.
Система работает с момента появления интернета в таком виде, потому что люди гораздо лучше запоминают слова, чем наборы цифр. Представьте, если бы каждый раз при открытии почты вы набирали 95.143.192.11 вместо mail.ru.
Но мы набираем google.com – как он превращается в IP-адрес сервера? Как мы ранее упомянули, есть целая сеть адресов, и, разумеется, есть адресная книга, эта книга – DNS (Domain Name System) – именно это система переводит удобные человеку домены (google.com) в машиночитаемые IP-адреса (например, 142.250.185.46).
DNS устроен иерархически — сверху — корневые серверы (их 13 логических групп, физически — сотни реплик по всему миру), ниже — серверы доменов первого уровня (.ru, .com, .org), ещё ниже — серверы второго и третьего уровней (например, yandex.ru, mail.yandex.ru). На каждом уровне происходит делегирование: корень говорит, где искать информацию про .ru, сервер .ru — где искать информацию про yandex.ru, и так до конца.
Вся эта структура поддерживается консорциумом ICANN (Internet Corporation for Assigned Names and Numbers) и национальными регистраторами. Данные в DNS хранятся в виде ресурсных записей — строгих строк определённого формата:
— запись A связывает имя с IPv4-адресом,
— запись AAAA — с IPv6-адресом,
— запись CNAME — указывает, что одно имя является алиасом другого,
— запись MX — задаёт почтовый сервер для домена,
— запись NS — указывает, какие DNS-серверы управляют данным доменом,
— запись TXT — содержит текстовую информацию, часто используется для подтверждения прав на домен или настройки безопасности.
Сводная таблица типов записей
| Тип | Назначение | Пример значения |
|---|---|---|
| A | IPv4-адрес имени | 93.184.216.34 |
| AAAA | IPv6-адрес | 2606:2800:220:1:248:1893:25c8:1946 |
| CNAME | Псевдоним другого имени | www.example.com → example.com |
| MX | Почтовый сервер (с приоритетом) | 10 mail.example.com |
| NS | Авторитативные DNS-серверы зоны | ns1.example.com |
| TXT | Произвольный текст (SPF, DKIM, верификация) | v=spf1 include:_spf.google.com ~all |
| SOA | Start of Authority — зона, serial, TTL по умолчанию | служебная запись на каждой зоне |
| PTR | Обратный DNS — имя по IP | IP 203.0.113.10 → host.example.com |
| SRV | Служба на хосте и порту | _sip._tcp.example.com |
Сообщение DNS на проводе — заголовок (ID, флаги) и секции вопрос / ответ / authority / additional. Резолверу достаточно ответа с записями A или AAAA; секция authority подсказывает, кому делегирована зона, если ответа ещё нет.
Клиент (ваш браузер, приложение, ОС) никогда не взаимодействует с корневыми серверами напрямую. Он отправляет запрос одному из рекурсивных DNS-резолверов — серверов, которые умеют обходить всю цепочку делегирования и возвращать конечный ответ. Именно такой сервер указан в настройках вашего подключения (провайдер, роутер, 8.8.8.8, 1.1.1.1 или DoH в браузере).
Пошаговый DNS-резолв
Типичный сценарий: в адресной строке вводят example.com и нажимают Enter. До первого HTTP-запроса браузер обязан узнать IP-адрес сервера. Интернет маршрутизирует пакеты по числовым адресам; доменное имя — удобная оболочка для человека.
Ниже — логическая цепочка от ввода URL до ответа веб-сервера. На каждом уровне сначала проверяют кэш; при промахе запрос уходит дальше по иерархии.
Иерархия DNS-кэша
Перед обращением к Root и TLD браузер и ОС проходят несколько уровней кэша — это ускоряет повторные открытия того же сайта:
| Уровень | Где | Что происходит при попадании |
|---|---|---|
| Кэш браузера | Chrome, Firefox, Safari | IP берётся сразу, сеть DNS не трогают |
| Кэш ОС | Stub resolver (Windows, macOS, Linux) | Ответ из памяти ОС |
| Локальный кэш | Роутер, Pi-hole, корпоративный DNS | Ответ из домашней или офисной сети |
| Кэш резолвера | Провайдер, 8.8.8.8, 1.1.1.1, DoH | Ответ из кэша публичного или провайдерского резолвера |
Только при промахе на всех уровнях резолвер идёт к Root → TLD → Authoritative. Сводная схема трёх фаз (DNS, HTTPS, рендеринг) — в "От URL до пикселей".
| Шаг | Участник | Действие |
|---|---|---|
| 1 | Пользователь | Вводит домен (например, bytebytego.com) |
| 2 | Браузер / ОС | Проверяет локальный DNS-кэш. При попадании — сразу известен IP, шаги 3–13 пропускаются |
| 3 | Браузер | Отправляет DNS-запрос рекурсивному резолверу (провайдер, 8.8.8.8, 1.1.1.1, DoH) |
| 4 | Резолвер | Проверяет свой кэш. При промахе начинает итеративный обход иерархии |
| 5 | Резолвер → Root | "Где искать зону .com?" |
| 6 | Root | Отвечает адресами TLD-серверов для .com (записи NS) |
| 7 | Резолвер → TLD (.com) | "Кто авторитативен для bytebytego.com?" |
| 8 | TLD | Отвечает адресами авторитативных DNS-серверов домена |
| 9 | Резолвер → Authoritative | "Какой IP у bytebytego.com?" |
| 10 | Authoritative | Возвращает ресурсную запись A (IPv4) и/или AAAA (IPv6), например 172.67.21.11 |
| 11 | Резолвер | Сохраняет ответ в кэш на время TTL |
| 12 | Резолвер → браузер | Передаёт IP-адрес клиенту |
| 13 | Браузер / ОС | Кэширует IP для следующих обращений |
| 14 | Браузер | Устанавливает TCP (порт 443 для HTTPS), при необходимости TLS, затем отправляет HTTP-запрос (GET / …) на этот IP |
| 15 | Веб-сервер | Отвечает HTTP-ответом (200 OK, HTML и связанные ресурсы) |
Разделение ролей. Браузер общается только с резолвером. Резолвер сам обходит Root → TLD → Authoritative — это итеративные запросы "снизу вверх" по дереву DNS. Авторитативный сервер хранит "истину" для зоны домена; корень и TLD лишь указывают, куда идти дальше.
HTTP после DNS. Пока IP неизвестен, TCP-соединение с веб-сервером не открывают. Симптом "сайт не открывается" при рабочем интернете часто связан с DNS (неверный резолвер, устаревший кэш, истёкший TTL после переезда). Подробнее про уровни кэша — в разделе DNS-кеширование ниже; цепочку до HTTP на примере spirzen.ru — в HTTP как основа веб-интеграций.
Краткая схема в одну строку:
example.com → кэш браузера/ОС → резолвер → Root → TLD (.com) → Authoritative → IP → HTTP GET → 200 OK
Play ITЗагрузка интерактивного демо…

Запросы к резолверам идут на порт 53 (UDP; при длинном ответе — TCP). Соседние службы и их порты — в справочнике по сетевым протоколам и портам.
Серверы DNS
DNS-сервер в напоминалке по типам серверов — третья из шести базовых ролей: переводит доменное имя в IP, чтобы клиент мог отправить HTTP-запрос уже по числовому адресу.
В DNS участвуют два основных типа серверов:
— рекурсивные резолверы (например, 8.8.8.8 от Google или 1.1.1.1 от Cloudflare),
— авторитативные серверы — те, которые хранят оригинальные записи домена и отвечают за конкретную зону.
Рекурсивный резолвер работает от лица клиента. Он получает запрос вида "Какой IP у example.com?" и сам проходит цепочку Root → TLD → Authoritative (шаги 5–12 в таблице пошагового резолва):
- Запрашивает у корневых серверов — "Кто отвечает за
.com?" → получаетNS-записи для.com. - Запрашивает у серверов
.com— "Кто отвечает заexample.com?" → получаетNS-записи дляexample.com. - Обращается к авторитативным серверам
example.comи получаетA-запись —93.184.216.34. - Возвращает этот адрес клиенту.
Этот процесс происходит за доли секунды и почти всегда незаметен. Но если один из серверов недоступен, задержки возрастают, или запрос завершается ошибкой.
Авторитативный сервер — это хранилище истины для конкретного домена. Он не выполняет рекурсию и не ищет информацию в других зонах. Он знает только то, что ему поручили хранить. Например, если домен example.com делегирован на серверы ns1.cloudflare.com и ns2.cloudflare.com, то только эти серверы могут выдать корректную A-запись. Именно поэтому при смене хостинга важно обновить A-запись именно в настройках DNS на авторитативных серверах — а не в браузере и не в локальном кэше.
Авторитативные серверы часто предоставляются регистраторами (например, ns1.reg.ru, ns2.reg.ru) или сторонними провайдерами, такими как Cloudflare, AWS Route 53, Yandex DNS. Выбор таких провайдеров даёт дополнительные возможности — защита от DDoS-атак, географическое распределение ответов, автоматические проверки зоны, интеграция с CDN.
Настройка DNS-серверов
Когда устройство подключается к сети — проводной или беспроводной — оно получает не только IP-адрес (например, 192.168.1.37), но и дополнительные параметры: маску подсети, шлюз по умолчанию и адреса DNS-серверов. Эти параметры передаются через протокол DHCP (Dynamic Host Configuration Protocol), который автоматически выдаёт настройки клиентам в локальной сети.
По умолчанию ваш роутер предлагает в качестве DNS-сервера свой собственный IP (например, 192.168.1.1). Роутер при этом сам выступает в роли промежуточного кэширующего резолвера — он принимает запрос от вашего компьютера, проверяет, нет ли ответа в собственном кэше, и если нет — пересылает запрос провайдерскому DNS-серверу.
Провайдерские DNS-серверы — это рекурсивные резолверы, входящие в инфраструктуру интернет-провайдера. Они быстры для локальных пользователей, но иногда ограничивают доступ к контенту, добавляют рекламу в ответы на несуществующие домены или логируют запросы.
Именно поэтому многие пользователи вручную указывают альтернативные DNS-серверы в настройках сетевого подключения:
| Сервер | Адрес IPv4 | Адрес IPv6 | Особенности |
|---|---|---|---|
| Google Public DNS | 8.8.8.8 / 8.8.4.4 | 2001:4860:4860::8888 / ::8844 | Высокая скорость, глобальное покрытие, базовая безопасность (фильтрация вредоносных доменов) |
| Cloudflare DNS | 1.1.1.1 / 1.0.0.1 | 2606:4700:4700::1111 / ::1001 | Акцент на приватность: заявлено, что журналы запросов удаляются в течение 24 часов |
| Quad9 | 9.9.9.9 / 149.112.112.112 | 2620:fe::fe / 2620:fe::9 | Встроенный фильтр угроз: блокирует домены, известные как источники фишинга или вредоносного ПО |
| OpenDNS (Cisco) | 208.67.222.222 / 208.67.220.220 | 2620:119:35::35 / 2620:119:53::53 | Политики фильтрации для дома и организаций |
| AdGuard DNS | 94.140.14.14 / 94.140.15.15 | 2a10:50c0:ad1:ff::ad1:ff / 2a10:50c0:ad2:ff::ad2:ff | Блокировка рекламы и трекеров на уровне DNS |
| Yandex DNS | 77.88.8.8 / 77.88.8.1 | 2a02:6b8::feed:0ff / ::feed:1ff | Три режима: базовый, "безопасный" (блокировка вредоносных), "семейный" (плюс блокировка 18+) |
Сводная таблица тех же резолверов вместе с частными диапазонами IP — справочник IP и CIDR.
Изменить DNS можно:
- в настройках Wi-Fi/проводного подключения в ОС (Windows, macOS, Linux, Android, iOS),
- на самом роутере — тогда все устройства в сети будут использовать выбранный резолвер,
- с помощью приложений (например,
NextDNS,AdGuard Home), которые запускают локальный DNS-прокси с расширенными правилами фильтрации.
Смена DNS не шифрует весь ваш трафик (для этого нужен VPN или DoH/DoT), но повышает приватность по сравнению с провайдерским резолвером и часто ускоряет открытие сайтов за счёт оптимизации маршрутизации.
Национальная система доменных имён (НСДИ)
Национальная система доменных имён (НСДИ) — государственная инфраструктура России, созданная для обеспечения устойчивости, безопасности и независимости интернета (часть концепции "суверенного Рунета"). Это сеть публичных DNS-серверов, которые преобразуют доменные имена в IP-адреса — ту же роль, что выполняют глобальные рекурсивные резолверы, но в контуре, контролируемом и обслуживаемом внутри страны.
В общей схеме DNS пользователь вводит, например, gosuslugi.ru; устройство запрашивает IP у DNS-сервера и только после ответа открывает веб-ресурс. Без DNS пришлось бы запоминать числовые адреса вроде 190.158.1.6 для каждого сайта. НСДИ обеспечивает, чтобы такие запросы по российским и критически важным зонам могли обрабатываться даже при сбоях или ограничениях доступа к зарубежной DNS-инфраструктуре.
Ключевые особенности НСДИ:
| Особенность | Содержание |
|---|---|
| Автономия | Поддерживает работу российских интернет-ресурсов при отключении или блокировке связи с глобальной зарубежной DNS-инфраструктурой |
| Обязательность | По требованиям законодательства к НСДИ в обязательном порядке подключаются отечественные операторы связи и владельцы автономных систем |
| Доступность | Базовые серверы системы доступны для использования обычными пользователями и корпоративными сетями |
Технически НСДИ входит в "Систему оперативного реагирования" (СОР) — комплекс средств устойчивости российского сегмента интернета; в том числе хранит зеркало корневых DNS-зон (A–M), обновляемое через МРТС. Подробнее о СОР, ЦУС и узлах управления трафиком — в статье законодательство и инфраструктура Рунета.
DNS over HTTPS и DNS over TLS
Классический DNS на порту 53 (UDP или TCP) передаёт имя запрашиваемого сайта в открытом виде — его видит провайдер и любой наблюдатель на пути. Для сокрытия содержимого запросов используют два распространённых варианта.
| Протокол | Порт | Как устроен | Когда встречается |
|---|---|---|---|
| DoT (DNS over TLS) | 853 / TCP | Отдельное TLS-соединение к резолверу | Роутеры, Android "Private DNS", корпоративные политики |
| DoH (DNS over HTTPS) | 443 / TCP | DNS-запросы внутри обычного HTTPS | Браузеры (Firefox, Chrome), https://cloudflare-dns.com/dns-query |
DoH смешивается с остальным веб-трафиком на 443 — сложнее отфильтровать только DNS. DoT проще диагностировать (ss -tlnp | grep 853), но порт 853 иногда блокируют. Оба варианта не заменяют VPN для всего трафика: шифруется только резолвинг имён.
Порты и сводка — в справочнике по протоколам.
DNS-кеширование
★ Именно благодаря DNS-кешированию (записи сайтов, которые вы уже посещали) ускоряется загрузка сайтов, и, если вы в первый раз посещаете сайт, он так долго открывается.
DNS-кеширование — это механизм временного хранения результатов предыдущих запросов, позволяющий избежать повторного обращения к серверам при каждом открытии страницы. Он работает на нескольких уровнях иерархии:
1. Кэш приложения
Некоторые программы (например, браузеры на основе Chromium) поддерживают внутренний DNS-кэш, чтобы не дергать систему при повторном открытии вкладки. Обычно он живёт несколько минут.
2. Кэш операционной системы
В Windows — это служба DNS Client (dnscache), в Linux — демон systemd-resolved или nscd. ОС хранит записи в памяти, и при повторном запросе отдаёт IP мгновенно. Время хранения (TTL, Time To Live) берётся из ресурсной записи — например, если A-запись имеет TTL = 300 секунд, запись останется в кэше 5 минут.
💡 TTL устанавливает авторитативный сервер. Чем ниже TTL — тем быстрее обновляются изменения (полезно при переносе сайта), но выше нагрузка на DNS. Чем выше TTL — тем стабильнее и быстрее работа, но дольше распространяются изменения.
3. Кэш роутера
Большинство бытовых роутеров кэшируют DNS-запросы локально. Это уменьшает трафик к провайдеру и ускоряет ответ для всех устройств в доме.
4. Кэш провайдерского рекурсивного резолвера
Крупные провайдеры и публичные DNS-сервисы обслуживают миллионы запросов в секунду. Без кэширования это было бы невозможно. Они хранят популярные записи (например, vk.com, youtube.com) в оперативной памяти, и до 90 % запросов обрабатываются без выхода в глобальную сеть.
Как очистить кэш?
ipconfig /flushdns
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
sudo systemd-resolve --flush-caches
- Chrome/Edge: открыть
chrome://net-internals/#dns→ кнопка Clear host cache
Очистка кэша полезна при диагностике — например, если сайт переехал на новый IP, а у вас он всё ещё открывается со старого адреса. После смены DNS на авторитативных серверах дождитесь истечения TTL или сбросьте кэш на клиенте.
Проверить, что видит резолвер (минуя локальный кэш браузера):
dig example.com +short
dig example.com A +trace
nslookup example.com
💡 DHCP (см. выше) выдаёт не только IP, но и адреса DNS-серверов. Если "сайт не открывается", проверьте и DNS в настройках интерфейса (
ipconfig /allв Windows,resolvectl statusв Linux).
Если после VPN, антивируса или драйвера пропал интернет, а ipconfig /flushdns не помог — в Параметры → Сеть и Интернет → Состояние → Сброс сети сбрасываются адаптеры и стек TCP/IP (статические IP придётся ввести заново). Подробнее — Windows 11 — настройка и работа.
Домены
Тут мы затронули домены и хостинг. Здесь всё просто – сеть распределена организованно.
Домен — это уникальное текстовое имя, идентифицирующее ресурс в интернете. Он служит человекочитаемым адресом и заменяет числовой IP, делая сеть удобной для использования.
Домен строится по принципу обратного дерева: самый общий элемент — справа, самый конкретный — слева.
Пример: docs.spirzen.ru
| Часть | Уровень | Назначение |
|---|---|---|
ru | домен верхнего уровня (TLD — Top-Level Domain) | Указывает на зону: географическую (.ru, .de), общую (.com, .org), тематическую (.edu, .gov, .io) |
spirzen | домен второго уровня (SLD — Second-Level Domain) | Уникальное имя, выбираемое владельцем при регистрации |
docs | поддомен (subdomain) | Логическое разделение ресурсов внутри одного домена. Может быть многоуровневым: lab.dev.spirzen.ru |
Поддомены не требуют отдельной регистрации — они создаются в настройках DNS для основного домена. Именно поэтому mail.yandex.ru, maps.yandex.ru и music.yandex.ru управляются одним владельцем и используют одну DNS-зону.
Полное доменное имя (FQDN — Fully Qualified Domain Name) включает всю цепочку и завершается точкой: docs.spirzen.ru. — так выглядит имя внутри протокола DNS. Точка в конце — корень дерева, но в обычной жизни её опускают.
Домен — это не сайт и не хостинг. Это лицензия на имя, выданная на определённый срок (от 1 года и более). Пока лицензия активна, владелец может управлять DNS-записями, перенаправлять трафик, выпускать SSL-сертификаты.

Регистрация домена
Домен (domain) – "имя" сайта, которое арендуется у регистратора.
Регистрация домена — это процедура получения права использования уникального имени в определённой зоне на оговорённый срок.
Процесс включает трёх участников:
- ICANN — международная организация, управляющая корневой зоной и утверждением новых TLD.
- Регистратура — организация, поддерживающая техническую инфраструктуру зоны (например,
RU-CENTERдля.ru,Verisignдля.com). - Регистратор — компания, через которую пользователь оформляет домен (например,
Reg.ru,Namecheap,GoDaddy). Регистратор взаимодействует с регистратурой от имени клиента.
Этапы регистрации:
- Выбор имени и зоны (например,
mysite.com). - Проверка доступности через регистратора — запрос к регистратуре: свободно ли имя?
- Указание контактных данных (WHOIS) — администратор, технический контакт, платёжный контакт.
- Выбор срока регистрации (1–10 лет для большинства зон).
- Оплата и активация — домен появляется в глобальной базе, и можно настраивать DNS.
Важные аспекты:
- Автообновление — большинство регистраторов включают его по умолчанию. Если отключено и оплата не поступила — домен освобождается и может быть выкуплен другим.
- Конфиденциальность WHOIS — в некоторых зонах (например,
.ru) контактные данные публичны по умолчанию. В других (например,.com) можно приобрести услугу приватности, чтобы вместо ваших данных в WHOIS отображалась информация агента. - Передача между регистраторами — возможна после 60 дней с момента регистрации. Требует подтверждения по email и иногда — разблокировки домена.
Регистрация не гарантирует право на торговую марку. Если домен совпадает с зарегистрированной маркой, владелец может потребовать его передачи через UDRP-процедуру (Uniform Domain-Name Dispute-Resolution Policy).
Хостинг
★ Хостинг (от английского host) – сервер, где физически хранятся файлы сайта, которые отправятся в ответ – все веб-страницы, стили, скрипты, изображения.
Они бывают нескольких видов:
- Shared (shared hosting) — один физический сервер на многих клиентов, дешевле, но соседи делят ресурсы;
- VPS — виртуальный выделенный сервер (изолированная ВМ с root-доступом);
- Dedicated — целый физический сервер только под ваши проекты.
Как развернуть сайт на домене?
То есть, чтобы сайт заработал, нужно сначала купить домен (тот самый удобный адрес), затем настроить DNS (указав IP хостинга), загрузить свои файлы сайта на хостинг. И да, всё нужно покупать.
При регистрации домена, нужно найти "регистратора" - к примеру, Reg.ru, Namecheap, GoDaddy, проверить доступность доменного имени, проверить сроки продления и оформить покупку. Если домен доступен – значит, права предоставит регистратор. Если домен занят кем-то – придётся договориться с владельцем.
Существуют сервисы DNS, которые включат в себя набор услуг по защите от DDoS – к примеру, Cloudflare, AWS Route 53.
Значит, если вы захотите развернуть свой сайт, то у вас есть два процесса.
- Размещение сайта.
- Регистрация домена
Для запросов A/AAAA/MX/TXT из скриптов и тестов — dnspython; в async-сервисах — aiodns или pycares.
Обзор DNS-библиотек и остального сетевого стека Python — справочник сетевых библиотек.