Как работает DNS?
- Что происходит, когда браузер ищет IP-адрес домена?
- Что такое TTL у DNS-записи?
- Какие бывают DNS-записи?
DNS — распределённая иерархическая база «имя → адрес». Рекурсивный резолвер спрашивает по цепочке: корневые серверы → серверы зоны .ru → авторитетный сервер домена.
- Ответы кэшируются везде — в браузере, ОС, резолвере — на время TTL
- Записи: A/AAAA — адрес, CNAME — псевдоним, MX — почта, TXT — проверки, NS — кто отвечает за зону
- Обычно UDP порт 53; DoH/DoT — DNS поверх HTTPS/TLS
А ещё TTL решает, как быстро разойдётся смена адреса — перед переездом его снижают
Подробно
Иерархия. Имя api.shop.ru. читается справа налево: корень ., зона верхнего уровня ru, зона shop.ru, имя api. За каждую зону отвечают свои авторитетные серверы, и родитель знает, кому делегирована дочерняя зона (записи NS).
Разрешение имени:
- приложение спрашивает ОС (
getaddrinfo), та смотрит свой кэш и/etc/hosts; - запрос уходит рекурсивному резолверу — провайдера, компании или публичному (1.1.1.1, 8.8.8.8, 77.88.8.8);
- если ответа нет в кэше, резолвер идёт итеративно: корневой сервер говорит «за .ru отвечают эти», сервер .ru — «за shop.ru — эти», авторитетный сервер shop.ru даёт адрес;
- ответ кэшируется на время TTL из записи и возвращается клиенту.
Типы записей: A — IPv4, AAAA — IPv6, CNAME — имя-псевдоним (нельзя на корне домена), MX — почтовые серверы, TXT — проверка владения, SPF и DKIM для почты, NS — делегирование, SRV — сервисы с портами, CAA — кто может выпускать сертификаты.
TTL и переезды. Пока не истёк TTL, клиенты используют старый адрес. Поэтому перед сменой адреса TTL заранее уменьшают (скажем, с суток до минуты), а после переезда возвращают. Некоторые клиенты кэшируют дольше TTL — JVM исторически кэшировала навсегда при менеджере безопасности; настройка networkaddress.cache.ttl.
DNS как инструмент: простая балансировка — несколько A-записей (round-robin), географическая — разные ответы по региону клиента (GeoDNS), переключение при отказе. Ограничение — кэширование: быстро увести трафик только DNS-ом нельзя.
Сбои. DNS — частая причина «всё сломалось»: истёк домен, ошибка в зоне, недоступен резолвер, исчерпан лимит запросов. В Kubernetes ndots:5 заставляет пробовать несколько суффиксов на каждое имя — лишние запросы и задержка.
Пример
$ dig +trace api.shop.ru
. 518400 IN NS a.root-servers.net.
ru. 172800 IN NS a.dns.ripn.net.
shop.ru. 345600 IN NS ns1.shop-hosting.ru.
api.shop.ru. 300 IN A 93.184.216.34 # TTL 5 минутЧто хотят услышать
- Иерархия зон и роль рекурсивного резолвера.
- Цепочка запросов: корень → TLD → авторитетный.
- Кэширование и TTL, практический смысл при смене адреса.
- Основные типы записей.
Частые ошибки
- Считать, что браузер сам ходит к корневым серверам.
- Ожидать, что смена A-записи сразу видна всем.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Резолвер спрашивает корень → зону → авторитетный сервер и кэширует на TTL
- ✗Браузер спрашивает центральный DNS-сервер, который хранит все домены мира
- ✗Ответы DNS не кэшируются, каждый запрос идёт до авторитетного сервера
- ✗MX-запись хранит IPv6-адрес сайта, A — почтовый сервер
Что спросят дальше
Разбор темы
- Как работает интернет — от адреса в браузере до ответа
Что происходит после нажатия Enter, слои сети и стек TCP/IP, TCP и UDP, как работает DNS и как проверять записи.
Связанные вопросы
- Чем TCP отличается от UDP? Junior
- Что делает CDN? Middle
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.