DNS: как доменное имя связано с сетевыми ресурсами

DNS (Domain Name System, система доменных имён) — распределённая система, которая связывает доменные имена с данными. Записи DNS могут содержать IP-адрес, имя почтового сервера, псевдоним или параметры зоны.

Данные зоны публикуют авторитативные серверы. Резолвер ищет нужные записи и может сохранить ответ в кэше; TTL задаёт срок такого хранения. Например, браузер запрашивает адрес для имени сайта через DNS, а соединение с веб-сервером устанавливает отдельно.

100%
DNS

Описание темы «DNS» под заголовком

Процесс DNS-резолвинга

DNS-резолвинг — поиск данных, связанных с доменным именем. Обычно устройство обращается к рекурсивному резолверу, который ищет ответ за клиента. Если нужных данных нет в кэше, он получает указатели на серверы зон: при необходимости проходит от корня через зону верхнего уровня к авторитативному серверу нужной зоны.

Авторитативный сервер отвечает за опубликованные в зоне записи. Резолвер может кэшировать ответ с учётом TTL и использовать его повторно. Получение DNS-данных и дальнейшее соединение с найденным узлом — отдельные этапы.

Карта темы «Процесс DNS-резолвинга»

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

DNS-запись связывает имя с данными определённого типа. Запрос указывает, какие именно данные нужны: адрес, почтовый маршрут или сведения о зоне.

  • A и AAAA задают адреса IPv4 и IPv6; CNAME указывает другое имя.
  • MX задаёт почтовые серверы и их приоритет; NS — серверы зоны.
  • TXT хранит текстовые данные, а SOA — основные параметры зоны.

У записи есть TTL — срок кэширования ответа. Набор записей зависит от задачи: DNS хранит и другие типы, поэтому систему нельзя свести к поиску IP-адреса.

Карта темы «Типы DNS-записей»

Сетевые протоколы
Устройство интернета
Сетевые протоколы
Устройство интернета

Как работает DNS: от адреса в браузере до ответа сервера

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

Коротко

  • Когда вы вводите www.example.com, устройству нужен IP-адрес, чтобы браузер мог подключиться к сайту; DNS-резолвер ищет этот адрес.
  • Если ответа нет в кэше, резолвер узнаёт у корневого DNS-сервера, где искать зону .com, а у .com — какие серверы отвечают за example.com.
  • Резолвер кэширует ответ на срок TTL. Поэтому после смены записи разные кэши могут ещё некоторое время отдавать прежний адрес.
  • Кроме адреса сайта, DNS хранит сведения для почты, псевдонимов и других служб домена.
  • DNSSEC проверяет подлинность и целостность DNS-данных; DoT и DoH шифруют путь запроса от клиента до выбранного резолвера.

Учебный стенд: у имени www.example.com настроена адресная запись A со значением 192.0.2.80. Когда вы вводите это имя, браузеру нужен числовой адрес; устройство проверяет кэш и, если там нет свежего ответа, спрашивает DNS-резолвер. И example.com, и сеть 192.0.2.0/24 зарезервированы для документации: эта пара не описывает работающий сайт.[1][2][21][22]

Зачем нужен DNS

Компьютеры в интернете находят друг друга по IP-адресам — наборам чисел вроде 192.0.2.1. IP — это Internet Protocol, межсетевой протокол: по этим адресам сеть доставляет данные. Человеку удобнее слова: example.com запомнить проще. DNS связывает одно с другим: по доменному имени находит IP-адрес сервера, на котором работает сайт. Получив его, браузер знает, куда подключаться.

Главная функция системы — именно этот перевод. Он позволяет перенести сайт на новый сервер и не менять имя, которое знают посетители: при смене IP-адреса меняют адресные записи домена.

DNS — часть инфраструктуры интернета и используется не только для сайтов. Система помогает доставлять электронную почту и хранит служебную информацию о домене. Без DNS не обходятся приложения и сервисы, которым нужно найти друг друга: к ресурсам сети они тоже обращаются по именам.

До появления DNS соответствия вели вручную: все имена и адреса лежали в одном файле, который каждой машине в сети нужно было копировать с центрального узла. Когда сеть выросла, рассылка файла стала слишком тяжёлой, и в 1980-х годах её заменила распределённая система.[1][18]

Как устроено доменное имя

