Журнал об IT-бизнесе, технологиях и цифровой трансформации

Что такое DNS: три буквы, на которых держится интернет Mail.ru Cloud Solutions
Mail.ru Cloud Solutions
  • 03 июня
  • Ликбез

Что такое DNS: три буквы, на которых держится интернет

Автор: Денис Романенко
Популярное

Чтобы попасть на нужный сайт в интернете, мы вбиваем в строку браузера его доменное имя. Например, если набрать 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 и какова роль 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.

Как работает DNS: посмотрим, что происходит с вашим запросом

Дальше мы немного углубимся в детали. Давайте представим, что вы ввели в браузер запрос 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-сервера выполнена.

Упрощенная схема работы DNS

Что происходит, когда IP-адрес меняется

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

После того как вы зарегистрируете новое доменное имя, информация об этом обновляется, что занимает около 12-36 часов. Этот период называют распространением DNS.

Варианты использования DNS

Классическое использование DNS — преобразование доменного имени в URL-адресе в соответствующий IP-адрес. Без DNS невозможна работа сайтов, приложений, мессенджеров, электронной почты, виртуальных частных сетей (VPN), компьютерных игр, интернета вещей и других сервисов.

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

Есть и другие возможности использования DNS:

  1. Глобальная балансировка нагрузки на серверы (GSLB) — быстрая маршрутизация (перераспределение) соединений между распределенными центрами обработки данных и повышение надежности доступа к домену. Надежность достигается за счет того, что обращение к одному доменному имени переадресовывается на разные IP-адреса, в зависимости от нагрузки на них.
  2. Multi CDN — маршрутизация пользователей на CDN (сетях доставки контента), которая обеспечит им наилучший доступ к контенту.
  3. Географическая маршрутизация — определение физического местоположения каждого пользователя и направление его к ближайшему возможному серверу или дата-центру.
  4. Миграция центров обработки данных — контролируемое перемещение трафика из локальных дата-центров в облака, которые уже сейчас используют 9 из 10 компаний.
  5. Управление интернет-трафиком — снижение загруженности сети и обеспечение оптимального потока трафика на интернет-ресурс.
Ссылка скопирована!

Что еще почитать про ИТ-бизнес