Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
20 Май 2023
5 мин
341

Сервер DNS: что это и как работает

Рассказываем, что такое DNS и DNS-серверы, как они работают, какими бывают DNS-зоны и где физически находятся главные DNS-серверы.

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

DNS (Domain Name System) — это система преобразования удобных для человека доменных имен в числовые IP-адреса.

У каждого устройства с подключением к интернету есть свой уникальный IP-адрес. Он выглядит как набор цифр и распознаёт это устройство в сети. Людям гораздо проще запоминать доменные имена, например sky.pro, а не цифры по типу 123.456.789.123.

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

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

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

У DNS обязательно есть серверы. Это компьютер или серверное ПО, которое хранит базу данных доменных имен и IP-адресов. DNS-серверы отвечают на запросы клиентских устройств, например компьютеров или маршрутизаторов.

DNS-серверы выполняют разные функции:

🟢 Отвечают на запросы клиентов — предоставляют IP-адреса для запрошенных доменных имен.

🟢 Кешируют, то есть хранят результаты предыдущих запросов, чтобы ускорить обработку будущих запросов и снизить нагрузку на сеть.

🟢 Перенаправляют запросы к другим серверам, если у них нет запрошенной информации в базе данных.

В онлайн-университете Skypro на курсе «Python-разработчик» можно научиться писать код на одном из популярных языков программирования и создавать полезные сервисы для миллионов людей. За 10 месяцев можно с нуля освоить новую профессию, даже если раньше у вас был другой опыт. А после учебы получите диплом о профессиональной переподготовке.

Как работает DNS-сервер

DNS-серверы работают поэтапно и взаимодействуют между разными компонентами DNS.

1. Файл hosts инициирует запрос
Когда пользователь вводит доменное имя, браузер ищет файл соответствий на устройстве пользователя. Такой файл называется hosts. Он нужен для сопоставления IP-адресов с доменными именами. Hosts инициирует DNS-запрос для преобразования доменного имени в IP-адрес.

2. Кеш проверяется на локальном DNS-сервере
Hosts отправляет запрос на DNS-сервер от интернет-провайдера или локальной сети. Локальный DNS-сервер проверяет свой кеш — есть ли запрошенная информация. Если информация есть и она не устарела, то DNS-сервер может сразу предоставить ответ без дальнейших запросов. Нужный сайт откроется сразу.

3. Отправляется рекурсивный запрос к другим DNS-серверам
Если информация отсутствует в кеше локального DNS-сервера или он не авторитетный для запрашиваемой зоны, то DNS-сервер отправляет рекурсивный запрос.

Сначала он направляет информацию корневым серверам DNS. Они находятся на самом верхнем уровне доменной системы. Затем запрос идет к TLD-серверам — здесь хранятся домены верхнего уровня определенного хоста. Наконец, запрос доходит до серверов авторитативных зон, которые расположены на низшем уровне и хранят ресурсные записи. Такие записи определяют параметры доменных имен: название домена, класс, тип, значение и так далее.

4. DNS-сервер получает ответ
Локальный DNS-сервер передает ответ хосту, который инициировал запрос. Полученная информация кешируется на локальном DNS-сервере для будущих запросов. Хост использует полученный IP-адрес, чтобы установить соединение с запрашиваемым веб-сервером.

Что такое DNS-зоны

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

Каждая DNS-зона содержит набор ресурсных записей, связанных с определенным доменным пространством. Это могут быть как записи для основного домена, например example.com, так и для поддоменов — например, subdomain.example.com.

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

Писать программы и сервисы — это ценное и востребованное дело, которое приносит хороший доход. На курсе «Java-разработчик» в онлайн-университете Skypro можно научиться прикладным навыкам и писать код на языке Java — в 2024 году он занимает четвертое место в авторитетном рейтинге TIOBE. Выучиться на Java-разработчика — значит обеспечить себе карьеру на годы вперед.

Какие бывают типы записей в DNS-зонах

Ресурсные записи помогают DNS-серверам понять, какой домен перед ними. У каждой своя функция.

A (Address Record) — сопоставляет доменное имя с IPv4-адресом.

AAAA (IPv6 Address Record) — сопоставляет доменное имя с IPv6-адресом.

IPv4 (Internet Protocol version 4) и IPv6 (Internet Protocol version 6) — это протоколы интернета, они распознают данные между устройствами в сети и дают им обмениваться.

CNAME (Canonical Name Record) — запись нужна, чтобы создавать альтернативное имя, то есть поддомен, или перенаправлять информацию на другие домены.

MX (Mail Exchange Record) — указывает почтовые серверы.

NS (Name Server Record) — указывает DNS-серверы, обслуживающие определенную DNS-зону.

TXT (Text Record) — хранит произвольный текст, его используют для разных целей.

SPF (Sender Policy Framework) — нужна для аутентификации электронной почты.

PTR (Pointer Record) — нужна для обратного разрешения IP-адресов на доменные имена.

SOA (Start of Authority Record) — содержит информацию о DNS-зоне: имя первичного DNS-сервера, адрес электронной почты администратора и другие параметры.

Где находятся главные DNS-серверы

Всего в мире насчитывается 13 корневых DNS-серверов. Они управляют зоной «.» — корнем иерархической структуры доменных имен. Корневые DNS-серверы находятся в разных геолокациях по всему миру. Это важно для поддержки отказоустойчивости и быстрого доступа. Корневые DNS-серверы разделены на несколько копий и хранятся на разных серверах. Вместе с копиями всего их 123.

Вот как расположены DNS-серверы по миру:

40 (32,5%) — в Северной Америке;
35 (28,5%) — в Европе;
6 (4,9%) — в Южной Америке;
3 (2,4%) — в Африке;
39 (31,7%) — в остальных странах.

В России находится пять копий корневых серверов — в Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге и Ростове-на-Дону.

Главное о DNS-серверах

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

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

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий