Dns: что это и как работает?

DNS (Domain name system) — это система, преобразующая человекочитаемые доменные имена в IP-адреса, понимаемые машиной. Однако в DNS, как и во всем современном вебе есть множество нюансов. Причина тому многократно увеличившееся число устройств, которые могут выходить в Интернет, во много раз усложнившаяся схема сетевой связанности и сами Интернет-технологии, которые развивались далеко не по заданной их разработчиками траектории.

DNS, одна их тех технологий, которая, по мнению отца WWW — Бернерс-Ли Тима «свернула не туда в своём развитии». Давайте, разбираться, что же не так с DNS, когда оно свернуло не туда, и как вообще DNS устроен и работает?

Разберемся сразу в понятиях, что такое WWW (Web) и Internet. WWW (Web) или World Wide Web — это распределенная система, предоставляющая возможность доступа к связанным документам на компьютерах, подключенных к общей сети.

WWW состоит из миллионов веб-серверов, которые обслуживают гипертекстовые документы — html-страницы и статические файлы. Группа веб-страниц объединенная общей тематикой, дизайном и связанная между собой ссылками называется сайтом. Именно Web, как комплекс технологий, куда входит и DNS дал толчок развитию Интернета.

Internet — это глобальная всемирная компьютерная сеть, объединяющая миллионы других сетей и устройств. Internet — это компьютерная сеть, устройства в которой обмениваются информацией с помощью IP-адресов и стека протоколов TCP/IP.

Итак, WWW — это система доступа к web-ресурсам, набор технологий, делающих возможным доступ к различной информации хранящейся на компьютерах, объединенных глобальной мировой сетью под названием Internet.

DNS — это технология относящаяся к WWW. Концепция и принципы DNS были описаны в Книге Бернерс-Ли Тима «Плетя паутину: истоки и будущее Всемирной паутины» (англ. Weaving the Web: Origins and Future of the World Wide Web). По задумке праотца WWW, DNS как система должна быть распределенной, но что-то пошло не так.

Если вам интересна история создания и развития WWW — рекомендуем прочесть цикл статей «История World Wide Web» в трех частях. Вы узнаете историю создания WWW и познакомитесь со всеми вехами её развития, вплоть до сегодняшних дней.

   

Теперь, когда мы точно понимает, что такое WWW и Internet, и куда относится DNS — давайте вплотную им и займемся. Начнём с простого, поймем, что такое DNS и как он работает.

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

DNS занимается тем, что преобразует названия сайтов — доменные имена, которые вводят в поисковую строку браузера в IP-адреса конкретных серверов. Если бы не было DNS, вам бы пришлось запоминать IP-адреса нужных вам ресурсов и вводить их вручную в браузер.

Хорошо, с общим принципом работы разобрались, но возникает вопрос: откуда DNS берёт информацию? Сайтов же миллионы, где эта вся информация хранится?

Сведения о доменах и их связи с IP-адресами находятся в распределенной базе данных, которая хранится на DNS-серверах, образующих иерархию. Для работы DNS использует TCP/IP стек, TCP- или UDP-порт 53.

DNS-сервер — это комбинированное понятие подразумевающие под собой ПО, которое отвечает за обработку DNS-запроса и сам «железный сервер».

О них поговорим позже, сейчас давайте разберёмся с иерархией DNS и механикой запросов браузера к DNS.

Когда вы вводите запрос в поисковую строку браузера, например, 1cloud.ru — браузер сначала проверит наличие DNS-записи на вашем локальном компьютере в файле hosts, если там нет нужного адреса, запрос направляется дальше — на локальный DNS-сервер интернет-провайдера пользователя, если и там записи нет, запрос уходит выше на сервера географических зон.

Как только нужная DNS-запись найдена, браузер получает IP-адрес, на который посылает запрос. В ответ приходит web-страница. Графически этот процесс можно изобразить так:

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

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

