DNS (Domain Name System) – это иерархическая система доменных имен, присваивающая их хостам (компьютерам, серверам и другим устройствам) в интернете или частной сети. Она работает как распределенная база данных, которая хранит информацию о доменах и связывает их с соответствующими IP-адресами, обеспечивая удобный и организованный способ доступа к сайтам и другим веб-ресурсам по названиям вместо сложных числовых IP.
Как работает DNS
Опишем этапы работы DNS.
- Пользователь вводит доменное имя в браузер.
- Запрос DNS отправляется на рекурсивный резольвер – сервер, предоставляемый интернет-провайдерами или сетевыми администраторами.
- Рекурсивный резольвер проверяет свой локальный кэш на наличие записи для этого домена. Если она есть, он возвращает соответствующий IP-адрес.
- Если записи нет в кэше, резольвер отправляет запрос на корневые серверы DNS. Они содержат информацию о серверах доменов верхнего уровня: .com, .org, .ru и других.
- Корневой сервер отвечает, указывая адрес сервера домена верхнего уровня для запрошенного имени, например .com.
- Резольвер отправляет запрос на этот сервер доменов верхнего уровня.
- Сервер доменов верхнего уровня отвечает, указывая адрес сервера более низкого уровня.
- Резольвер отправляет запрос этому серверу доменов.
- Сервер доменов возвращает IP-адрес, соответствующий запрошенному имени.
- Резольвер кэширует эту запись на некоторое время и возвращает IP-адрес сайту пользователя.
- Веб-ресурс использует полученный IP-адрес для установления соединения с нужным сервером.
Этот иерархический процесс позволяет эффективно распределить нагрузку на DNS-систему и децентрализовать управление доменными именами. Благодаря кэшированию последующие запросы выполняются быстрее.
Виды DNS-серверов
DNS-сервер – это компьютер, выполняющий роль хранилища и распространителя информации о доменных именах и соответствующих IP-адресах в системе DNS.
Вот главные типы DNS-серверов:
- корневые. Находятся на вершине иерархии DNS и направляют запросы к серверам имен верхнего уровня;
- серверы доменов верхнего уровня (Top-Level Domain Servers). Хранят информацию о доменах второго уровня в своей зоне;
- серверы доменов низкого уровня (Authoritative Nameservers). Содержат фактические записи DNS, сопоставляющие доменные имена и IP-адреса для доменов третьего и более низких уровней;
- рекурсивные резольверы (Recursive Resolvers). Обрабатывают запросы DNS от клиентских компьютеров или приложений, запрашивают информацию у других серверов и кэшируют ответы.
DNS-серверы используют несколько видов записей для хранения информации, включая:
- A. IPv4-адрес;
- AAAA. IPv6-адрес;
- MX. Серверы электронной почты;
- NS. Авторитетные серверы с ресурсными записями;
- CNAME. Используется для поддоменов, указывая на основное доменное имя;
- SOA. Содержит главную информацию о зоне DNS;
- TXT. Используется для хранения текстовой информации, связанной с доменом;
- SPF. Серверы, которые могут отправлять сообщения с указанного доменного имени.
DNS как протокол
DNS принадлежит сетевой модели OSI и использует ряд протоколов для обмена данными:
- UDP (User Datagram Protocol). Основной транспортный протокол. Применяется для обычных запросов и ответов. Предпочтителен за счет своей скорости и малой нагрузки, так как не требует установления соединения, однако имеет ограничение размера пакета данных до 512 байт для одного запроса или ответа DNS;
- TCP (Transmission Control Protocol). Используется, когда запрос или ответ превышает лимит в 512 байт для UDP, а также для передачи зональных переносов и динамических обновлений. Обеспечивает надежную потокoвую передачу данных за счет установления соединения;
- DNS-протокол прикладного уровня. Определяет структуру DNS-запросов и ответов, передаваемых поверх UDP или TCP. Запросы содержат тип записи и домен, а ответы – запрошенные записи или код ошибки;
- DNSSEC. Расширение DNS, появившееся в 2010 году и добавляющее дополнительные криптографические механизмы, чтобы обеспечить безопасности, целостность и подлинность данных, защищая от атак подмены.
Вопросы-ответы
13. Однако у них есть копии, созданные в целях безопасности. Вместе с копиями DNS-серверов 123.
40 – в Северной Америке, 35 – в Европе, 6 – в Южной Америке, 3 – в Африке, 39 – в остальных регионах. В России они расположены в Москве, Санкт-Петербурге, Ростове-на-Дону, Новосибирске и Екатеринбурге.
Cisco Umbrella, Cloudflare, DNSFilter, Google Public DNS, Neustar UltraDNS Public, Quad9, SkyDNS, Яндекс.DNS и другие.