Путешествие DNS-запроса

Представь, что ты хочешь позвонить другу, но вместо того чтобы выбрать его имя в контактах, тебе нужно каждый раз по памяти вводить номер телефона. Звучит как кошмар. Именно эту проблему решает DNS.

DNS (Domain Name System) — это система, которая переводит человекопонятные доменные имена в числовые IP-адреса, понятные компьютерам. Когда ты вводишь google.com, DNS переводит это в 142.250.185.14. По сути, это гигантская телефонная книга интернета.

DNS обрабатывает триллионы запросов каждый день. Если бы DNS упал, интернет в привычном виде остановился бы — нам пришлось бы заучивать наизусть IP-адреса всех нужных сайтов.

Путешествие запроса: от браузера до сервера

Давай проследим путь, который проходит запрос, когда ты вводишь www.example.com в браузер.

  1. Шаг 1: Ввод домена. Ты вводишь www.example.com и нажимаешь Enter.
  2. Шаг 2: Проверка кэша браузера. Браузер не спешит лезть в сеть — он проверяет свой собственный кэш. Возможно, ты уже заходил на этот сайт 5 минут назад.
  3. Шаг 3: Операционная система. Если в кэше браузера пусто, запрос падает в ОС (Windows/macOS). У неё есть свой локальный DNS-кэш.
  4. Шаг 4: DNS-резолвер (Resolver). Если и ОС ничего не знает, она отправляет запрос наружу — к DNS-резолверу. Обычно это сервер твоего интернет-провайдера или публичные DNS (8.8.8.8 от Google или 1.1.1.1 от Cloudflare). Именно резолвер берет на себя работу по поиску IP-адреса в иерархии интернета.

Каждая DNS-запись имеет TTL (Time To Live) — время жизни. Это как срок годности: через определенное время кэш считается протухшим, и резолверу придется искать IP-адрес заново.