Кстати, история hosts-файла довольно занятная. Ранее это было единственным способом не запоминать IP-адреса. Сейчас же hosts-файл — это по большей части исторический рудимент, который используют, пожалуй, только с целью тестирования и разработки.

Выглядит это примерно так: вы купили виртуальный сервер, запустили на нём какой-то сервис, а доменное имя ещё не приобрели, а тестировать сервисы нужно. Вы вносите запись следующего вида в hosts-файл: 93.159.221.110 my_test_site.ru, сохраняете и обращаетесь по имени к своему сайту через браузер.

Пути расположения hosts-файла:

  • Windows XP, 2003, Vista, 7, 8, 10 — c:windowssystem32driversetchosts;
  • Linux, Ubuntu, Unix, BSD — /etc/hosts;
  • macOS — /private/etc/hosts.

С помощью hosts-файла можно делать и другие полезные штуки, например, ограничить доступ к определенным Интернет-ресурсам на локальной машине.

Подробнее, что такое hosts-файл, как его использовать и редактировать, можно узнать из нашей статьи «Как найти и отредактировать файл Hosts».

Кстати, внутри статьи есть краткая видеоинструкция для тех, кто лучше воспринимает информацию визуально.

 

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

Как мы упомянули ранее DNS-сервер — это с одной стороны ПО, как правило, это BIND, NSD, PowerDNS или Microsoft DNS Server, а с другой стороны — «железный сервер». DNS-серверы бывают корневыми, они отвечают за самый верхний уровень — «.», отвечающими за геозоны — .ru,.com,.io,.by,.kz и локальные DNS-серверы.

Доменное имя отражает иерархию DNS-серверов, если читать его справа налево.

Сначала идёт точка — это обращение к корневому серверу, она не отражается, но автоматически всегда подставляется, затем идёт домен верхнего уровня — .com, .ru, .kz и т.д.

, далее домен второго уровня — собственно само название сайта, далее может быть указан домен третьего уровня, как правило, это www или какой-то технический поддомен: api, panel, slack и т.д.

Вот как графически выглядит расшифровка доменного имени, хорошо нам всем известного ресурса:

Исторически все корневые DNS-серверы находились в Северной Америке, но с ростом популярности Интернета, они появились и в других странах. Сейчас их около 123, часть из них находится и в России:

  • F.root (Москва);
  • I.root (Санкт-Петербург);
  • J.root (Москва, Санкт-Петербург);
  • K.root (Москва, Санкт-Петербург, Новосибирск);
  • L.root (Москва, Ростов-на-Дону, Екатеринбург).

Хорошо, DNS-серверы (с точки зрения железа) — это мощные серверы, которые принадлежат крупным организациям и хранят данные о DNS-зонах. Поговорим о них подробнее.

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

Файл содержит следующие типы записей:

  • А-запись — привязка IP-адреса веб-ресурса к конкретному имени домена. DNS-зона может содержать несколько A-записей;
  • AAAA-запись — преобразование имени хоста в IPV6-адрес;
  • MX-запись — адрес почтового сервера в текущем домене;
  • CNAME-запись — запись для подключения поддомена или перенаправления на основной домен;
  • NS-запись — адрес DNS-сервера, обслуживающего данный домен;
  • TXT-запись — произвольная текстовая информация о доменном имени;
  • SRV-запись — позволяет получить имя хоста и номер порта серверов для определенных служб;
  • SPF-запись — содержит список доверенных серверов, с которых может отправляться почта данного домена, и сведения о механизме обработки писем, отправленных с других серверов;
  • SOA — начальная запись зоны, которая указывает местоположение эталонной записи о домене;
  • SSHFP-запись — хранит слепок ключей SSH в DNS.

С течением времени значение некоторых DNS-записей расширилось. Например, для подключения CDN используется A-запись, а в некоторых случаях ещё и NS-записи. В A-записи указывается IP-адрес CDN-сервера провайдера, а в NS — NS-сервера провайдера. Это делается для перенаправления трафика и использования DNS-серверов провайдера.

