DNS

DNS — это Domain Name System, система доменных имен. Это система, которая связывает между собой доменное имя сайта, то есть его название, и IP-адрес — он нужен для «общения» компьютеров по сети. Благодаря DNS вам не нужно знать IP-адрес сайта, чтобы попасть на него.

Система состоит из множества серверов на разных уровнях: от вашего провайдера интернета до глобальных машин, которых всего несколько в мире. По сути, DNS — это огромная база соответствий, которая отвечает на запросы и «рассказывает» устройству, как добраться до сайта с тем или иным доменом.

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

Для чего нужен DNS и кто им пользуется

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

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

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

Как устроена работа DNS

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

Резолвер. Устройство пользователя подает запрос DNS-резолверу, или резольверу. По-английски он называется DNS resolver, что примерно переводится как «тот, кто решает». Это компьютер на стороне провайдера, который является первым звеном в сложной цепочке DNS-запросов.

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

Корневой DNS-сервер. Сначала резолвер подает запрос на так называемый root DNS server — корневой сервер. Их всего 13 штук во всем мире. Это не означает, что самих серверных машин всего 13: каждый такой сервер — большая сложная система из множества устройств. Только так они смогут выдерживать огромную нагрузку, которая приходится на них постоянно.

Корневой DNS-сервер сам по себе не сообщает IP-адрес. Он просто «рассказывает» резолверу, куда обратиться дальше. В нем хранится база данных TLD-серверов — именно они понадобятся для поиска IP. Корневой сервер сообщает резолверу, на какой TLD-сервер ему стоит подать запрос. Откуда он это знает? Смотрит на доменное имя, точнее, на то, что находится после точки.

TLD-сервер. Следующим шагом резолвер подает запрос на TLD-сервер, о котором ему сообщил корневой. TLD расшифровывается как top level domain, или домен верхнего уровня — так называют часть доменного имени после последней точки. Это, например, .ru, .com и так далее. О них тоже можно подробнее прочесть в статье про доменные имена.

Каждый TLD отвечает за конкретный домен верхнего уровня. Поэтому корневой сервер знает, на какой TLD перенаправить резолвер, — он просто оценивает доменное имя, которое ему прислали. Если там .ru, сервер отправит резолвер на TLD доменной зоны .ru, и так далее.

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

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

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

Что происходит потом

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

Весь процесс занимает от 1 до 4 запросов и всего несколько миллисекунд. Поэтому сайты открываются быстро, несмотря на то что их открытие требует задействовать так много разной инфраструктуры.

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

Что будет, если изменится доменное имя или IP

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

Курсы по теме

(рейтинг: 5, голосов: 5)
Добавить комментарий