Доменное имя состоит из нескольких частей, разделённых точками, и читается справа налево. Части — это уровни иерархии.

  • Корень. На вершине находится корневая зона. Её обозначение пустое, поэтому в адресе его не пишут.
  • Верхний уровень (TLD, top-level domain), например .ru, .com, .org, .net. Такие зоны бывают национальными, как .ru, и общими, как .com.
  • Второй уровень: example в адресе example.com. Обычно именно его регистрируют для сайта.
  • Третий уровень: mail.example.com. Это поддомен example.com, его создаёт сам владелец сайта.

Такую иерархическую структуру изображают в виде дерева. Его делят на зоны: серверы зоны хранят её записи и указывают серверы поддоменов, переданных в отдельные зоны.[1][4][18]

Дерево из четырёх ярусов: один блок сверху, под ним три, ниже шесть, под одним из шести ещё два
На вершине один корень, ниже зоны верхнего уровня, домены второго уровня и поддомены. Граница между зонами проходит там, где управление поддоменом передано отдельно.

Что происходит, когда вы открываете сайт

Разберём учебный запрос к www.example.com. В примере его A-запись равна 192.0.2.80; это документационное значение, а не адрес действующего сервера. Запрос A означает: «какой IPv4-адрес связан с этим именем?» Запрос AAAA отдельно спрашивает адрес IPv6.

Сначала браузер передаёт имя системному резолверу — компоненту устройства, который получает DNS-ответ для программ. Если в локальном кэше есть ещё действующий ответ или соответствие в hosts, система может сразу вернуть его. Иначе она обращается к настроенному рекурсивному резолверу, например серверу провайдера.

Рекурсивный резолвер тоже проверяет свой кэш. При промахе он ищет ответ по цепочке: корневой сервер указывает серверы зоны .com; сервер .com направляет к авторитетным серверам example.com; авторитетный сервер возвращает запрошенную A-запись. Корневой сервер не знает IP сайта — он даёт следующий адрес для поиска. В реальности резолвер может уже иметь свежие сведения о промежуточных серверах и начать ближе к нужной зоне.

Получив ответ, рекурсивный резолвер сохраняет его на время TTL и передаёт устройству. Браузер использует 192.0.2.80 для подключения. Такой разбор показывает порядок действий, а не живое разрешение имени: зарезервированные адрес и домен приведены только для обучения.[1][2][21][22]

Учебный DNS-запрос: от www.example.com до адреса

Учебный DNS-запрос: от www.example.com до адресаВаше устройствоРекурсивный резолверДругие серверы DNSданет
Вы вводите www.example.com; нужен ответ A
1
Резолвер провайдера принимает запрос
2
Есть свежая A-запись в кэше?
3
Резолвер спрашивает корневой сервер
4
Корневой сервер называет серверы зоны .com
5
Резолвер спрашивает сервер зоны .com
6
Сервер зоны .com называет серверы DNS домена
7
Резолвер спрашивает сервер DNS домена
8
Авторитетный сервер возвращает условный адрес 192.0.2.80
9
Резолвер кэширует ответ до истечения TTL
10
Устройство получает IP-адрес; браузер использует его, чтобы подключиться к сайту
11

Схему можно прокрутить вбок

  1. Ваше устройство. Вы вводите www.example.com; нужен ответ A → к шагу 2
  2. Рекурсивный резолвер. Резолвер провайдера принимает запрос → к шагу 3
  3. Рекурсивный резолвер. Есть свежая A-запись в кэше? → «да» — к шагу 11; «нет» — к шагу 4
  4. Рекурсивный резолвер. Резолвер спрашивает корневой сервер → к шагу 5
  5. Другие серверы DNS. Корневой сервер называет серверы зоны .com → к шагу 6
  6. Рекурсивный резолвер. Резолвер спрашивает сервер зоны .com → к шагу 7
  7. Другие серверы DNS. Сервер зоны .com называет серверы DNS домена → к шагу 8
  8. Рекурсивный резолвер. Резолвер спрашивает сервер DNS домена → к шагу 9
  9. Другие серверы DNS. Авторитетный сервер возвращает условный адрес 192.0.2.80 → к шагу 10
  10. Рекурсивный резолвер. Резолвер кэширует ответ до истечения TTL → к шагу 11
  11. Ваше устройство. Устройство получает IP-адрес; браузер использует его, чтобы подключиться к сайту

Учебный стенд: A-запись www.example.com условно равна 192.0.2.80. Домен и адрес зарезервированы для документации; это не живой ответ. Если действующий ответ уже есть в кэше, рекурсивный резолвер пропустит поиск по цепочке.

Источники: [1][2][21][22]

Какие бывают DNS-серверы