Такая схема подключения CDN используется в 1cloud. Это позволяет в среднем на 30% увеличить скорость загрузки сайта за счёт использования быстрых DNS-серверов, а нагрузка на сайт уходит полностью.

Если вы ещё не знакомы с CDN или не до конца понимаете зачем он нужен — в нашем блоге есть две статьи посвященные CDN. Первая статья — ознакомительная, она даст вам общее понимание, что такое CDN и как он работает. Вторая статья — техническая, в ней результаты тестов подключения CDN к сайту под высокой нагрузкой.

 

Переходите в блог и знакомьтесь с материалами.

Как это работает: Пара слов о DNS

Являясь провайдером виртуальной инфраструктуры, компания 1cloud интересуется сетевыми технологиями, о которых мы регулярно рассказываем в своем блоге.

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

/ фото James Cridland CC

Изначально, до распространения интернета, адреса преобразовывались согласно содержимому файла hosts, рассылаемого на каждую из машин в сети. Однако по мере её роста такой метод перестал оправдывать себя – появилась потребность в новом механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом (Paul Mockapetris).

Что такое DNS?

Система доменных имен (DNS) является одной из фундаментальных технологий современной интернет-среды и представляет собой распределенную систему хранения и обработки информации о доменных зонах. Она необходима, в первую очередь, для соотнесения IP-адресов устройств в сети и более удобных для человеческого восприятия символьных имен.

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

А уже от корневого элемента ответвляются поддоменые зоны или узлы (компьютеры).

Пространство имен, которое сопоставляет адреса и уникальные имена, может быть организовано двумя путями: плоско и иерархически. В первом случае имя назначается каждому адресу и является последовательностью символов без структуры, закрепленной какими-либо правилами. Главный недостаток плоского пространства имен – оно не может быть использовано в больших системах, таких как интернет, из-за своей хаотичности, поскольку в этом случае достаточно сложно провести проверку неоднозначности и дублирования. В иерархическом же пространстве имен каждое имя составлено из нескольких частей: например, домена первого уровня .ru, домена второго уровня 1cloud.ru, домена третьего уровня panel.1cloud.ru и т. д. Этот тип пространства имен позволяет легко проводить проверки на дубликаты, и при этом организациям не нужно беспокоиться, что префикс, выбранный для хоста, занят кем-то другим – полный адрес будет отличаться.

Сопоставление имен

Давайте взглянем, как происходит сопоставление имен и IP-адресов. Предположим, пользователь набирает в строке браузера www.1cloud.ru и нажимает Enter.

Браузер посылает запрос DNS-серверу сети, а сервер, в свою очередь, либо отвечает сам (если ответ ему известен), либо пересылает запрос одному из высокоуровневых доменных серверов (или корневому).

Затем запрос начинает свое путешествие – корневой сервер пересылает его серверу первого уровня (поддерживающего зону .ru).

Тот – серверу второго уровня (1cloud) и так далее, пока не найдется сервер, который точно знает запрошенное имя и адрес, либо знает, что такого имени не существует. После этого запрос начинает движение обратно. Чтобы наглядно объяснить, как это работает, ребята из dnssimple подготовили красочный комикс, который вы можете найти по ссылке.

Также стоит пару слов сказать про процедуру обратного сопоставления – получение имени по предоставленному IP-адресу. Это происходит, например, при проверках сервера электронной почты. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя.

Кто управляет и поддерживает DNS-сервера?

Когда вы вводите адрес интернет-ресурса в строку браузера, он отправляет запрос на DNS-сервер отвечающий за корневую зону. Таких серверов 13 и они управляются различными операторами и организациями. Например, сервер a.root-servers.net имеет IP-адрес 198.41.0.4 и находится в ведении компании Verisign, а e.root-servers.net (192.203.230.10) обслуживает НАСА.

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

