DNS: превращаем имена в адреса
Как example.org становится 93.184.216.34, почему первый запрос медленный и при чём тут TTL во время деплоя.
Машины маршрутизируют по IP-адресам, люди запоминают имена. DNS — слой перевода между ними: распределённая база данных без единого хозяина, где владелец каждого домена публикует свои записи сам.
Всей карты не знает никто. Рекурсивный резолвер идёт по иерархии: корневой сервер говорит «не знаю, спроси .org», сервер .org говорит «спроси ns1.example.org», и только авторитетный сервер домена возвращает IP. Этот ответ дальше кэшируется.
Полный обход иерархии был бы слишком медленным, чтобы повторять его на каждый запрос, поэтому ответ кэшируется на каждом уровне: браузер, операционная система, резолвер. Первый запрос имени занимает миллисекунды, следующие — практически бесплатны.
Практика
Расставь шаги резолвинга имени, которого ещё нет ни в одном кэше.
Подсказки
- Сначала проверяется то, что уже лежит под рукой.
- Корневой сервер ответа не знает — он только указывает, куда идти дальше.
15 XP
Ты перевёл сайт на новый сервер, но часть пользователей через сутки всё ещё попадает на старый. В чём причина?
Подсказки
- Резолвер кэширует ответ ровно столько, сколько разрешил владелец домена.
- У браузера свой кэш, и он часто переживает переключение.
12 XP
Собери цепочку, по которой резолвер находит адрес за именем example.org.
Подсказки
- Имя читается справа налево: сначала зона верхнего уровня, потом домен, потом хост.
- Владелец домена регистрирует NS-запись, где указан его авторитетный сервер.
15 XP