SkillGridИзучай computer science на практике

DNS: превращаем имена в адреса

Как example.org становится 93.184.216.34, почему первый запрос медленный и при чём тут TTL во время деплоя.

13 мин · 42 XP

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

Всей карты не знает никто. Рекурсивный резолвер идёт по иерархии: корневой сервер говорит «не знаю, спроси .org», сервер .org говорит «спроси ns1.example.org», и только авторитетный сервер домена возвращает IP. Этот ответ дальше кэшируется.

Твой компьютерРекурсивный резолверКорневой серверСервер .orgАвторитетный сервергде example.org?где example.org?не знаю, спроси .orgгде example.org?не знаю, спроси ns1.example.orgгде example.org?93.184.216.3493.184.216.34

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

Практика

  1. Расставь шаги резолвинга имени, которого ещё нет ни в одном кэше.

    Подсказки
    • Сначала проверяется то, что уже лежит под рукой.
    • Корневой сервер ответа не знает — он только указывает, куда идти дальше.

    15 XP

  2. Ты перевёл сайт на новый сервер, но часть пользователей через сутки всё ещё попадает на старый. В чём причина?

    Подсказки
    • Резолвер кэширует ответ ровно столько, сколько разрешил владелец домена.
    • У браузера свой кэш, и он часто переживает переключение.

    12 XP

  3. Собери цепочку, по которой резолвер находит адрес за именем example.org.

    Подсказки
    • Имя читается справа налево: сначала зона верхнего уровня, потом домен, потом хост.
    • Владелец домена регистрирует NS-запись, где указан его авторитетный сервер.

    15 XP