Здравствуйте, уважаемые читатели блога 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-сервера, если такой информации у себя он не находит.

И лишь только после этого браузер обращается к самому сайту по только что узнанному IP адресу. Долго, правда? Но что делать? Иначе никак.
Правда браузер «хитрит» и сохраняет всю полученную от ДНС серверов информацию в свой кеш, чтобы потом не терять время на эти запросы по поводу IP адреса сайта. Естественно, что кеш хранится не вечно, но часто посещаемые пользователем сайты благодаря этому в браузере будут открываться быстрее (кэш — это вообще вещь!).
Какую роль играют NS-сервера хостинга в DNS системе?
На приведенном выше рисунке показана сильно упрощенная схема, по которой не очень понятна роль отдельных уровней ДНС-серверов. Чуть ниже приведена более развернутая схема (хотя и опять же очень упрощенная).
Если вы владелец сайта, то знаете, что при покупке хостинга (или получении его бесплатно) вам выдают адреса NS-серверов (обычно их два), которые нужно будет прописать у вашего регистратора доменных (как это сделать описано чуть ниже). Например, мой хостер Инфобокс выдал мне два адреса (ns1.pa.infobox.ru и ns2.pa.infobox.ru).
Вопрос, как эти адреса NS участвуют в схеме определения IP-адреса по имени домена. Собственно, это показано на приведенном выше рисунке, но я все же поясню:
- Как я уже писал выше, ваш компьютер при вводе в адресной строке Урла типа «ktonanovenkogo.ru» в первую очередь связывается с DNS-серверами вашего интернет-провайдера. Если в их кэше имеется IP адрес соответствующий данному домену, то он незамедлительно будет выдан браузеру и все на этом закончится. В смысле, браузер используя полученный АйПи обратится к моему блогу и откроет запрашиваемую вами страницу.
- Если у вашего интернет-провайдера этой информации не найдется, то он обратится к одному из корневых ДНС-серваков (их не так уж и много и информация на них обновляется не часто — от одного до нескольких раз в сутки).
- Корневые серваки не могут дать вам сразу пару «домен — IP», но зато могут сказать, где эту информацию наверняка можно найти. Т.е. они выдают интернет-провайдеру адреса тех ДНС-серверов, в которых прописана искомая информация об интересующем домене. В нашем случае это будут как раз те самые адреса NS хостера, где физически в данный момент расположены файлы сайта (ns1.pa.infobox.ru и ns2.pa.infobox.ru в моем случае).
- Получив эту информацию ваш интернет-провайдер обратится по одному из полученных NS-адресов и найдет там информацию о том, какой АйПи-адрес на данный момент соответствует домену «ktonanovenkogo.ru».
- ДНС-server вашего интернет-провайдера запомнит эту информацию в свой кэш (чтобы при следующих обращения не повторять всю приведенную выше цепочку запросов) и незамедлительно передаст искомый IP вашему браузеру.
- И только после этого браузер сможет обратиться к виртуальному серваку моего хостинга, где расположен блог https://ktonanovenkogo.ru. В результате на экране вашего компьютера откроется одна из страниц моего сайта.
ktonanovenkogo.ru
Что такое DNS
На самом деле в Интернет существуют только IP-адреса в цифровом формате, и все привычные буквенные ссылки, такие как, например, https://wd-x.ru/ преобразовываются к стандартным адресам IP. А отвечают за эти преобразования сервера Domain Name Service (DNS), определяющие IP-адрес по имени домена.
Как изменить DNS
Чтобы переопределить DNS заходим в раздел «Центр управления сетями» классической панели управления.
Далее кликаем пункт «Изменение параметров адаптера» и щелкаем активное подключение. Щелкаем его правой кнопкой, переходим к пункту «Свойства».
Выбираем протокол TCP/IPv4, снова щелкаем «Свойства».
Выбираем альтернативный адрес DNS.
Лучшие серверы DNS
Google Public DNS
Пожалуй, самый популярный сервер, работающий уже почти 8 лет. Его адреса известны всем – 8.8.8.8 и 8.8.4.4. Вместе с Google Public DNS ваша безопасность в Сети будет высокой, а скорость серфинга – оптимальной, так как ближайший к вам сервер будет определен с помощью технологии Anycast. Кроме того, этот сервис от Google обладает повышенной устойчивостью к хакерским атакам.
OpenDNS
Служба DNS-серверов, работающая с 2006 года. Имеет платный (корпоративный) и бесплатный (домашний) режимы работы. Домашняя версия также обеспечит родительский контроль и защитит от фишинга. Адреса серверов следующие:
- 67.222.222;
- 67.220.220;
- 67.222.220;
- 67.220.222.
DNS.WATCH
Очень быстрый и минималистичный сервис DNS, с основным акцентом на скорость работы и на просмотр заблокированных цензурой сайтов. Адреса серверов — 82.200.69.80 и 84.200.70.40.
Level3 DNS
Надежная и производительная DNS-служба. Конечно же, он намного меньше Google, тем не менее, с развитой инфраструктурой серверов скорость вашего серфинга будет максимальной. Level3 доступен по адресам 209.244.0.3 и 209.244.0.4.
Comodo Secure DNS
Эта служба предлагается известным разработчиком программ для защиты компьютера. Система выберет наиболее близкий к вам сервер так, чтобы обеспечить максимально быстрый и безопасный серфинг. Адреса Comodo Secure DNS – 8.26.56.26 и 8.20.247.20.
OpenNIC DNS
Если ваш провайдер ограничивает доступ к сайтам, отличным решением станет установка OpenNIC DNS. Сервис имеет очень большую инфраструктуру, и поэтому перед его использованием вам сначала нужно будет зайти на веб-сайт проекта. Там система подберет наилучшие сервера в зависимости от вашего текущего местоположения.
Yandex DNS
Своя служба DNS есть и у Яндекса. География размещения серверов достаточно широкая, что обеспечивает высокую скорость работы. Имеется три варианта:
- Базовый (77.88.8.8 и 77.88.8.1)
- Безопасный (88.8.88 и 77.88.8.1) обеспечит дополнительную защиту от вредоносных сайтов;
- Семейный (77.88.8.7 и 77.88.8.3)предоставит дополнительную защиту от «взрослых» сайтов.
Вместо послесловия
Каждый из рассмотренных нами DNS-серверов имеет свои плюсы и минусы, и наверняка какой-нибудь вам понравится, и вы будете его использовать. И, напоследок, самое главное – изменив настройки DNS в Windows, обязательно очистите DNS-кэш, иначе вы можете не ощутить сделанных изменений.