Система доменных имён (Domain Name System) — это распределённая база данных, преобразующая доменные имена в IP-адреса. Позволяет использовать читаемые человеком имена доменов вместо числовых IP-адресов.
Основные компоненты DNS:
- Резолвер (Resolver): Программное обеспечение клиента (обычно входит в ОС), выполняющее запросы к DNS-серверам.
- Корневые серверы (Root Servers): 13 групп серверов, обслуживающих корневую зону DNS. Они возвращают IP-адреса серверов доменов верхнего уровня (TLD).
- Серверы доменов верхнего уровня (TLD Servers): Отвечают за информацию о доменных именах в конкретной доменной зоне верхнего уровня (например,
.com, .org, .ru).
- Авторитативные серверы имён (Authoritative Name Servers): Серверы, содержащие окончательную информацию о ресурсах в своём домене, включая IP-адреса веб-серверов.
Процесс преобразования доменного имени (например, example.com) в IP-адрес:
- Резолвер отправляет запрос на локальный DNS-сервер (обычно предоставляется провайдером).
- Локальный DNS-сервер проверяет свой кэш. Если запись найдена, возвращает IP-адрес.
- Если записи нет в кэше, локальный сервер запрашивает IP-адрес у корневых серверов.
- Корневые серверы возвращают IP-адрес TLD-сервера для зоны
.com.
- Локальный сервер запрашивает у TLD-сервера
.com IP-адрес авторитативного сервера для домена example.com.
- TLD-сервер возвращает IP-адрес авторитативного сервера для
example.com.
- Локальный сервер запрашивает у авторитативного сервера IP-адрес для
example.com.
- Авторитативный сервер возвращает IP-адрес веб-сервера
example.com.
- Локальный сервер кэширует запись и передаёт IP-адрес резолверу клиента.
- Резолвер клиента получает IP-адрес и передаёт его приложению (например, браузеру) для установки соединения.
DNS-записи хранят различную информацию:
| Тип записи | Описание |
|---|
| A | Преобразует доменное имя в IPv4-адрес. |
| AAAA | Преобразует доменное имя в IPv6-адрес. |
| CNAME | Создаёт псевдоним для другого доменного имени. |
| MX | Указывает почтовые серверы для домена. |
| TXT | Хранит текстовую информацию. |
| NS | Указывает авторитативные серверы имён для домена. |
plaintext