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

Современные пользователи Интернета привыкли к символьным адресам сайтов, например: nic.ru или test.ru. Действительно, такие адреса и набирать проще, и запоминаются они лучше. Технология доменных имён (DNS), благодаря которой функционируют эти символьные адреса, настолько срослась с Интернетом, что абсолютное большинство пользователей вообще не задумываются о ее существовании. А некоторое количество «продвинутых пользователей» вспоминают про DNS только тогда, когда с ней возникают те или иные проблемы.

Между тем, для адресации узлов Интернета используются специальные числовые «коды» – IP-адреса. Система доменных имён как раз служит для выполнения преобразований между символьными и числовыми адресами. Традиционный IP-адрес может быть записан с помощью четырех чисел в десятичной системе счисления, например: 192.168.175.13 или 194.85.92.93.  DNS позволяет сопоставить числовой IP-адрес и символьный, например: 194.85.92.93 = test.ru.

При этом символьный адрес в DNS представляет собой текстовую строку, составленную по особым правилам. Самое важное из этих правил – иерархия доменов. Система адресов DNS имеет древовидную структуру. Узлы этой структуры называются доменами. Каждый домен может содержать множество «подчиненных» доменов.

Дерево DNS принято делить по уровням: первый, второй, третий и так далее. При этом начинается система с единственного корневого домена (нулевой уровень). Интересно, что про существование корневого домена сейчас помнят только специалисты, благодаря тому, что современная DNS позволяет не указывать этот домен в адресной строке. Впрочем, его можно и указать. Адресная строка с указанием корневого домена выглядит, например, так: «site.test.ru.» – здесь корневой домен отделен последней, крайней справа, точкой.

Как несложно догадаться, адреса с использованием DNS записываются в виде последовательности, отражающей иерархию имен. Чем «выше» уровень домена, тем правее он записывается в строке адреса. Разделяются домены точками. Разберем, например, строку www.site.nic.ru. Здесь домен www – это домен четвертого уровня, а другие упомянутые в этой строке домены расположены в домене первого уровня RU. Например, site.nic.ru – это домен третьего уровня. Очень важно понимать, что привычный адрес веб-сайта, скажем, www.test.ru, обозначает домен третьего уровня (www), расположенный внутри домена второго уровня test.ru.

Для преобразования имен доменов и IP-адресов в DNS используется распределенная система из специальных серверов. Каждый из серверов обслуживает свой «набор клиентов», выполняя для них преобразования адресов. Среди серверов DNS существует иерархия «доверия» и распределение «зон ответственности»: тот или иной сервер может отвечать за определенный набор доменов. При этом DNS-серверы, входящие в глобальную систему DNS Интернета, связаны между собой и обмениваются информацией по достаточно сложным протоколам. Например, между серверами передаются данные об изменении адресации в той или иной доменной зоне. Все это направлено на обеспечение успешного преобразования всех адресов, входящих в DNS, по запросу от любого компьютера, подключенного к Интернету, где бы этот компьютер ни находился.

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

С точки зрения пользователя и в сильно упрощенном виде алгоритм работы DNS по поиску адресов web-сайтов можно описать следующим образом. Когда пользователь вводит в адресной строке браузера адрес web-сайта, например, site.nic.ru, компьютер выполняет запрос к тому или иному известному этому компьютеру серверу DNS, «спрашивая» сервер о том, какой IP-адрес связан с «доменным адресом», указанным пользователем. В ответ сервер DNS, проверив соответствие по своим внутренним таблицам или выполнив запрос к другим серверам DNS, присылает искомый IP-адрес. Далее браузер устанавливает соединение с web-сайтом уже по IP-адресу.

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