Что такое DNS и как ДНС-сервера обеспечивают работу интернета

Обновлено: 14 сентября 2017

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. О том, что такое интернет и когда он появился, мы с вам уже говорили. Говорили и про то, что такое есть сайты и что такое Веб. Однако, есть еще и техническая сторона работы интернета, которая тоже весьма важна и по своему интересна.

Днс

Так, вот DNS — это одна из основополагающих вещей, на которых построена работа всего интернета. Это аббревиатура расшифровывается как Domain Name System, что в переводе означает доменная система имен.

Этого вопроса (устройства доменной системы имен) я уже касался, когда рассказывал о том, что такое домены разного уровня и доменные зоны, но только вскользь. Сегодня я хочу поговорить о роли ДНС-серверов в работе сайтов и всего интернета в целом.

Зачем нужны DNS-сервера и что это такое?


Когда интернет только формировался, то было решено внедрить такую вещь, как домены. Фактически, это имя для узла сети (компьютера, сервера или в более общем смысле слова — хоста).

Дело в том, что на технологическом уровне все устройства в любой сети уже имеют уникальные имена (идентификаторы или IP), но они мало подходят для использования их людьми, ибо представляют из себя набор цифр (читайте про то, что такое АйПи и MAC адреса).

Система же доменных имен оперирует уже полноценными именами (буквы латиницы, цифры, тире и нижнее подчеркивание допускается при их формировании). Их гораздо легче запомнить, они несут смысловую нагрузку (доменное имя моего блога ktonanovenkogo.ru о чем-то уже говорит, а реальный его АйПи 109.120.169.66 малоинформативен) и ими проще оперировать.

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

Вот именно на этих ДНС-серверах (иногда их еще называют NS от Name Server, т.е server имен) и держится весь интернет (как плоский мир на трех китах, стоящих на черепахе). Сервер, если вы помните, это просто служебный компьютер не требующий непосредственного участия человека в своей работе (настроили его — он и пашет в режиме 24 на 7). И таких DNS-серверов в сети очень много.

Как работает DNS и причем тут файл Hosts?

На заре интернета ДНС вообще не существовало. Но как же тогда работала сеть? Как браузер понимал, что ktonanovenkogo.ru — это то же самое, что IP адрес 109.120.169.66? За это дело тогда (да и сейчас тоже) отвечал так называемый файл Hosts, где были прописаны все хосты тогда еще маленького интернета.

Такой файл находился (и сейчас находится) на каждом компьютере пользователя (на вашем тоже он есть) подключенного к сети (как его найти смотрите по приведенной выше ссылке).

В файле Hosts было прописано несколько тысяч строк (по числу сайтов в интернете на тот момент), в каждой из которых сначала был прописал IP адрес, а затем через пробел соответствующий ему домен. Вот так выглядела бы запись для моего блога, существуй он в сети лет так двадцать пять — тридцать назад:

109.120.169.66 ktonanovenkogo.ru

Любой браузер (что это такое?) на любом компьютере (даже сейчас) при вводе в адресную строку УРЛа (что это такое?) прежде всего обращается к файлу Hosts на предмет поиска там введенного доменного имени, и лишь не найдя там нужной записи обращается за этой информацией к ближайшему DNS-серверу (как правило, это сервак вашего интернет-провайдера).

Сейчас файл Hosts стал рудиментом (пережитком прошлого) и там обычно есть только одна запись (127.0.0.1 localhost) означающая, что локальным хостом нужно считать данный компьютер.

Правда иногда его используют вирусы и другие зловреды, чтобы вместо одного сайта вы попадали на другой (про фишинг слышали?) — ведь для этого достаточно добавить всего одну строчку в файл Hosts (можете сами прописать в нем, например, «109.120.169.66 yandex.ru» и вместо Яндекса браузер вам будет упорно открывать мой блог). Вот именно поэтому его целостность охраняют большинство антивирусов.

Как ДНС-сервера помогают браузеру ориентироваться в сети?


То есть сейчас всеми делами с адресацией в сети рулят именно ДНС-сервера, хотя по своей сути они очень похожи на файл Hosts, но только хранятся на них данные о многих миллионах адресов, да и размещены они удаленно.

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

Еще раз поясню цепочку «метаний» браузера при вводе в него Урл адреса сайта. Итак, сначала он обращается к файлу Hosts, потом к ближайшему ДНС-серваку. Он же в ответ передает нужную информацию (о том, какой именно IP адрес соответствует данному домену) нашему браузеру или запрашивает ее у вышестоящего NS-сервера, если такой информации у себя он не находит.

Как DNS обеспечивает работы интернета

И лишь только после этого браузер обращается к самому сайту по только что узнанному IP адресу. Долго, правда? Но что делать? Иначе никак.

Правда браузер «хитрит» и сохраняет всю полученную от ДНС серверов информацию в свой кеш, чтобы потом не терять время на эти запросы по поводу IP адреса сайта. Естественно, что кеш хранится не вечно, но часто посещаемые пользователем сайты благодаря этому в браузере будут открываться быстрее (кэш — это вообще вещь!).

