Что такое DNS? Как он работает

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

DNS (аббревиатура от Domain Name System) составляет основу интернета, являясь системой регистрации всех веб-сайтов и доменов. Система помогает распределять интернет-трафик, связывая доменные имена с реальными веб-серверами. По сути, она принимает удобный для человека запрос – доменное имя, например, abcd.com – и переводит в IP-адрес сервера – например, 217.3.129.12 (приведены условные примеры).

Поскольку DNS предназначена для поиска адресов и подключения устройств, ее еще иногда называют “телефонной книгой интернета”. Без DNS нужно было бы запоминать IP-адрес каждого сайта, чтобы получить к нему доступ.

Как работает DNS?

Когда пользователь вводит URL-адрес в своем веб-браузере, чтобы проассоциировать его с IP фактического сервера, вступает в работу DNS. Ее рекурсор запрашивает различные серверы имен для определения фактического серверного IP-адреса.

DNS в первую очередь касается четырех компонентов:

  1. Регистратора домена. Это поставщик услуг, у которого приобретаются доменные имена и поддерживается регистрация.
  2. Серверов имен. Очень похожи на веб-серверы. Настроены на хранение записей DNS, а не на обслуживание сайтов или приложений.
  3. DNS-записей. Существует несколько различных типов записей, но в большинстве случаев используются только 4 (A records, CNAME, MX, TXT).
  4. Веб-сервисов. В данном случае – хостингов. Запись A (или запись AAAA) должна быть добавлена к серверам имен домена, чтобы связать его с веб-серверами, на которых размещен сайт.

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

DNS-сервер

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

Основная обязанность DNS-сервера заключается в преобразовании вводимых на компьютере имен URL-адресов в нечто, понятное веб-серверу, а именно, набор чисел (определяемых как АйПи), воспринимаемых сетевыми системами. Это позволяет подключаться к запрашиваемому веб-сайту. DNS-серверы устраняют необходимость запоминания IP-адресов, таких как 192.168.1.1 (в IPv4), или более сложных новых буквенно-цифровых адресов, таких как 2400:cb00:2048:1::c629:d7a2 (в IPv6).

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

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

Для DNS-сервера выпускается специализированное программное обеспечение. Самая известная версия – BIND, которая является бесплатной и распространяется с системами Linux/Unix. В системах Microsoft DNS входит в состав многих выпусков Windows Server.

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

DNS-клиент

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

Многие программы, которые используют функции DNS, не поддерживают их самостоятельно (посредством сокетов). Для этого они используют клиентскую библиотеку или функции, которые предоставляют операционные системы.

intrastar