Какие бывают DNS-серверы
СерверЧто делаетКто за него отвечает
Рекурсивный резолверПринимает запросы клиентов — компьютеров и телефонов, сам опрашивает другие серверы и кэширует ответыИнтернет-провайдер, компания в своей корпоративной сети или публичный сервис
Корневые серверыДают информацию о серверах зон верхнего уровня: .ru, .com и другихИх поддерживают 12 независимых организаций; обозначений 13, от a до m, а экземпляров в мире больше двух тысяч (октябрь 2026 года)
Серверы зон верхнего уровня (TLD)Знают, какие серверы DNS обслуживают каждый домен в зонеОператор реестра зоны
Авторитетные серверы доменаХранят DNS-записи домена и дают окончательный результатDNS-хостинг: регистратор, хостинг-провайдер или сам владелец

Источники: [3][4][10][15]

Что делает DNS устойчивым к сбоям

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

В крупных DNS-сервисах применяется ещё один приём — anycast: один и тот же адрес обслуживается из многих точек мира, и запрос попадает в одну из них. Это распределяет нагрузку и помогает сохранять доступность сервиса при сбоях. Anycast может ограничить воздействие атаки частью узлов, но результат зависит от маршрутизации и мощности атаки; ускорение ответа тоже не гарантировано.[1][4][17]

Основные DNS-записи

Основные DNS-записи
ТипУсловный пример записиЧто делает программа
Awww.example.com A 192.0.2.80Браузер получает условный IPv4-адрес сайта; адрес предназначен для документации
AAAAwww.example.com AAAA 2001:db8::80То же для условного IPv6-адреса; префикс 2001:db8::/32 тоже используется для примеров
CNAMEalias.example.com CNAME web.host.exampleРезолвер продолжает поиск по целевому каноническому имени и получает его адресную запись
MXexample.com MX 10 mail.example.comОтправляющий почтовый сервер ищет MX и затем адрес узла, принимающего почту
NSexample.com NS ns1.dns.exampleРодительская зона указывает, у каких серверов спрашивать данные зоны
TXTexample.com TXT "v=spf1 …"Почтовый сервис сверяет SPF-политику отправителя; буквальное значение здесь условное
SOAexample.com SOA ns1.dns.example hostmaster.example.com …Содержит параметры зоны, в том числе серийный номер и интервалы синхронизации
PTR80.2.0.192.in-addr.arpa PTR www.example.comОбратная зона может связать IP-адрес с именем, если владелец адресного блока настроил PTR

Источники: [1][2][5][6][16][18][21][22][24]

Для чего ещё используется DNS

Сайты — самый заметный, но не единственный случай. DNS используют и другие службы.

  • Электронная почта. Почтовый сервис отправителя запрашивает MX-записи домена и узнаёт, куда доставить письмо.
  • Защита от спама и поддельных писем. В TXT-записях владелец домена публикует, каким серверам разрешено отправлять почту от его имени (SPF), и ключ для проверки подписи писем (DKIM).
  • Внутренние сети. В корпоративной сети свой DNS-сервер хранит имена внутренних ресурсов, например рабочих сервисов компании. Один и тот же домен может давать разные ответы на запросы изнутри и снаружи.
  • Обратный поиск. По IP-адресу можно узнать, какому домену он соответствует, если для адреса заведена такая запись.[1][4][6][16]

Пример: как почтовая программа находит сервер домена

Случай взят из самого стандарта; адреса в нём учебные. Почтовой программе нужно доставить письмо в домен ISI.EDU.

  1. Она отправляет DNS-запрос: домен ISI.EDU, нужны MX-записи.
  2. Приходит результат: два узла, VENERA.ISI.EDU и VAXA.ISI.EDU, с равным приоритетом.
  3. Вместе с ними сервер сразу присылает дополнительную информацию — IP-адреса обоих узлов: скорее всего, программа спросит их следующим шагом.[1]

Кэширование и TTL: почему изменения видны не сразу

Резолвер временно хранит ответ, чтобы не повторять поиск при каждом обращении. TTL (time to live, время жизни) задаёт срок, в течение которого запись может оставаться в кэше; оставшийся TTL уменьшается по мере хранения. В обычном режиме после истечения срока резолвер снова запрашивает данные при следующем обращении. Некоторые резолверы могут применять serve-stale и при сбое временно отдать устаревший ответ.

Поэтому смена записи видна не всем одновременно: авторитетная зона уже может отдавать новый адрес, а кэш ещё хранит старую копию. Каждый кэш отсчитывает свой TTL от момента получения ответа.[1][2][20][25]

