🔍 КАК ЭТО УСТРОЕНО

DNS: телефонная книга интернета, о которой никто не думает

Вы набираете codechick.io, а компьютеру нужны цифры. Кто и за доли секунды превращает имя в адрес — и почему вся эта махина не падает каждую минуту.

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

Зачем вообще нужны имена

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

Поэтому придумали уровень имён. Вы помните codechick.io, а система сама выясняет, какое число за этим стоит прямо сейчас. Это и есть задача DNS — Domain Name System, системы доменных имён. Удобную метафору придумали давно: это телефонная книга интернета. Вы знаете имя человека, а книга подсказывает номер.

Что происходит за доли секунды

Когда вы вводите адрес, ваш компьютер не звонит сразу «куда надо». Он спрашивает у специального помощника — рекурсивного резолвера (обычно это сервер вашего провайдера или публичный, вроде 8.8.8.8). Резолвер берёт на себя всю беготню.

Путь запроса по шагам

  1. Резолвер спрашивает у корневого сервера: «кто отвечает за зону .io
  2. Корневой отвечает: «вот серверы зоны .io, спроси у них».
  3. Резолвер идёт к серверам .io: «а кто знает про codechick.io
  4. Те отвечают: «вот авторитетный сервер этого домена».
  5. Наконец, авторитетный сервер выдаёт сам адрес: «codechick.io — это такое-то число».

Звучит как цепочка из четырёх звонков. На деле всё укладывается в десятки миллисекунд, и вы ничего не замечаете.

Почему это не падает каждую секунду

Если бы корневые серверы отвечали на каждый запрос каждого человека на планете, они бы захлебнулись. Спасает кеширование. Каждый ответ помечен временем жизни — TTL (time to live). Пока оно не истекло, резолвер хранит результат у себя и не дёргает серверы заново.

Поэтому второй заход на тот же сайт почти мгновенен: адрес уже в памяти. Браузер, операционная система и резолвер — у каждого свой маленький кеш. Эти слои гасят основную массу запросов ещё до того, как они уйдут далеко.

Иерархия, а не один большой список

Главная хитрость DNS — она не один гигантский файл. Это дерево ответственности. Корень знает только про зоны верхнего уровня (.com, .io, .ru). Те знают про свои домены. Домены знают про свои поддомены. Никто не держит всю карту целиком — и именно поэтому система масштабируется на весь мир и переживает выход из строя отдельных узлов: корневых серверов физически много копий по планете.

УровеньЧто знает
Корневые серверыГде искать зоны .com, .io, .ru
Серверы зоны (TLD)Где искать конкретные домены внутри зоны
Авторитетный серверТочные адреса домена и его поддоменов

Когда DNS ломается

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

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

#dns#домены#интернет#как это работает#сети