Урок 1 из 4 · 6 мин
Что делает DNS
Почему компьютерам нужен перевод имён в номера для каждого сайта, который вы посещаете, и кто на самом деле отвечает на этот запрос.
Курс о TCP/IP рассказывает о том, как компьютеры адресуют друг друга по номерам. Никто не хочет запоминать номера, чтобы почитать новости или отправить письмо, поэтому в интернете работает перевод имён в номера, стоящий почти за всем, что вы делаете в сети: система доменных имён, или DNS. Learning Center Cloudflare называет её просто «телефонной книгой интернета».
Дерево, а не единый список
DNS была спроектирована, согласно RFC 1034, вокруг «согласованного пространства имён, используемого для указания на ресурсы», организованного как «древовидная структура», в которой «каждый узел и лист дерева соответствует набору ресурсов». На практике это дерево состоит из уровней, каждый из которых отвечает за меньшую часть имён:
- Корень, на вершине дерева, не знает адреса ни одного сайта, но знает, какие серверы отвечают за каждый домен верхнего уровня (.com, .org и так далее).
- Сервер домена верхнего уровня (TLD) тоже не знает ваш конкретный сайт, но знает, какой авторитативный сервер отвечает за этот домен.
- Авторитативный сервер хранит фактический ответ для конкретного домена: на какой IP-адрес сейчас указывает example.org.
- Резолвер (или рекурсор) — это сервер, к которому фактически обращается ваше устройство. Он проделывает работу по спуску по дереву от вашего имени, а затем на некоторое время кэширует ответ, чтобы не повторять весь путь при каждом запросе.
Learning Center Cloudflare использует для той же идеи сравнение с библиотекой: «рекурсора можно представить как библиотекаря, которого просят найти определённую книгу где-то в библиотеке», в то время как «корневой сервер — это первый шаг в переводе (разрешении) удобочитаемых для человека имён хостов в IP-адреса… он служит указателем на другие, более конкретные места».
Прослеживаем один запрос
- Ваш Mac спрашивает у настроенного резолвера — часто это ваш интернет-провайдер, Wi-Fi-роутер или публичный сервис — какой адрес стоит за именем.
- Если у резолвера ещё нет кэшированного ответа, он спрашивает у корневого сервера, к какому серверу TLD обратиться.
- Он спрашивает у этого сервера TLD, к какому авторитативному серверу обратиться.
- Он спрашивает у авторитативного сервера фактический ответ, затем возвращает этот ответ вашему устройству и сохраняет копию в кэше для других запросов.
RFC 1035 определяет точный формат сообщений для этих запросов и ответов и отмечает, что они обычно передаются по UDP или TCP через порт 53. В этом запросе по умолчанию нет ничего секретного; следующий урок рассказывает о том, кто может его увидеть и почему это важно.
dig example.com
;; ANSWER SECTION:
example.com. 233 IN A 104.20.23.154
example.com. 233 IN A 172.66.147.243Эта единственная команда — весь процесс из этого урока, происходящий примерно за десятую долю секунды: ваш резолвер прошёл по дереву (или отдал кэшированный ответ) и вернул числовой адрес, стоящий за именем.
Главное
- DNS переводит удобочитаемые имена в числовые IP-адреса, которые компьютеры фактически используют для соединения.
- RFC 1034 организует DNS как дерево: корень, затем серверы доменов верхнего уровня, затем авторитативные серверы для каждого домена.
- Резолвер (рекурсор) проходит по этому дереву от имени вашего устройства и кэширует ответ.
- RFC 1035 определяет формат запроса и ответа; запросы обычно передаются по UDP или TCP через порт 53.
- DNS-запрос не секретен по умолчанию: это обычный, читаемый трафик, если он специально не зашифрован.
Проверьте себя
1. Какова главная задача DNS?
- Шифрование веб-трафика
- Перевод доменных имён в IP-адреса, которые компьютеры используют для соединения — Верно.
- Назначение частных IP-адресов домашним устройствам
- Управление тем, какой порт использует приложение
Cloudflare описывает DNS как «телефонную книгу интернета»: она переводит доменные имена в IP-адреса.
2. В дереве DNS, описанном в RFC 1034, что фактически знает корневой сервер?
- IP-адрес каждого сайта
- Какие серверы отвечают за каждый домен верхнего уровня, а не адреса отдельных сайтов — Верно.
- Ничего; он чисто декоративный
- Только адреса, оканчивающиеся на .com
Сравнение Cloudflare: корневой сервер «служит указателем на другие, более конкретные места», направляя к серверам TLD, а не отвечая напрямую.
3. Что делает DNS-резолвер (рекурсор)?
- Хранит файлы каждого сайта
- Проходит по дереву DNS от имени вашего устройства и кэширует найденный ответ — Верно.
- Занимается только электронной почтой
- Полностью устраняет необходимость в IP-адресах
Cloudflare сравнивает рекурсора с библиотекарем, который идёт и находит ответ, а затем резолвер кэширует его, чтобы будущие запросы были быстрее.
4. Зашифрован ли обычный DNS-запрос по умолчанию?
- Да, всегда
- Нет, это обычный, читаемый трафик, если он специально не зашифрован — Верно.
- Только для доменов .com
- Только через Wi-Fi
RFC 1035 определяет формат сообщений DNS без встроенного шифрования; для шифрования DNS нужен отдельный механизм, о котором рассказывает следующий урок.
Примените на практике в FireAI
Примените этот урок на своём Mac.
- Глубокая проверка без расшифровки чего-либо — Получайте реальные подробности о защищённом соединении, при этом FireAI никогда не читает то, что внутри него.
- Списки угроз (по желанию) — Сверяйте свой трафик с открытыми данными об угрозах, никуда его не отправляя.
- Заблокируйте приложению доступ в интернет — целиком или только к одной компании или домену — Отрежьте именно то, что нужно, — всё приложение целиком или только одну компанию, с которой оно связывается.
Источники
- RFC 1034: Domain Names – Concepts and Facilities
- RFC 1035: Domain Names – Implementation and Specification
- Cloudflare Learning: What is DNS?
Примените это на своём Mac
Все функции бесплатно на 17 дней, без банковской карты.