DNS: как имена превращаются в адреса
13 корневых серверов имён обслуживают 12 организаций с помощью 2047 машин по всему миру (root-servers.org, 17 октября 2026 г.).
Теперь этот файл никто не скачивает. Ты набираешь example.com, а не 198.51.100.20, и имя ищут в тот момент, когда оно нужно. Но маршрутизаторы по-прежнему понимают только числа, поэтому прежде чем браузер отправит сайту хотя бы один пакет, имя должно превратиться в адрес. Этим занимается система доменных имён (DNS), и руководство Cloudflare называет её телефонной книгой интернета.
Имя является путём вниз по дереву
Читай www.example.com справа налево. Наверху корень, который записывают невидимой точкой. Под ним домены верхнего уровня (TLD), например com, org и kr. Под com стоит example, а под ним www. Каждая часть называется меткой; RFC 1035 допускает до 63 байт на метку и 255 байт на всё имя. Разными ветвями дерева управляют разные организации, поэтому ни одному компьютеру не нужно знать все имена. Именно это и не получилось с HOSTS.TXT, где один файл на каждой машине пытался вместить их все.
Четыре сервера, восемь шагов
Cloudflare называет четыре вида серверов, участвующих в поиске. Рекурсивный резолвер, которым обычно управляет твой провайдер или публичная служба DNS, делает всю беготню за тебя. Корневой сервер знает, где серверы TLD. Сервер TLD, например сервер com, знает, какие серверы хранят каждый домен под ним. Авторитетный сервер домена хранит его настоящие записи и даёт окончательный ответ. Если ничего не закэшировано, поиск занимает восемь шагов. Твой компьютер спрашивает резолвер. Резолвер спрашивает корень, и тот направляет его к com. Он спрашивает com, и тот направляет его к серверам имён домена. Он спрашивает их, они отвечают адресом, и резолвер передаёт адрес тебе.
Перетащи, чтобы повернуть. Колёсико или щипок для масштаба.
Почему второй поиск мгновенный
Если бы каждый поиск занимал восемь шагов, DNS работала бы медленно, а корневые серверы утонули бы в вопросах. Поэтому ответы сохраняют. Их кэшируют браузер, операционная система и резолвер. У каждой записи есть время жизни в секундах, которое задаёт владелец домена. TTL 3600 означает «можно пользоваться этим ответом час». Короткий TTL позволяет владельцу быстро перенести сайт, длинный экономит поиски. Корневые серверы тоже разнесены: 13 именованных корневых серверов, от a до m, 17 октября 2026 г. работали как 2047 отдельных экземпляров.
Два вида вопросов, один порт
В одном поиске смешаны два вида вопросов. Твой компьютер отправляет резолверу рекурсивный запрос, который означает «дай мне окончательный ответ или ошибку». Резолвер затем отправляет итеративные запросы корневому серверу, серверу TLD и авторитетному серверу, и каждый отвечает лучшим, что у него есть, часто лишь указателем на следующий сервер. Сообщения DNS идут на порт 53, обычно по UDP, потому что вопрос и ответ помещаются каждый в один пакет. Большие ответы и передачи между серверами используют TCP, и RFC 7766 делает его обязательной частью любой полной реализации DNS. Можешь попробовать сам. На большинстве компьютеров команда nslookup example.com выводит резолвер, которым она воспользовалась, и полученные адреса.
Записи хранят не только адреса
| Запись | Что хранит | Пример |
|---|---|---|
| A | Адрес IPv4 | www.example.com → 198.51.100.20 |
| AAAA | Адрес IPv6 (RFC 3596) | www.example.com → 2001:db8::20 |
| CNAME | Другое имя, которое нужно искать вместо этого | shop.example.com → example.com |
| MX | Почтовый сервер домена | example.com → mail.example.com |
| NS | Авторитетные серверы имён | example.com → ns1.example.com |
- Поиск www.example.com без кэша: каких серверов и в каком порядке спрашивает резолвер?
- Какой сервер даёт окончательный ответ для www.example.com?
- Авторитетный сервер example.com
- Корневой сервер
- Сервер TLD com
- Веб-сервер
- Сколько шагов занимает поиск без кэша в описании Cloudflare?
- Какая запись хранит адрес IPv6?
- AAAA
- A
- MX
- CNAME
- У записи TTL 3600. Сколько минут кэш может ею пользоваться?
- Какой наибольшей длины может быть одна метка (например, example) по RFC 1035?
- Сколько существует именованных корневых серверов?
- Ты искал имя 10 секунд назад, а кэш браузера хранит его 60 секунд. Сколько сообщений DNS покинут компьютер, если поискать снова сейчас?
- Для чего нужна запись MX?
- Чтобы указать почтовый сервер домена
- Чтобы хранить веб-страницу
- Чтобы хранить адрес IPv6
- Чтобы задавать TTL других записей
- Что заменила DNS?
- Один файл HOSTS.TXT, скопированный на каждый компьютер
- Телефонную сеть
- IP-адреса
- Маршрутизаторы
- «DNS хранит веб-страницы.» DNS отвечает только записями: адресами, почтовыми серверами и другими именами. Сама страница приходит с веб-сервера по адресу, который вернула DNS.
- «Когда сайт меняет адрес, все сразу видят новый.» Браузеры, операционные системы и резолверы держат старый ответ, пока не истечёт его TTL. При TTL 3600 некоторых посетителей ещё до часа могут отправлять на старый адрес.
- «Корневых серверов ровно 13 компьютеров.» Есть 13 имён, от a до m, которые обслуживают 12 организаций. 17 октября 2026 г. они отвечали с 2047 экземпляров по всему миру.
- «Мой компьютер сам спрашивает корневой сервер.» Твой компьютер один раз спрашивает рекурсивный резолвер. Резолвер проходит от корня к серверу TLD и к авторитетному серверу и возвращает только результат.
- DNS превращает имена в адреса; имена читают справа налево вниз по дереву.
- Рекурсивный резолвер → корень → TLD → авторитетный: восемь шагов, если ничего не закэшировано.
- Ответы кэшируются в браузере, ОС и резолвере на время TTL записи (в секундах).
- A = IPv4, AAAA = IPv6, CNAME = псевдоним, MX = почта, NS = серверы имён.
Источники курса (28)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
- IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
- RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
- RFC 792 ICMP (Time Exceeded)
- RFC 801 NCP/TCP transition plan (1 January 1983)
- RFC 894 Ethernet (1500-byte payload)
- RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
- RFC 1122 (127.0.0.0/8 loopback)
- RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
- RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
- RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
- RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
- RFC 8446 TLS 1.3 (one round-trip handshake)
- RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
- RFC 9293 TCP (three-way handshake, sequence numbers)
- IANA: ip-parameters registry (recommended default TTL 64)
- IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
- Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
- "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
- Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
- "What is HTTP/3?" (cloudflare.com/learning)
- Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
- Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
- Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
- History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
- historyofinformation.com and Wikipedia ARPANET (Kline)
- Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
- Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)
Проверено: 2026-10-17