Однако с внедрением технологии альтернативной адресации они «распространились» по всему миру, и фактически их число увеличилось с 13 до 123, что позволило повысить надёжность фундамента DNS.

Например, в Северной Америке находятся 40 серверов (32,5%), в Европе – 35 (28,5%), еще 6 серверов располагаются в Южной Америке (4,9%) и 3 – в Африке (2,4%).

Если взглянуть на карту, то DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры.

Защита от атак

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

Любой сайт в интернете фактически находится на каком-либо устройстве. Отдельный компьютер, подключенный к интернету, имеет индивидуальный номер, который называется IP-адресом. Он представляет собой набор из четырех чисел от 0 до 255. Благодаря этому адресу можно узнать, откуда загружается страница нужного нам ресурса.

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

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

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

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

Система доменных имен действует посредством DNS-сервера, который нужен для выполнения двух основных функций:

  • хранения данных о соответствии имени домена конкретному IP-адресу, 
  • кэширования ресурсных записей прочих DNS-серверов.

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

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

Как правило, рекомендуют задействовать два сервера: первичный и вторичный. Это гарантирует получение доступа к вашему домену, потому как, если будет недоступен один сервер, ответит другой.

Комьюнити теперь в Телеграм Подпишитесь и будьте в курсе последних IT-новостей Подписаться

Как работают DNS-серверы

Рассмотрим поэтапно функционирование приложений, предназначенных для ответа на DNS-запросы:

  1. Браузер получает запрос от пользователя и направляет его DNS-серверу сети, который ищет совпадение доменного имени и сетевого адреса. Если ответ обнаружен, то страница сайта загружается сразу. В противном случае запрос будет отправлен серверу более высокого уровня или корневому.
  2. Корневой сервер направляет запрос серверу первого уровня, который в свою очередь передает его серверу второго уровня. Это движение продолжается до тех пор, пока не будет найдено совпадение имени и IP-адреса.
  3. Браузер получает ответ на свой запрос, направляет его к хостингу, и страница открывается.

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

Где находятся DNS-серверы

Фундаментом для обработки запросов о доменных именах являются корневые серверы, отвечающие за корневую DNS-зону. Ими руководят разные операторы, которые обеспечивают бесперебойное функционирование серверов.

Первые корневые серверы появились в Северной Америке, но с течением времени они стали появляться в других странах мира.

На сегодня существует 123 корневых сервера, которые располагаются в разных точках мира (в зависимости от интенсивности пользования всемирной паутиной).

Типы записей DNS-сервера

Одному домену могут подходить несколько сетевых адресов, например, интернет-сайт и почтовый сервер. Более того, каждое доменное имя содержит один или несколько поддоменов.

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

Различают несколько ключевых типов ресурсных записей, информация о которых хранится на DNS-сервере:

  • А — адрес веб-ресурса, который соответствует введенному имени домена.
  • MX — адрес почтового сервера.
  • CNAME — указание привязки аналога к собственному доменному имени. Чаще всего используется для прикрепления поддомена. Например, можно привязать веб-адрес www.site.ru к фактическому сайту для домена site.ru.
  • NS — адрес DNS-сервера, отвечающего за содержание прочих ресурсных записей.
  • TXT — любая текстовая информация о домене.
  • SPF — данные с указанием списка серверов, которым позволено отправлять письма от имени указанного домена.
  • SOA — исходная запись зоны, в которой указаны сведения о сервере, содержащем образцовую информацию о доменном имени.  

Зачем нужно прописывать DNS-серверы

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

Серверы такого формата обновляются до 24 часов, в этот период сайт может не работать. Поэтому необходимо подождать сутки после того, как вы их прописали.

Зачастую такие серверы прописывают парами. У каждого домена существует один первичный и до 12 вторичных серверов. Это нужно для обеспечения надежности работы сайта. Если один из них полетит, то домен и ресурс будут функционировать.

Защита DNS-серверов от атак

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

