DNS: Что это и как работает? Простое объяснение

DNS (Domain Name System) — система доменных имён, упрощающая работу в интернете. Вместо запоминания сложных IP-адресов мы используем понятные доменные имена, например, youtube.com. DNS подобен контактному списку: вы помните имя человека (доменное имя), а система находит его номер телефона (IP-адрес).

Как работает DNS?

Рассмотрим обращение к веб-сайту bikimironet.ru:

  1. Проверка кэша браузера: Компьютер проверяет кэш браузера. Если запрос к этому сайту уже был, IP-адрес известен, и запрос обрабатывается мгновенно.
  2. Запрос к DNS-резольверу: Если сайт новый, браузер отправляет запрос к DNS-резольверу — обычно серверу интернет-провайдера (ISP), но можно использовать другие, например, Google DNS или Cloudflare DNS.
  3. Поиск в кэше резольвера: Резольвер проверяет свой кэш. Если IP-адрес найден, он отправляется обратно.
  4. Запрос к корневому серверу: Если IP-адрес не найден, резольвер обращается к корневому серверу DNS — главному серверу системы. Он не содержит IP-адресов, но указывает на сервер с информацией о нужном доменном имени верхнего уровня (TLD).
  5. Запрос к TLD-серверу: TLD — часть доменного имени после последней точки (.com, .org, .ru и т.д.). Существуют общие TLD (gTLD, например, .com, .org, .net) и TLD, привязанные к странам (ccTLD, например, .ru, .us, .uk). В примере bikimironet.ru резольвер обращается к серверу ccTLD .ru.
  6. Запрос к авторитетивному серверу имен: TLD-сервер указывает на авторитетивный сервер имен, хранящий IP-адрес bikimironet.ru.
  7. Получение IP-адреса: Авторитетивный сервер возвращает IP-адрес.
  8. Кэширование: Резольвер сохраняет IP-адрес в кэше для ускорения последующих запросов.

Типы DNS-запросов

Существуют три основных типа DNS-запросов:

  • Рекурсивный: «Найди мне IP-адрес bikimironet.ru». Резольвер выполняет всю работу.
  • Итеративный: «Укажи сервер, знающий IP-адрес bikimironet.ru». Запрос передаётся последовательно между серверами.
  • Обратный (инверсный): «Какое доменное имя соответствует этому IP-адресу?».

DNS критически важен для работы интернета, позволяя использовать понятные доменные имена вместо сложных IP-адресов. Процесс поиска IP-адреса может включать несколько шагов, но благодаря кэшированию обычно происходит быстро и незаметно.

Что будем искать? Например,программа