Что такое DNS (простыми словами) - uGuide.ru

Что такое DNS (простыми словами)

    Дмитрий Луценко
  • Обновлено:
    2021-01-25
  • Просмотры:
    4760
  • Отзывы:
    0
Спросив у среднестатистического человека, что такое сайт, вы в 99% случаев получите ответы вроде «google.com», «facebook.com», «mail.ru» и т. д. Действительно, названия доменных имён сайтов понятны практически каждому, такой ответ устраивает всех.

Нашёл классный сайт – поделился ссылкой, все друг друга поняли. Тем не менее, эти названия не являются настоящими именами сайтов. Что же тогда является? Давайте разберёмся.

DNS (domain name system) – механизм преобразования IP-адресов в человекопонятные названия из букв со смыслом. Без этой технологии пользоваться Интернетом было бы крайне трудно. Например, желая послать бумажное письмо, вы указываете полный адрес получателя, включая страну, регион, город, номер дома или квартиры. Вы же не пишите на конверте «Моему другу детства Серёге»? Нет, конечно. Также и с телефонной книгой в вашем смартфоне. Номера из десятка цифр запомнить непросто, неохота вводить каждый раз кучу цифр при желании позвонить. Поэтому контакты, настоящие адреса абонентов которых являются длинным набором цифр, у вас подписаны как «Ира», «Саня сантехник», «Димон работа» и т. д. Так удобнее, понятнее, проще и быстрее ориентироваться.

Когда вы набираете, к примеру, Костю, телефон к базовой станции посылает сигнал не с его именем, а цифрами телефонного номера. То же самое и с сайтами. Адресом каждого конкретного ресурса в Интернете является IP-адрес, который представлен набором из 4-х чисел в диапазоне от 0 до 255. Знаете, что означает набор цифр 74.125.131.100? Вряд ли. И не нужно. Это один из IP-адресов google.com. Вставив в адресную строку браузера эту абракадабру, вы окажетесь на сайте поисковика. После ввода DNS-сервер обработает запрос и пришлёт вам данные, отображающие страницу сайта.

Работа распределённой базы DNS обеспечивается иерархией физических DNS-серверов, которые работают сообща по определённому протоколу. Алгоритм распознаёт иерархическую структуру доменных имён и зон. То есть запрос на открытие сайта может пройти несколько DNS-серверов вплоть до корневых (root), пока не будет установлено соответствие между доменным именем и IP-адресом сайта, после чего браузер сможет открыть пользователю запрашиваемую страницу. При каждом обращении к веб-странице необходимо выяснить связь между доменным именем и IP-адресом. Чем дальше физически находится первичный сервер, там дольше может загружаться страница.

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

Что было до DNS?

До 1984 года каждому домену вручную присваивали IP-адрес. На сервере Стэнфордского университета хранился hosts.txt – файл с перечнем всех существующих доменных имён. Сайты записывали в формате «74.125.131.100 google.com».

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

Понятно, такой подход отнимал слишком много времени и сил. Пора было совершенствовать технологию. В 1984 году придумали DNS. Это была первая версия. Уже в 1985 были внесены существенные оптимизации в BIND, наиболее распространённый формат реализации DNS-сервера. В начале 90-х годов всё это начала поддерживать Windows NT. Эти спецификации используются практически без изменений до сих пор.

Немного о доменах

Домен – узел в иерархически организованном дереве имён, который может включать подчинённые ему поддомены, узлы более низкого порядка. Корневой домен имеет идентификатор «.» (точку), доменами первого уровня являются доменные зоны (com, org, net, ru, uk и т. д.), второго – названия для конкретного ресурса (как «google» в google.com), третьего – поддомены ниже второго уровня (как «ru» в ru.wikipedia.org). В теории глубина очереди субдоменов может достигать 127 уровня по 63 символа на каждый, но в реальности никто этот потенциал не использует. Как правило, используются домены не ниже 3 уровня.

Для регистрации домена его достаточно придумать. Если свободен и оплачен – он ваш. Но, чтобы он начал работать, необходимо указать регистратору имя DNS-сервера, за которым он закреплён. То есть нужно, чтобы доменное имя начало ассоциироваться с IP-адресом, по которому находится сайт. Это делается на стороне хостинг-провайдера, который, кстати, нередко по совместительству является и доменным регистратором.

DNS для ответов на запросы использует протоколы TCP и/или UDP, порт 53. Вся информация передаётся UDP-датаграммами – блоками информации, которые для приёма не требуют предварительной установки соединения. Скорее всего, вы видели в Windows настройки сетевой карты с параметрами TCP/IP – вот о них идёт речь.

Доменное имя и IP-адрес – не обязательно одно и то же по смыслу. Одному адресу может быть присвоено множество имён, что даёт возможность с одного ПК (сервера) поддерживать работу большого количества сайтов. По такому принципу работает виртуальный хостинг. Верно и обратное: к одному имени (домену) могут быть привязаны десятки IP-адресов, что позволяет балансировать нагрузку на сервера для увеличения производительности и пропускной способности системы.

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

