DNS — это Domain Name System, система доменных имен. Это система, которая связывает между собой доменное имя сайта, то есть его название, и IP-адрес — он нужен для «общения» компьютеров по сети. Благодаря ДНС-серверу вам не нужно знать IP-адрес сайта, чтобы попасть на него.
Что такое DNS?
Система состоит из множества серверов на разных уровнях: от вашего провайдера интернета до глобальных машин, которых всего несколько в мире. По сути, DNS — это огромная база адресов, соответствий, которая отвечает на запросы и «рассказывает» устройству, как добраться до сайта с тем или иным доменом.
Подключенный к интернету компьютер пользуется DNS всякий раз, когда вы переходите на какой-то сайт, если вы там еще не были. Без нормальной работы DNS невозможен доступ к сети.
DNS-сервер — что это такое
DNS-cервер — это такой специальный сервер или совокупность компьютеров, на которых хранятся и кэшируется записи с информацией о IP-адресах сайтов. Также там хранятся данные о ресурсных записях. Каждый адрес привязан к своему конкретному домену.
Где находятся DNS-серверы
Серверы бываю корневые и их копии. Корневых ДНС-серверов всего 13. Они так называются потому что в них содержится информация обо всех адресах и сайтах интернета. Для надежности и безопасности есть их копии — 110 штук. Итого общее количество серверов DNS — 123.
Находятся они в разных странах по всей Земле, в зависимости от нагрузки:
- 40 — в Северной Америке;
- 6 — в Южной Америке;
- 35 — в Европе;
- 3 — в Африке;
- 39 — в остальных странах.
В России находится пять копий:
- Москва;
- Санкт-Петербург;
- Новосибирск;
- Екатеринбург;
- Ростов-на-Дону.
Для чего нужен 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. Устройств в системе много, поэтому обновление на сервере адресов может занять сутки-трое. На протяжении этого времени сайт может быть недоступен, поэтому при обновлении и переезде на новый домен владельцы ресурсов обычно настраивают перенаправление сами.
0 комментариев