Какую роль играют NS-сервера хостинга в DNS системе?

На приведенном выше рисунке показана сильно упрощенная схема, по которой не очень понятна роль отдельных уровней ДНС-серверов. Чуть ниже приведена более развернутая схема (хотя и опять же очень упрощенная).

Как ДНС система определяет IP сайта по его доменному имени

Если вы владелец сайта, то знаете, что при покупке хостинга (или получении его бесплатно) вам выдают адреса NS-серверов (обычно их два), которые нужно будет прописать у вашего регистратора доменных (как это сделать описано чуть ниже). Например, мой хостер Инфобокс выдал мне два адреса (ns1.pa.infobox.ru и ns2.pa.infobox.ru).

Вопрос, как эти адреса NS участвуют в схеме определения IP-адреса по имени домена. Собственно, это показано на приведенном выше рисунке, но я все же поясню:

  1. Как я уже писал выше, ваш компьютер при вводе в адресной строке Урла типа «ktonanovenkogo.ru» в первую очередь связывается с DNS-серверами вашего интернет-провайдера. Если в их кэше имеется IP адрес соответствующий данному домену, то он незамедлительно будет выдан браузеру и все на этом закончится. В смысле, браузер используя полученный АйПи обратится к моему блогу и откроет запрашиваемую вами страницу.
  2. Если у вашего интернет-провайдера этой информации не найдется, то он обратится к одному из корневых ДНС-серваков (их не так уж и много и информация на них обновляется не часто — от одного до нескольких раз в сутки).
  3. Корневые серваки не могут дать вам сразу пару «домен — IP», но зато могут сказать, где эту информацию наверняка можно найти. Т.е. они выдают интернет-провайдеру адреса тех ДНС-серверов, в которых прописана искомая информация об интересующем домене. В нашем случае это будут как раз те самые адреса NS хостера, где физически в данный момент расположены файлы сайта (ns1.pa.infobox.ru и ns2.pa.infobox.ru в моем случае).
  4. Получив эту информацию ваш интернет-провайдер обратится по одному из полученных NS-адресов и найдет там информацию о том, какой АйПи-адрес на данный момент соответствует домену «ktonanovenkogo.ru».
  5. ДНС-server вашего интернет-провайдера запомнит эту информацию в свой кэш (чтобы при следующих обращения не повторять всю приведенную выше цепочку запросов) и незамедлительно передаст искомый IP вашему браузеру.
  6. И только после этого браузер сможет обратиться к виртуальному серваку моего хостинга, где расположен блог http://ktonanovenkogo.ru. В результате на экране вашего компьютера откроется одна из страниц моего сайта.

Как поменять DNS при переносе сайта на другой хостинг?


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

Новая информация (о смене соответствия данного домена и физического IP адреса сайта) в первую очередь прописывается на NS-серверах вашего нового хостинга. Вы же идете в панель регистратора домена (где его покупали) и меняете там адреса NS-серверов старого хостинга, на те, что получили от нового хостера.

Я пользуюсь услугами старейшего регистратора в рунете и смена NS-адресов у него проходит так:

  1. Из выпадюащего списка с адресом вашей почты в правом верхнем углу выбираете пункт «Личный кабинет»
  2. Переходите на вкладку «Мои домены»
  3. В столбце «DNS» напротив нужного домена кликаете по строке с текущими адресами НС-серверов
  4. Во всплывающем окне стираете адреса старых НС-серверов и вместо них прописываете новые (полученные от нового хостера)
  5. Жмете на кнопку «Добавить»

Смена адресов NS в панели регистратора доменов

То же самое можно сделать кликнув по названию домена (в первом столбце) и выбрав на открывшейся странице в области «Управление доменом» пункт «DNS-серверы»:

DNS-серверы

На открывшейся вкладке нужно будет лишь заменить старые адреса на новые и нажать на кнопку «Изменить».

Как изменить адреса НС-серверов при смене хостинга

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

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Плюсануть
Поделиться
Отправить
Класснуть
Линкануть
Запинить
* Нажимая на кнопку "Подписаться" Вы соглашаетесь с политикой конфиденциальности.

Подборки по теме:

Рубрика: Хостинг и домены

Комментарии и отзывы

Александр

Душевная благодарность за доступно изложенные ключевые вопросы ! Удачи !!!

Denis

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

Максим

Большое спасибо за статью. Все просто и понятно описано! Один вопрос: правильно ли я понял — ip адрес за моим доменом закрепляет хостинг на котором расположен мой сайт?

Дмитрий

Да, именно из NS записей хостера информация о соответствии домена и IP рассылается по всем ДНС серверам сети.

Текст Вашего сообщения:

Подписаться на новые комментарии к этой статье

* Нажимая на кнопку "Добавить комментарий" или "Подписаться" Вы соглашаетесь с политикой конфиденциальности.