Также существуют корневые DNS-сервера. Их во всём мире 13, они обрабатывают запросы других серверов в процессе перевода доменных имён в IP-адреса, позволяют получить полный список DNS-серверов для всех доменов верхнего уровня (TLD) вроде ru, net, org, museum и т. д. Адреса корневых серверов меняются крайне редко, их функционирование лежит на ответственности 12 организаций (некоммерческие ассоциации, университеты, Министерство Обороны США), деятельность которых регламентируется соглашениями с ICAAN – корпорации по управлению доменными именами и IP-адресами.

Для веб-мастера домен – это корневая папка с его названием, в которой хранятся сайты на сервере. Для пользователя – то, что он вводит в адресную строку браузера для доступа к сайтам. С технической точки зрения всё намного сложнее, система разветвлённая. Понятия домена, IP-адреса и DNS-сервера неразрывно связаны между собой.

Как изменить DNS для сайта?

Изменение DNS для доменов обычно требуется при переезде сайта на другой хостинг, имеющий отличные от предыдущего адреса серверов. Необходимо сделать так, чтобы доменное имя перерегистрировалось на другой IP-адрес. Эта операция называется делегированием домена. Если этого не сделать, то после переноса страница сайта будет выдавать ошибку «Не удаётся получить доступ к сайту».

Итак, какие ресурсы потребуются для привязки домена к новому IP-адресу:

  1. Доступ в личный кабинет регистратора домена, то есть вы должны быть владельцем аккаунта/домена или просто иметь логин/пароль от личного кабинета.
  2. Информация о новом IP-адресе, с которым будет связан домен.
  3. Провайдер DNS, который позволит редактирование записей для домена. В общем, речь идёт о хостинге в большинстве случаев. В панели управления вы сможете сделать все необходимые привязки.

Конечно, подход к настройке немного отличается и зависит от конфигурации панели управления вашего хостинг-провайдера и доменного регистратора. В целом, порядок действий такой:

  1. На новом хостинге найдите настройки, где указаны DNS, и вместо них пропишите всё так же, как было указано в настройках прежнего хостера. Единственное исключение – в поле записи типа А потребуется ввести IP-адрес вашего нового сервера.
  2. В панели управления регистратора домена выберите нужный и в его настройках измените NS-записи на те, что предоставляет новый хостинг провайдер. Эту информацию можно узнать в личном кабинете, также на почту после регистрации хостинга, как правило, приходит письмо, содержащее эти данные. Эта операция потребует времени на выполнение, от нескольких часов до нескольких суток в зависимости от периодичности обновления данных вашего DNS-сервера.

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

Как определить DNS сайта?

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

Например, для Uguide.ru действующими являются 3 сервера: ns1.ucoz.net, ns2.ucoz.net и ns3.ucoz.net. Из названий серверов несложно вычислить хостера, в нашем случае речь идёт о Ucoz.net. По такому же принципу вы можете получить информацию о любом другом сайте.

Выводы

DNS – крайне полезная технология. Благодаря ей мы можем вводить в браузере доменные имена сайтов вместо IP-адресов вроде 225.196.120.223. Работает по иерархической системе – присутствует деление на сервера по старшинству и зоны. Одному домену могут соответствовать сразу несколько IP-адресов – например, сайт, почта, поддомены и т. д. Все связи домена с его IP-шниками содержится в файле DNS-зоны, который лежит на DNS-сервере.

При работе с хостингом вы столкнётесь с NS-данными, которые содержат имена всех DNS-серверов, которые обслуживают ваш домен. Они пригодятся, к примеру, при делегировании домена от стороннего регистратора, чтобы закрепить его за IP-адресом(ми), которые предоставит хостинг-провайдер. Домены в процессе жизни могут переходить из рук в руки, получая разные IP-адреса: просрочили продление – кто-то купил доменное имя и поселил на него свой сайт.

Отметим, что 4-числовые IP-адреса (стандарт IPv4) становятся всё более дефицитным ресурсом. Общее количество возможных комбинаций равно 4 294 967 296 – вроде бы огромная цифра, но с распространением устройств, сайтов и прочего даже такого количества становится мало. Поэтому всё большую популярность приобретает стандарт IPv6, который позволяет создавать IP-адреса большей длины и, следовательно, позволяет обслуживать намного большее количество серверов.

Ещё один нюанс в том, что IP-адресу могут соответствовать несколько доменных имён (виртуальный хостинг). Почему? Ради экономии пространства адресов, о котором упомянули выше. Да, при таком подходе домены не имеют однозначной обратной связи с IP-адресом. Веб-сервер должен анализировать полученные запросы и перенаправлять их на правильные сайты. Как? Это отдельный разговор. Но так бывает.

Итак, что же такое DNS? Давайте подытожим тему ёмким определением. DNS – это система для связывания доменных имён с IP-адресами серверов (компьютеров), которые соответствуют этим доменам. Технология включает в себя множество физических DNS-серверов, которые сообщают IP-адреса по запросу на конкретные доменные имена, а также регламентирующие работу всей этой машины документы.

  • Автор:

no avatar