DHCP и DNS — незаметные помощники
Два служебных протокола, без которых ничего не заработает: один выдаёт устройству адрес, другой превращает имена сайтов в адреса.
- как устройство получает сетевые настройки при подключении;
- как имя сайта превращается в IP-адрес и кто в этом участвует;
- какие бывают DNS-записи и как защитить запросы от посторонних глаз.
6.1DHCP: автоматическая выдача адреса
Когда вы подключаетесь к Wi-Fi, вам не приходится вводить IP-адрес вручную. За вас это делает DHCP (Dynamic Host Configuration Protocol). Обмен состоит из четырёх сообщений, которые легко запомнить по первым буквам — DORA:
Вместе с адресом устройство получает всё остальное, что нужно для работы: маску сети, адрес шлюза по умолчанию и адреса DNS-серверов. Адрес выдаётся в аренду на ограниченный срок, и устройство периодически её продлевает.
DHCP работает поверх UDP (порты 67 у сервера и 68 у клиента). Первые сообщения рассылаются всем в локальной сети сразу, ведь у устройства ещё нет ни собственного адреса, ни адреса сервера. Дома роль сервера DHCP выполняет роутер.
6.2DNS: телефонная книга интернета
Людям удобны имена, сетям — числа. DNS (Domain Name System) переводит одно в другое: вы вводите example.com, а компьютер узнаёт, что это 203.0.113.10.
Имена устроены иерархически и читаются справа налево. В имени www.example.com часть com — домен верхнего уровня, example — домен второго уровня, www — имя внутри него. За каждый уровень отвечают свои серверы, и единой базы «всех имён» не существует — она распределена по всему миру.
Искать ответ по этой иерархии умеет специальный сервер —резолвер. Обычно это сервер вашего провайдера или публичный сервис. Вот как он узнаёт адрес, если в его памяти ответа ещё нет:
1.Ваше устройство спрашивает резолвер: «Какой адрес у www.example.com?»
2.Резолвер обращается к корневому серверу. Тот адреса не знает, но подсказывает, кто отвечает
за зону com.
3.Резолвер спрашивает сервер зоны com. Тот подсказывает, какие серверы отвечают за
example.com.
4.Резолвер спрашивает авторитетный сервер домена example.com и получает окончательный
ответ.
5.Резолвер возвращает адрес вашему устройству и запоминает его на будущее.
Вы звоните в справочную и просите телефон мастерской. Оператор не знает его сам: он звонит в городскую справочную, та отсылает его в районную, а районная уже диктует номер. Вам не нужно знать всю эту цепочку — вы получаете готовый ответ.
6.3Типы DNS-записей
В DNS хранятся не только адреса сайтов. Каждая запись имеет тип, который определяет её смысл:
| Тип | Что хранит | Пример использования |
|---|---|---|
| A | Адрес IPv4 для имени | Открыть сайт по имени |
| AAAA | Адрес IPv6 для имени | То же самое, но для IPv6 |
| CNAME | Псевдоним: «это имя — то же, что вон то» | Направить www на основной домен или на сервис хостинга |
| MX | Почтовый сервер домена и его приоритет | Куда доставлять письма для адресов @example.com |
| NS | Серверы, отвечающие за зону | Передать управление доменом DNS-хостингу |
| TXT | Произвольный текст | Подтверждение владения доменом, правила защиты почты |
| PTR | Обратная запись: имя по IP-адресу | Проверка почтовых серверов |
| SRV | Адрес и порт конкретной службы | Телефония, корпоративные сервисы |
| HTTPS | Подсказки для подключения к сайту | Сообщить браузеру, что сайт поддерживает HTTP/3 |
| CAA | Кто вправе выпускать сертификаты для домена | Защита от выпуска сертификата посторонним центром |
6.4Кеширование и TTL
Проходить всю цепочку при каждом запросе было бы слишком медленно, поэтому ответы запоминаются —кешируются — сразу в нескольких местах: в браузере, в операционной системе, на роутере и на резолвере.
У каждой записи есть TTL — срок в секундах, в течение которого ответ можно хранить. Это то же сокращение, что и у поля в заголовке IP, но смысл другой: там — число хопов, здесь — время.
Отсюда знакомый эффект: владелец сайта сменил адрес сервера, а часть посетителей ещё какое-то время попадает на старый — в кешах хранится прежний ответ. Обновление занимает от нескольких минут до суток, в зависимости от TTL записи.
По умолчанию DNS использует UDP, порт 53: вопрос и ответ помещаются в одну датаграмму. Если ответ слишком велик, запрос повторяется по TCP на том же порту.
6.5Приватность и защита DNS
Классический DNS передаёт запросы открытым текстом. Даже если сам сайт защищён HTTPS, имя, которое вы запросили, видно провайдеру и владельцу Wi-Fi. К тому же ответ можно подделать и направить вас на чужой сервер. Эти проблемы решают несколько расширений:
| Технология | Порт | Что делает |
|---|---|---|
| DoT (DNS over TLS) | 853, TCP | Шифрует запросы между устройством и резолвером. |
| DoH (DNS over HTTPS) | 443, TCP | Прячет запросы внутри обычного HTTPS — со стороны они неотличимы от посещения сайта. Встроен в современные браузеры. |
| DoQ (DNS over QUIC) | 853, UDP | То же шифрование, но на более быстром транспорте QUIC. |
| DNSSEC | — | Не шифрует, а подписывает ответы: резолвер может проверить, что запись не подменили по дороге. |
- Шифрованный DNS скрывает запросы от провайдера, но не от самого резолвера: он по- прежнему видит, какие имена вы спрашиваете. Вы не убираете наблюдателя, а выбираете, кому доверять.