Пример: Почему смена адреса видна с задержкой

Условный пример обычного режима: в 12:00 резолвер сохранил A = 192.0.2.80 с TTL 300 секунд. В 12:04 владелец зоны сменил адрес на 192.0.2.81. Кэш ещё может отвечать старым адресом примерно до 12:05; после истечения TTL при следующем запросе резолвер обычно получает новое значение.

Оба адреса и время приведены для объяснения, а не как наблюдение за реальным сайтом. На практике момент обновления зависит от времени получения копии каждым кэшем, распространения изменений у авторитетных серверов и настроек резолвера.[1][2][20][22][25]

Где настраивают DNS-записи домена

Записи хранятся у DNS-хостинга — компании, на чьих серверах лежит зона домена. Часто эту услугу предоставляет регистратор, у которого зарегистрирован адрес сайта, или хостинг-провайдер, у которого размещён сайт. Есть и отдельные сервисы управления DNS.

В панели управления владелец может создать или изменить запись: указать IP-адрес сервера с сайтом, почтовый сервер, добавить текст. При настройке обычно указывают имя, тип, значение и время жизни (TTL). В стандарте такие записи называют ресурсными (resource records). У домена может быть много записей, в том числе несколько одного типа: например, две MX-записи для основного и запасного почтового сервера. От этих настроек зависит работа сайта и почты.

Какие серверы DNS отвечают за домен, определяют NS-записи. Чтобы передать управление новому хостингу, у регистратора указывают серверы DNS этого хостинга. Такая передача называется делегированием: родительская зона сообщает, где искать информацию о зоне уровнем ниже.[4][10]

Какой DNS-сервер использует ваше устройство

Для работы в интернете устройству нужен адрес хотя бы одного DNS-сервера. По умолчанию компьютер и телефон обращаются к серверу провайдера: настройки приходят автоматически при подключении к интернету. Их можно поменять вручную — в сетевых настройках операционной системы или в роутере.

Вместо провайдерского можно использовать публичный DNS-сервис. Например, у Google Public DNS несколько адресов, в том числе 8.8.8.8 и 8.8.4.4. Такие сервисы принимают запросы от любых пользователей интернета.[4][14]

Как проверить работу DNS и что делать при сбое

Получить информацию о записях домена можно с помощью командной строки.

  • В Windows используется nslookup: команда nslookup example.com показывает IP-адрес, а параметр -type=MX — почтовые записи. Вторым параметром можно указать, какому DNS-серверу задать вопрос.
  • Второй инструмент — dig из набора BIND 9. Запрос состоит из сервера, имени и типа. Режим +trace показывает весь путь от корневых серверов до сервера, где хранятся записи сайта.

Одна из причин разных ответов — недавно изменённая запись, старая копия которой ещё хранится в кэше. Возможны и разные настройки ответов для разных сетей.

Если браузер не может найти сайт, а интернет работает, проблема может быть в DNS. Что можно сделать:

  1. Проверить сайт той же командой или открыть его в браузере на другом устройстве.
  2. Очистить локальный кэш. В Windows для этого есть команда ipconfig /flushdns.
  3. Указать в настройках сети другой DNS-сервер, например публичный.[11][12][13][14][9]

Безопасность DNS: угрозы и защита

Представьте, что устройство в кафе спрашивает обычный DNS-резолвер, где находится www.example.com. При незашифрованном DNS наблюдатель на пути может прочитать имя в запросе; при подмене ответа он может попытаться направить устройство на другой адрес. Это не означает, что любой участник сети обязательно перехватит запрос или что подмена всегда сработает.

DNSSEC решает другую задачу: резолвер проверяет подписи и цепочку доверия, чтобы убедиться, что полученные данные DNS происходят из подписанной зоны и не были изменены. DNSSEC не скрывает имя запроса и не доказывает, что сам сайт безопасен: он подтверждает данные доменной зоны.

DoT и DoH шифруют канал между клиентом и выбранным рекурсивным резолвером — например, Wi-Fi-наблюдатель не читает имя из этого обмена. Но выбранный резолвер продолжает видеть запрос, а шифрование канала само по себе не проверяет подлинность DNS-данных. Поэтому шифрование DoT/DoH и проверка данных DNSSEC дополняют друг друга; это разные свойства и границы защиты.[8][9][23]