Наиболее опасными считают нападения на корневые серверы, хранящие данные об IP-адресах. Например, в историю вошла произошедшая в октябре 2002 года DDoS-атака на 10 из 13 серверов верхнего уровня.

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

Существует несколько схем, настройка которых позволит защитить DNS-сервер от атак хакеров:

  • Использование технологии uRPF (Unicast Reverse Path Forwarding). Суть состоит в том, чтобы определить возможность принятия пакета с конкретным адресом отправителя на указанном устройстве для передачи данных. Пакет проходит проверку и принимается в том случае, когда сетевой интерфейс, с которого он получен, предназначен для обмена информацией с адресатом данного пакета. В обратной ситуации пакет будет отброшен. Этот способ помогает выявить и частично отобрать фальшивый трафик, но не гарантирует надежную защиту от фальсификации. uRPF полагает, что данные отправляются на определенный адрес через неизменный интерфейс. Ситуация усложняется, если появляется несколько провайдеров.
  • Применение функции IP Source Guard. В ее основе лежит технология uRPF и проверка DHCP-пакетов. IP Source Guard отслеживает DHCP-трафик в интернете и выясняет, какие IP-адреса получили сетевые устройства. Это позволяет выявить поддельный трафик на некоторых портах установки. После этого данные собираются и записываются в общую таблицу итогов проверки DHCP-пакетов. В дальнейшем IP Source Guard обращается к этой таблице, чтобы осуществить проверку пакетов, полученных коммутатором. Если IP-адрес пакета не совпадает с адресом источника, то пакет откладывается.
  • Использование утилиты dns-validator. Эта программа контролирует передачу всех пакетов DNS, соотносит запрос с ответом и в случае расхождения названий отправляет уведомление пользователю.

Вывод

DNS-сервер хранит информацию о соответствии домена IP-адресу, а также содержит сведения об остальных ресурсных записях.

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

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

Вы можете получить бесплатно первичные и вторичные DNS-серверы с базовой функциональностью при покупке веб-хостинга для сайта. Либо разместить DNS на собственном сервере. О том, как выбрать сервер такого формата, подробно рассказывается в статье «Как выбрать DNS-сервер».

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

Всё о DNS-серверах: что такое DNS, для чего нужны и как работают серверы Domain Name System, – подробно рассмотрим в этой статье.

DNS — что такое и для чего используется

DNS сервера ― что это

 

Интернет — это бесчисленное количество физических устройств (серверов, компьютеров, планшетов и т.д.), связанных между собой в сеть. Любой сайт в интернете по факту находится на физическом устройстве. Каждое устройство имеет свой уникальный номер — IP-адрес вида 123.123.123.123.

Чтобы попасть на сайт, нужно знать IP-адрес устройства, на котором расположен этот сайт. А теперь представьте, сколько сайтов в день вы посещаете и сколько цифр вам пришлось бы запомнить. Конечно, это нереально. Поэтому для удобства работы в Интернете в 80-х годах была создана система доменных имен — DNS (Domain Name System).

Смысл её в том, что каждому цифровому IP-адресу присваивается понятное буквенное имя (домен). Например, IP-адресу сервера 194.58.116.30 соответствует домен reg.ru. Когда вы вводите в браузере доменное имя, сервера DNS автоматически преобразуют его в IP-адрес.

Домен за доли секунды переводится в IP-адрес DNS-системой, и вы попадаете на нужный сайт.

Таким образом, DNS ― это система, которая позволяет браузеру найти запрошенный пользователем сайт по имени домена.

Для чего нужны DNS-серверы

Служба доменных имён работает благодаря DNS-cерверам. Именно эти жизненно важные «программы» хранят таблицы соответствий вида «имя домена» — «IP-адрес». Кроме того, DNS-серверы служат для хранения ресурсных записей доменов.

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

Служба Domain Name System необходима для того, чтобы мы могли без проблем находить свои любимые сайты, не запоминая вереницы цифр.

Как работают DNS-серверы

