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

Большая часть пользователей, набирая в адресной строке браузера название требуемого сайта, даже не задумывается каким образом из миллионов имеющихся ресурсов сети, они получают в течение очень короткого времени нужную информацию. Для успешного разрешения этого вопроса применяется система DNS (Domain Name System).

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

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

Вот тут-то и пришло время DNS, которую в 1983 году разработал Пол Мокапетрис. Архитектура этой системы – иерархическая, в самом верху располагается «корень» дерева – «.». Чуть ниже располагаются домены второго уровня – это всем знакомые доменные зоны, вроде .com, .net., .ru, а с недавних пор и в кириллическом написании - .рф. Дальше – соответственно домены второго уровня, например google.com или yandex.ru. Подобную иерархию можно продолжать и дальше вниз, то есть и maps.google.com и api.maps.google.com – это также домены, соответственно третьего и четвертого уровней.

Итак, мы подошли к самому главному. После того, как в адресную строку мы ввели название сайта, информацию с которого мы хотим получить, браузер отправляет DNS-серверу нашего провайдера DNS-запрос, желая узнать IP-адрес интересующего нас ресурса. Если тот знает ответ на данный запрос – он отдает браузеру данные, иначе переправляет запрос корневому серверу. Тот в свою очередь переправляет запрос серверу, обслуживающему зону: для сайта yandex.ru, мы опросим сервер, обслуживающий “.ru”. И уже после этого по обратной цепочке результат будет отдан нашему браузеру, который, теперь зная IP-адрес, может выполнить HTTP-запрос на нужный нам сервер. Стоит отметить две вещи: прослеженная цепочка запросов может быть другой в зависимости от настроек сети – тут приведен простой пример, и для ускорения работы DNS-сервера кэшируют часть запросов, что позволяет не опрашивать верхние сервера, а отдавать ответ сразу из своего кэша.

Провайдер, обеспечивающий услуги хостинга для сайта, предоставляет возможность использования NS-серверов (Name Server), которые хранят в себе записи об обслуживающихся ими зонах. Таким образом, когда кто-то отправляет DNS-запрос, который на русском языке выглядел бы примерно так: «Вы обслуживаете зону yandex.ru?», сервер отвечает ему положительно, или отрицательно. Для успешной работоспособности сайта каждый домен должен обслуживаться хотя бы двумя NS-серверами (первичным и вторичным), расположенными в разных подсетях. Это нужно для того, что если что-то случится с первичным сервером, вторичный сервер на время возьмет на себя ответственность по обслуживанию домена. Но стоит отметить, что вторичный NS-сервер время от времени опрашивает первичный на предмет изменения записей для интересующей его зоны, и если в течение какого-то времени он не будет получать отклик от первичного – он удалит у себя запись.

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

• A используется для определения IP-адреса для нужного имени.
• NS содержит информацию об обслуживающих NS-серверах.
• SOA обязательная запись со служебной информацией, вроде е-майла администратора домена или времени обновления конфигурации
• MX определяет сервера почты домена
• CNAME – дает возможность назначать псевдонимы домену; чаще всего используется для обеспечения возможности, при которой www.yandex.ru и yandex.ru будут идентичны.

Многие компании, занимающиеся хостингом, позволяют своим клиентам вносить через специальную панель управления необходимые записи для управления доменом. Благодаря этому можно, например, для своего домена настроить почту от Google – Gmail, и пользоваться его преимуществами.

 

Автор: Александр Абрамов.

Тематики: Интернет, Маркетинг, Web

Ключевые слова: хостинг сайтов, IP-адрес, Gmail, NS-сервер, SOA, CNAME, Пол Мокапетрис