Сервер системы доменных имен (DNS) — это компьютер, который сопоставляет имена хостов веб-сайтов (например, example.com) с соответствующими IP-адресами. База данных общедоступных IP-адресов и соответствующих им доменных имен хранится на DNS-сервере.
Согласно протоколам IPv4 или IPV6, каждое устройство, подключенное к Интернету, имеет уникальный IP-адрес, который помогает его идентифицировать. То же самое можно сказать и о веб-серверах, которые используются для размещения веб-сайтов. Например, один сервер CDNetworks в Маунтин-Вью, штат Калифорния, имеет IP-адрес 157.185.170.144.
DNS-серверы помогают нам избежать запоминания длинных IP-адресов (и даже более сложных буквенно-цифровых адресов в системе IPV6), автоматически переводя имена веб-сайтов в эти числа, чтобы серверы могли загружать правильные веб-страницы.
Содержание
Что такое DNS?
Система доменных имен (DNS) — это база данных доменных имен и IP-адресов, которая позволяет браузерам находить правильный IP-адрес для URL-адреса имени хоста. Когда мы хотим получить доступ к веб-сайту, мы обычно вводим доменное имя в веб-браузере, например, cdnetworks.com, wired.com или nytimes.com.

Однако, чтобы загружать контент для веб-сайта, веб-браузеры должны знать конкретные IP-адреса. Система доменных имен (DNS) преобразует доменные имена в IP-адреса, позволяя загружать ресурсы с сервера веб-сайта. Нередки веб-сайты с несколькими IP-адресами, принадлежащими одному доменному имени.
Например, у крупных сайтов, таких как Google, есть пользователи, запрашивающие сервер со всего мира. Даже если имя сайта, введенное в браузере, совпадает, сервер, к которому пытается подключиться компьютер из Сингапура, скорее всего, будет отличаться от того, к которому пытается подключиться компьютер, скажем, из Торонто. Это когда кеширование DNS входит в картину.
DNS-кэширование
Кэширование DNS — это метод хранения данных DNS в записях DNS, которые находятся ближе к запрашивающему клиенту, чтобы запрос DNS можно было разрешить быстрее. Это устраняет необходимость в дополнительных запросах дальше по цепочке, улучшает время загрузки веб-страницы и снижает использование полосы пропускания.
Время жизни, или TTL, относится к тому, как долго записи DNS сохраняются в кэше DNS. Этот временной интервал важен, поскольку он определяет, насколько «свежими» являются записи DNS и соответствуют ли они текущим версиям IP-адресов. Кэширование DNS может происходить в браузере или на уровне операционной системы (на уровне ОС).
Кэширование DNS в браузере
Поскольку веб-браузеры сохраняют записи DNS в течение установленного периода времени, пользователь зачастую первым делом обращает внимание при создании записи DNS. При использовании браузера требуется меньше шагов для проверки кэша DNS и выполнения запроса DNS к IP-адресу.
Кэширование DNS на уровне операционной системы (ОС)
Когда DNS-запрос покидает рабочую станцию конечного пользователя, он переходит на уровень операционной системы для поиска соответствия. Процесс «заглушки» в операционной системе проверяет собственный кеш DNS, чтобы определить, есть ли у него запись. В противном случае запрос направляется поставщику услуг Интернета за пределами локальной сети (ISP).
Как работает DNS?
DNS отвечает за преобразование имени хоста (также известного как имя веб-сайта или веб-страницы) в IP-адрес. Процесс определения соответствующего IP-адреса известен как разрешение DNS, а действие по вводу доменного имени — как DNS-запрос.
Существует три типа DNS-запросов: рекурсивный, итеративный и нерекурсивный.
Рекурсивные запросы — это те, в которых DNS-сервер должен ответить запрошенной записью ресурса. Если запись не может быть обнаружена, DNS-клиенту должно быть показано сообщение об ошибке.
Итеративные запросы — это запросы, при которых DNS-клиент запрашивает ответы от многочисленных DNS-серверов до тех пор, пока не будет обнаружен наилучший ответ или пока не произойдет ошибка или тайм-аут. Если полномочный DNS-сервер для более низкого уровня пространства имен домена не может найти совпадение для запроса, он будет ссылаться на полномочный DNS-сервер для нижнего уровня пространства имен домена. Затем DNS-клиент запрашивает этот реферальный адрес, и процесс повторяется с другими DNS-серверами.
Нерекурсивные запросы — это запросы, которые разрешает преобразователь DNS, когда запрошенный ресурс доступен либо потому, что сервер является авторитетным, либо потому, что ресурс уже кэширован.
Различные типы DNS-серверов
Запрос DNS отправляется на несколько отдельных серверов перед разрешением без участия конечного пользователя.
1. Рекурсивный преобразователь DNS
Это сервер, предназначенный для приема запросов от клиентских машин. Он находит запись DNS и выполняет дополнительные запросы в ответ на запросы DNS клиента. Когда запрошенные ресурсы возвращаются рекурсору в начале процесса запроса, кэширование DNS может уменьшить количество запросов.
2. Корневой сервер имен
Этот сервер отвечает за преобразование человекочитаемых имен хостов в машиночитаемые IP-адреса. Корневой сервер принимает запрос рекурсора и на основе имени домена в запросе передает его на серверы имен TLD на следующем этапе.
3. Сервер имен домена верхнего уровня (TLD)
Серверы имен TLD отвечают за отслеживание информации о доменных именах. Например, они могут включать информацию о веб-сайтах, оканчивающихся на «.com» или «.org», а также о доменах на уровне страны, таких как «www.example.com.uk», «www.example.com.us, " и другие. Сервер имен TLD получает запрос от корневого сервера и перенаправляет его полномочному серверу имен DNS для рассматриваемого домена.
4. Авторитетный сервер имен
Полномочный сервер имен DNS, наконец, вернет IP-адрес рекурсору DNS, который затем сможет передать его клиенту. Этот полномочный сервер имен DNS хранит записи DNS в нижней части процесса поиска. Считайте их своей последней остановкой или самым авторитетным источником информации.
Вывод
Поиск DNS — это процедура, посредством которой DNS-сервер возвращает запись DNS. Это влечет за собой передачу запроса имени хоста из веб-браузера в процесс поиска DNS на DNS-сервере и обратно. Преобразователь DNS — это сервер, который обрабатывает первый этап процесса поиска DNS, инициируя серию процедур, завершающихся преобразованием URL-адреса в IP-адрес для загрузки веб-страницы.
Рекурсивный преобразователь DNS получает введенный пользователем запрос имени хоста после того, как он перемещается из веб-браузера в Интернет. Затем рекурсивный DNS-сервер отправляет запрос на корневой DNS-сервер, который возвращает адрес TLD-сервера, отвечающего за хранение домена.
Затем преобразователь отправляет DNS-запрос в TLD связанного домена, получая IP-адрес сервера доменных имен. Затем рекурсивный DNS-сервер запрашивает сервер доменных имен и получает IP-адрес, чтобы передать его веб-браузеру в качестве последнего шага. Затем браузер может использовать HTTP-запросы для запроса определенных веб-страниц после завершения процесса поиска DNS.
Эти этапы составляют обычную процедуру поиска DNS, однако кэширование DNS может ускорить процесс. Кэширование DNS позволяет браузеру, операционной системе или удаленной инфраструктуре DNS локально хранить информацию о поиске DNS, что позволяет пропустить некоторые шаги для более быстрой загрузки.