Итак, вы вводите название сайта в адресную строку и нажимаете Enter. В те самые секунды, перед тем как сайт отобразится на вашем экране, DNS-серверы работают, не щадя себя. Посмотрим, что делают DNS-серверы. Следите за стрелочками. DNS переводит имя домена в IP-адрес: как это работает

  1. 1. Когда вы вводите в строке браузера доменное имя, например, FAQ-REG.RU, браузер ищет на вашем локальном компьютере файл hosts. В нём задаётся соответствие домена IP-адресу. Допустим, в этом файлe есть запись для введённого домена. Что это значит? Что сайт откроется сразу (стрелка 9). Если же записи нет, браузер сформирует DNS-запрос к интернет-провайдеру (стрелка 1), чтобы тот нашёл IP-адрес домена.
  2. 2. У каждого интернет-провайдера есть локальные (кеширующие) DNS-серверы. После получения запроса провайдер ищет в своём кеше запись о соответствии требуемого домена IP-адресу. Если такая запись есть, браузер получит IP-адрес (стрелка 8). По этому адресу браузер обратится к хостингу, на котором расположен сайт, и пользователю откроется нужная страница (стрелка 9). Если запись отсутствует, провайдер перенаправит DNS-запрос на корневые DNS-серверы (стрелка 2).
  3. 3. Корневые DNS-серверы хранят информацию только о DNS-серверах, ответственных за доменные зоны. Корневой DNS-сервер не может предоставить провайдеру информацию об IP-адресе домена FAQ-REG.RU. Зато он отправит IP-адрес DNS-сервера доменной зоны, в данном случае зоны .RU (стрелка 3).
  4. 4. Теперь у интернет-провайдера есть IP-адрес DNS сервера доменной зоны .RU. Поэтому он обращается к этому DNS-серверу и запрашивает IP-адрес домена (стрелка 4).
  5. 5. DNS-серверы зоны .RU хранят только информацию о DNS-серверах всех доменов в этой зоне, а не их IP-адреса. Поэтому DNS-серверы зоны подскажут интернет-провайдеру IP-адрес DNS-сервера домена FAQ-REG.RU (стрелка 5).
  6. 6. Интернет-провайдер получил IP-адрес DNS-сервера домена FAQ-REG.RU. Он обращается к DNS-серверу домена (например, к ns1.hosting.reg.ru) с запросом IP-адреса домена (стрелка 6).
  7. 7. После получения запроса DNS-сервер сначала проверяет, есть ли у него информация о домене FAQ-REG.RU и искомый IP-адрес для него. В случае успеха DNS-сервер отправит IP-адрес домена интернет-провайдеру (стрелка 7).
  8. 8. Интернет-провайдер получает IP-адрес домена и сохраняет его у себя в кеше. После этого он отправит браузеру результат DNS-запроса — IP-адрес домена FAQ-REG.RU (стрелка 8).
  9. 9. Браузер обращается к хостингу по полученному IP-адресу (стрелка 9). Теперь пользователю открывается запрашиваемый сайт FAQ-REG.RU.

Где находятся DNS-серверы

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

Список 13 корневых серверов

Официальная информация о том, где находится и кому принадлежит тот или иной действующий корневой DNS-сервер, публикуется на сайте Ассоциации операторов Корневых серверов DNS.

Хост Оператор
a.root VeriSign, Inc.
b.root Information Sciences Institute
c.root Cogent Communications
d.root University of Maryland
e.root NASA Ames Research Center
f.root Internet Systems Consortium, Inc.
g.root Defense Information Systems Agency
h.root U.S. Army Research Lab
i.root Netnod
j.root VeriSign, Inc.
k.root RIPE NCC
l.root ICANN
m.root WIDE Project

DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры. Больше всего серверов находится в Северной Америке, но копии серверов есть в:

  • России,
  • Европе,
  • Австралии,
  • Китае, Бразилии,
  • ОАЭ,
  • Исландии и в других странах.

