Что такое DNS и как это работает?

Определение DNS — Domain Name System

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

Чтобы открыть сайт, мы обычно вводим привычные и простые для запоминания доменные имена — например, example.com. Однако для того чтобы компьютер отобразил страницу, он должен преобразовать это имя в труднозапоминаемый IP-адрес — например, 93.184.215.14 в системе IPv4. В новой системе IPv6, которая со временем должна заменить IPv4, адреса становятся еще сложнее — например, 2606:2800:21f:cb07:6820:80da:af6b:8b2c. Именно DNS — система доменных имен — выполняет это критически важное преобразование доменного имени в IP-адрес.

Как работает система доменных имен (DNS)

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

Кроме того, интернет непрерывно обновляется: каждую секунду появляются новые сайты, а старые исчезают. Чтобы поддерживать такой «телефонный справочник» в актуальном состоянии, компьютеру пришлось бы не только хранить сотни гигабайт DNS-данных, но и постоянно отслеживать все изменения в сети. Это было бы крайне неэффективно.

Система доменных имен предлагает гораздо более разумное решение: иерархическую систему DNS-серверов, которые хранят информацию о том, какие IP-адреса соответствуют определенным именам. Любой компьютер может обратиться к этой системе, чтобы преобразовать имя хоста в IP-адрес. С момента своего появления в 1985 году DNS непрерывно работает уже почти 40 лет, обеспечивая масштабируемое и надежное преобразование доменных имен.

Роли различных DNS-серверов

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

  • Рекурсивный резолвер (также называется DNS-рекурсором) — получает DNS-запрос от клиента, например, браузера пользователя, и либо отвечает на него с помощью кэшированных данных, либо перенаправляет запрос другим серверам для получения нужного IP-адреса. Резолвер играет ключевую роль, упрощая процесс поиска для конечного пользователя.
  • Корневой DNS-сервер — отправная точка в процессе разрешения доменных имен в IP-адреса. Он направляет рекурсивный резолвер к соответствующему DNS-серверу домена верхнего уровня (TLD) в зависимости от зоны, к которой относится домен — например, .com, .net, .org и так далее.
  • DNS-сервер домена верхнего уровня (TLD-сервер) — отвечает за хранение информации о доменных именах в рамках конкретной зоны верхнего уровня, например, .com, .net, .org и так далее. Он направляет рекурсивный резолвер к авторитетному серверу, обслуживающему запрашиваемый домен.
  • Авторитетный DNS-сервер — содержит фактические DNS-записи домена, такие как A, MX или CNAME. Именно он дает окончательный ответ рекурсивному резолверу, предоставляя IP-адрес, соответствующий запрошенному доменному имени.

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

Пример обработки DNS-запроса

Теперь, когда мы разобрали все ключевые понятия, давайте пошагово рассмотрим, как происходит преобразование доменного имени в IP-адрес, используя в качестве примера curator.pro.

  1. Запрос пользователя. Когда вы вводите curator.pro в адресной строке браузера и нажимаете Enter, ваш компьютер отправляет запрос рекурсивному резолверу, чтобы получить IP-адрес, соответствующий доменному имени.
  2. Рекурсивный резолвер. Сервер, которым обычно управляет ваш интернет-провайдер или публичный DNS-сервис, сначала проверяет свой кэш — возможно, адрес curator.pro уже был недавно запрошен, в этом случае можно сразу дать пользователю готовый ответ. Если нет, начинается последовательный (рекурсивный) опрос других DNS-серверов.
  3. Запрос к корневому DNS-серверу. Если в кэше нет готового ответа, рекурсивный резолвер сперва обращается к корневому DNS-серверу. Этот сервер не знает IP-адрес, но направляет резолвер к DNS-серверу домена верхнего уровня (TLD), обслуживающему зону .pro.
  4. Запрос к TLD-серверу. Резолвер направляет запрос к TLD-серверу, ответственному за домены в зоне .pro. Этот сервер также не знает точный IP-адрес curator.pro, но сообщает, какой авторитетный DNS-сервер содержит нужные записи.
  5. Запрос к авторитетному серверу. Резолвер отправляет запрос к авторитетному DNS-серверу домена curator.pro. Этот сервер хранит актуальные DNS-записи, включая A-запись, в которой указано соответствие доменного имени и IP-адреса. Сервер возвращает резолверу нужный IP-адрес, соответствующий домену curator.pro.
  6. Возврат IP-адреса клиенту. Рекурсивный резолвер передает IP-адрес вашему браузеру. Теперь браузер может установить соединение с веб-сервером, на котором размещен сайт curator.pro.
  7. Загрузка сайта. Получив IP-адрес, браузер направляет HTTP-запрос напрямую на веб-сервер. Сервер отправляет запрошенную веб-страницу, и сайт открывается в вашем браузере.

Если запрашивается адрес с поддоменом — например, docs.curator.pro, — в процессе преобразования имени в IP-адрес может участвовать дополнительный авторитетный DNS-сервер, содержащий записи, относящиеся к поддоменам curator.pro.

Как вы могли заметить, процесс DNS-разрешения чем-то напоминает работу бюрократической системы: нужно пройти через несколько инстанций, с постоянными хождениями туда-сюда. Однако в отличие от человеческой бюрократии, DNS работает эффективно — благодаря оперативной и (в основном) безошибочной работе компьютеров и сетей.

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

Защита DNS-серверов от DDoS-атак и сбоев

При невозможности преобразовать доменные имена в IP-адреса запрашиваемые пользователями ресурсы становятся фактически недоступны — даже если сами серверы продолжают исправно работать.

Из-за своей ключевой роли DNS-серверы часто становятся целью распределенных атак отказа в обслуживании (DDoS), направленных на перегрузку серверов и нарушение работы цифровой инфраструктуры. Однако защите DNS-серверов часто не уделяют должного внимания, что делает их уязвимым звеном в системе кибербезопасности компании.

Для защиты DNS от атак и сбоев следует использовать специализированные решения, такие как сервис CURATOR.SECONDARYDNS. Это надежный авторитетный DNS-сервер, который обеспечивает минимальное время отклика и высокий уровень устойчивости даже к самым сложным и масштабным DDoS-атакам. Он входит в линейку облачных решений CURATOR, предназначенных для обеспечения непрерывной доступности онлайн-ресурсов бизнеса.

Будьте в курсе наших новостей и продуктов!

Подпишитесь на ежемесячный обзор самых популярных идей Интернета от CURATOR!

E-mail *

Отправляя свой адрес электронной почты, вы соглашаетесь с политикой конфиденциальности

Предыдущая статья Следующая статья
Ваша подписка успешно активирована
На главную