Частые ошибки

  • Заблуждение

    DNS содержит только IP-адреса сайтов.

    Как на самом деле

    IP-адрес — главное, но не единственное, что есть в DNS. Там же хранится информация о почтовом сервере домена, его DNS-серверах и псевдонимах. Запрос включает имя и тип нужной записи.[1]

  • Заблуждение

    Запись поменяли — значит, новый адрес сразу видят все.

    Как на самом деле

    Старые копии живут у резолверов и на устройствах, пока не истечёт TTL, и до тех пор часть пользователей попадает по старому адресу. Так задумано: доступность информации в системе важнее мгновенного обновления всех копий.[1]

  • Заблуждение

    Где-то есть главный сервер, на котором хранятся все доменные имена.

    Как на самом деле

    Единой базы нет. DNS-сервер содержит полные данные только о своих зонах, а об остальных знает, к кому отослать. Каждая зона должна быть доступна не меньше чем на двух серверах.[1][19]

  • Заблуждение

    Домен и зона — одно и то же.

    Как на самом деле

    Домен — это имя вместе со всем, что лежит под ним в иерархии. Зона — та его часть, которой управляют как единым целым. Поддомен, переданный в управление другой организации, остаётся частью домена, но образует отдельную зону.[1]

Вопросы и ответы

Что такое DNS простыми словами?

Это справочная служба интернета. Вы вводите название сайта в браузере, а DNS помогает компьютеру найти его числовой адрес.

Что такое DNS-сервер?

Это компьютер с программой, которая обрабатывает DNS-запросы. Одни серверы содержат данные о доменах, другие по просьбе пользователя находят нужную информацию и запоминают её.

Где находится DNS-сервер?

Тот, с которым работает ваше устройство, обычно стоит у интернет-провайдера. DNS-серверы самого сайта находятся у его DNS-хостинга. Корневые серверы распределены по всему миру.

Что будет, если DNS-сервер не отвечает?

Браузер не сможет открыть сайт по имени, даже если само подключение к интернету работает. Стандарт различает три неудачных исхода поиска: домена не существует; домен есть, но записи нужного типа у него нет; сервер временно недоступен. «Не отвечает» — третий случай: такой сбой нельзя считать отсутствием домена.

Можно ли по IP-адресу узнать домен?

Да, если для адреса заведена PTR-запись. Числа адреса IPv4 записывают в обратном порядке и добавляют окончание IN-ADDR.ARPA; для получившейся строки запрашивают PTR-запись.

Как быстро обновляется DNS-запись после изменения?

После применения изменения оно появляется на авторитетных серверах зоны; синхронизация между ними может занять время. Резолверы могут использовать прежнюю копию до истечения её TTL, поэтому единого срока обновления для всех пользователей нет.

Кто придумал DNS и когда?

Систему доменных имён с распределённой базой данных предложил Пол Мокапетрис в 1983 году. Базовые стандарты, которые действуют до сих пор, вышли в ноябре 1987 года.

Источники: [1][2][3][4][10][14]

Источники статьи

  1. Доменные имена: понятия и устройство (RFC 1034)
  2. Доменные имена: реализация и спецификация (RFC 1035)
  3. Корневые серверы — IANA
  4. Терминология DNS (RFC 9499)
  5. Расширения DNS для IPv6 (RFC 3596)
  6. Sender Policy Framework (RFC 7208)
  7. Анализ угроз DNS (RFC 3833)
  8. DNSSEC: введение и требования (RFC 4033)
  9. DNS поверх HTTPS (RFC 8484)
  10. Участники рынка доменов — ICANN
  11. dig: руководство BIND 9
  12. nslookup: справочник команд Windows — Microsoft Learn
  13. ipconfig: справочник команд Windows — Microsoft Learn
  14. Google Public DNS: настройка
  15. Корневые серверы: операторы и экземпляры — root-servers.org
  16. DomainKeys Identified Mail, DKIM (RFC 6376)
  17. Эксплуатация сервисов anycast (RFC 4786)
  18. Л. Питерсон, Б. Дэви. Computer Networks: A Systems Approach — раздел о службе DNS
  19. Выбор и эксплуатация вторичных серверов DNS (RFC 2182)
  20. Отрицательное кэширование DNS (RFC 2308)
  21. Зарезервированные имена верхнего уровня для документации (RFC 2606)
  22. Зарезервированные адресные блоки для примеров и документации (RFC 5737)
  23. DNS over TLS (RFC 7858)
  24. IPv6 Address Prefix Reserved for Documentation (RFC 3849)
  25. Serving Stale Data to Improve DNS Resiliency (RFC 8767)

Оцените статью

Насколько статья была полезна? От 1 — не помогла до 5 — всё понятно.