В России реплики корневых серверов DNS находятся в:

  • Москве,
  • Санкт-Петербурге,
  • Новосибирске,
  • Ростове-на-Дону,
  • Екатеринбурге.

Зачем прописывать DNS-серверы для домена

Допустим, вы зарегистрировали домен. Пока никто, кроме вас, об этом не знает. Чтобы о существовании вашего домена узнал интернет, нужно выбрать и прописать для домена DNS-серверы. Они-то и расскажут другим DNS-серверам интернета о вашем домене. Так что запоминаем: зарегистрировал домен — пропиши DNS-серверы!

Какие DNS-серверы нужно прописывать? Зависит от того, где хранятся файлы сайта: на хостинге или VPS. Определиться с серверами поможет статья. Если сайт ещё не создан и нигде не размещён, можно указать бесплатные DNS-серверы REG.RU (ns1.reg.ru и ns2.reg.ru). Как это сделать, читайте в статье Как прописать DNS для домена.

Прописывают DNS-серверы чаще всего парами. Один из DNS является первичным, а остальные серверы, которых может быть от 1 до 12 для каждого домена, называются вторичными. Это делается для лучшей отказоустойчивости: если выйдет из строя первичный DNS-сервер, домен и сайт продолжат свою работу благодаря вторичным.

Типы записей DNS-сервера

«Вы рассказали про ситуацию, когда один домен = один сайт = один IP-адрес. А что если у меня есть поддомены или почтовые серверы и у них другие IP-адреса. А может, я вообще хочу использовать несколько IP-адресов. Как сервер DNS поймёт, что это всё относится к одному сайту?» ― могли задуматься вы.

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

Есть несколько видов записей, которые могут быть файле. Основные записи:

  • А — IP-адрес веб-ресурса, который соответствует определённому имени домена,
  • MX — адрес почтового сервера,
  • CNAME — указывает аналог основному доменному имени. Эта запись чаще всего используется для прикрепления поддомена,
  • NS — адрес DNS-сервера, где хранятся все ресурсные записи,
  • TXT — любая текстовая информация о домене,
  • SPF — список серверов, которым позволено отправлять письма от имени указанного домена,
  • SOA — исходная запись зоны, в которой указаны сведения о сервере.

Подробнее можно прочитать в статье Что такое ресурсные записи DNS

Почему домены начинают работать не сразу

DNS-серверы интернет-провайдера обновляются раз в сутки (принцип работы DNS-серверов). Если вы только что прописали или сменили DNS-серверы, придётся подождать 24 часа. Смена DNS-сервера чревата временным отсутствием работающего сайта. После обновления DNS сайт станет доступен. Если сайт не работает — в помощь вам инструкция: Прописал DNS-серверы, но сайт недоступен.

Если вы зарегистрировали домен, но ещё не создали на нём сайт, после обновления DNS-серверов на вашем домене будет открываться парковочная страница с надписью «Домен надёжно припаркован». Если вы хотите создать на домене сайт, вам поможет статья: Я зарегистрировал домен, что дальше?

Получите все необходимые инструменты для быстрого запуска бизнеса в интернете. В пакет «Быстрый старт» входят домен в зоне .RU, производительный хостинг и SSL-сертификат.

Заказать Помогла ли вам статья?

Что такое DNS: гайд по технологии | Блог VK Cloud

Чтобы попасть на нужный сайт в интернете, мы вбиваем в строку браузера его доменное имя. Например, если набрать mcs.mail.ru, вы попадете на сайт нашей облачной платформы. Но доменное имя сайта — не его настоящий адрес. На самом деле адрес сайта состоит из чисел и называется IP-адресом.

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

DNS — что это такое?

Служба доменных имен (DNS, domain name system) — это стандартный протокол, который позволяет пользователям получать доступ к веб-сайтам, используя удобочитаемые адреса.

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

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

Чтобы попасть на конкретный сайт, пришлось бы запоминать и вводить последовательность чисел IP-адреса, которая, к тому же, иногда меняется, в отличие от URL.

То есть служба Domain Name System необходима для сопоставления понятных людям имен сайтов с числами, понятными компьютерам.

Например, доменное имя сайта mcs.mail.ru преобразуется в IP-адрес 95.163.254.192 — это 32-битный формат IPv4. Также IP-адреса могут быть в другом формате, например: 2002: 6814: 30b6: 0: 0: 0: 0: 0 — это более новый 128-битный формат IPv6.

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

Каждый раз когда вы подключаетесь к локальной сети, интернет-провайдеру или Wi-Fi, модем или роутер шлет конфигурацию сети на ваше устройство, включая адреса одного или нескольких DNS-серверов.

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

Это серверы, которые хранят информацию о том, какому IP-адресу какое доменное имя соответствует — что-то вроде физической телефонной книги, только вместо имени и номера телефона там записаны доменные имена и IP-адреса. В интернете таких серверов много.

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

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

Этот DNS-сервер станет полномочным сервером имен для вашего сайта и первичным источником данных о его адресе для DNS-системы, где «записывается» путь к нему.

Часто регистраторы доменных имен и интернет-провайдеры предлагают использовать свои DNS-серверы за определенную плату (услуга DNS-хостинга). Также эту услугу можно получить в облаке, если разместить там свой сайт, приложение или другой сервис.

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

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

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

В результате другие пользователи, которые обращаются к этому же адресу через этот же DNS-сервер, будут получать IP-адрес уже из его кэша, это гораздо быстрее.

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

Возврат IP-адреса хоста в ответ на запрос доменного имени называют преобразованием его доменного имени в IP-адрес. Когда все работает хорошо, этот процесс происходит менее чем за секунду.

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

По мере роста интернета первоначальный стандарт IP-адресов — протокол IPv4, который допускает только до 4,3 миллиарда IP-адресов, заменяется на протокол IPv6, который поддерживает до 3.4×1038 IP-адресов. DNS-серверы все чаще возвращают IP-адреса в формате IPv6.

Дальше мы немного углубимся в детали. Давайте представим, что вы ввели в браузер запрос mcs.mail.ru/cloud-servers. Этот адрес состоит из нескольких частей, с каждой из которых происходит отдельная история:

  • .ru — имя домена верхнего уровня;
  • mail.ru — доменное имя;
  • mcs.mail.ru — поддомен;
  • /cloud-servers — страница на поддомене.

Посмотрим, какой путь этот запрос может пройти.

  1. Сначала браузер смотрит, нет ли нужного соответствия в его кэше. Если нет — смотрится кэш операционной системы. Если нет и там — придется обращаться к DNS-серверу.
  2. Сначала запрос попадает на ближайший DNS-сервер. Если в его кэше также нет нужной информации, этот DNS-сервер последовательно обращается к вышестоящим DNS-серверам.
  3. Первым ближайший DNS-сервер обращается на корневой сервер DNS — это сервер, который знает, где хранятся данные для имен доменов верхнего уровня: ru, com и других. У него он узнает адрес сервера имен домена верхнего уровня, на котором хранятся данные о .ru.
  4. Теперь наш ближайший DNS-сервер запрашивает у сервера имен домена верхнего уровня .ru информацию о том, где искать данные о доменном имени сайта — в нашем случае mail.ru: то есть получает адрес его полномочного сервера имен.
  5. Наконец, наш ближайший DNS-сервер узнает у первичного сервера адрес домена и поддомена сайта, в нашем случае mcs.mail.ru. Этот первичный DNS-сервер знает нужный IP-адрес и отдает его.
  6. Наконец, страницу на поддомене (в нашем случае …/cloud-servers) можно найти уже на самом сервере, который нашелся по IP-адресу, соответствующему доменному имени.

В итоге браузер получил ответ, пользователь видит веб-страницу. Теперь основная задача DNS-сервера выполнена.

Опубликовано в рубрике Софт

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *