Что такое ДНС? Введение в систему доменных имен

Опубликовано: 2022-04-11

Когда вы сидите за компьютером, интернет кажется простым. Вы открываете браузер, вводите доменное имя и видите веб-сайт на своем экране. Однако под графическим пользовательским интерфейсом (GUI) скрывается обширная сеть программного обеспечения и серверов, известная как система доменных имен (DNS). Однако что такое DNS и как он помогает нам просматривать веб-страницы на наших устройствах?

Ответ на этот вопрос сложен из-за огромного количества задействованных движущихся частей. Вы обнаружите, что почти каждое звено в цепочке использует сервер. Более того, существуют методы, которые помогут вам устранить узкие места, которые могут снизить скорость загрузки страниц.

В этом посте мы собираемся помочь вам понять DNS самым простым способом. Подведем итоги, о чем пойдет речь в этой статье.

Оглавление

  • Как Интернет передает веб-страницу с сервера в ваш браузер
    • 4 DNS-сервера, которые извлекают и загружают веб-страницы
  • Разница между DNS-рекурсором и авторитетным сервером имен
  • Как работает поиск DNS
    • Запросы, которые вы найдете при поиске DNS
  • Учебник по кэшированию DNS
  • Внесение изменений в записи DNS: «Распространение»
  • Вывод

Как Интернет передает веб-страницу с сервера в ваш браузер

Подводя итог, можно сказать, что DNS — это способ преобразования удобочитаемого доменного имени в результирующий адрес интернет-протокола (IP), который оно представляет. Хотя на первый взгляд это кажется простой задачей, это далеко не так.

Каждый веб-сайт находится на сервере, и каждый сервер (и компьютер, по сути) имеет IP-адрес. DNS — это система, которая сопоставляет IP-адреса с доменными именами, поэтому мы можем наслаждаться удобным просмотром. В качестве аналогии подумайте о том, что название улицы и адрес дома на самом деле представляют собой набор координат на карте. Мы используем адреса улиц, чтобы упростить долготу и широту местоположения.

Экран карты с указанием физического адреса, широты и долготы.

Когда вы конвертируете IP-адрес в доменное имя (и наоборот), это «разрешение DNS». В этой цепочке есть несколько аппаратных компонентов, в частности четыре разных типа серверов. Давайте обсудим это далее.

4 DNS-сервера, которые извлекают и загружают веб-страницы

Каждый DNS-запрос и разрешение проходят через четыре сервера. Вот они, вкратце:

  • DNS-рекурсор. Это «водоносец» для всей DNS. Когда вы запрашиваете веб-сайт из своего браузера, вы говорите рекурсору пойти и найти (или «поискать») сайт в DNS.
  • Корневой сервер имен. Если вы рассматриваете веб-сервер, содержащий множество сайтов, корневой сервер имен представляет собой целое. Это общее расположение IP-адреса.
  • Сервер имен доменов верхнего уровня (TLD). Веб-сайт будет жить на корневом сервере имен, но сервер имен TLD выкопает последнюю часть IP-адреса: конечную часть имени хоста. Это может быть .com, .net или множество других.
  • Авторитетный сервер имен. Чтобы сделать этот сложный сервер простым, это справочная библиотека для IP-адреса. Этот сервер отправит полный IP-адрес рекурсору, который, в свою очередь, отобразит сайт в вашем браузере.

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

Тем не менее, стоит покопаться в передней и задней части этой цепочки более подробно. Давайте сделаем это дальше.

Разница между DNS-рекурсором и авторитетным сервером имен

Вы поймете, что рекурсор извлекает результат запроса и является началом всего процесса DNS. В свою очередь, вы также будете знать, что авторитетный сервер имен передает результат этого процесса обратно рекурсору. Однако у обоих есть больше различий, которые вам нужно знать:

  • DNS-рекурсор. Этот сервер отвечает на запрос запроса DNS. Он активен тем, что отслеживает запись DNS по цепочке. Хотя типичным подходом для рекурсора является выполнение нескольких запросов к другим серверам, кэширование может сократить это время. Мы поговорим об этом позже.
  • Авторитетный сервер имен. Этот сервер содержит все записи DNS. Его работа состоит в том, чтобы отвечать на запрос на основе информации, которую он получает от других серверов в цепочке, включая рекурсор. Именно этот сервер позволяет браузеру отображать веб-сайт. Поскольку он является авторитетным, ему не нужно обращаться к другим источникам для подтверждения запроса — это источник истины.

Однако хотя полномочный сервер имен является конечной точкой для DNS-запроса, так будет не всегда. Вы также найдете дополнительные серверы имен после этого момента в зависимости от запроса.

Если DNS-запрос относится к поддомену (например, shop.example.com), вы обнаружите, что после авторитетного сервера имен будет дополнительный. Это сохраняет запись CNAME для рассматриваемого поддомена.

Запись CNAME в регистраторе.

Теоретически количество дополнительных серверов имен, запрашиваемых запросом, не ограничено. Однако в большинстве случаев будет только один дополнительный сервер имен.

Как работает поиск DNS

Хотя есть четыре сервера, которые обрабатывают поиск и запрос DNS, в цепочке есть много шагов, которые передают запрос и извлекают результаты. Вот как работает процесс поиска:

  • Вы наберете доменное имя в своем браузере. Как только вы нажмете Enter , запрос из вашего браузера и операционной системы (ОС) будет направлен в Интернет, где его получит рекурсор DNS.
  • Рекурсор передает этот запрос на корневой сервер имен и выполняет свой собственный запрос.
  • Результатом этого запроса будет сервер имен TLD, который возвращается рекурсору.
  • На этот раз рекурсор запрашивает сервер имен TLD, который отвечает IP-адресом авторитетного сервера имен домена.
  • Рекурсор отправляет другой запрос полномочному серверу имен, который, в свою очередь, отвечает IP-адресом для первоначального запроса домена.

Отсюда рекурсор отправляет результат своей работы обратно в веб-браузер. На этом процесс DNS завершается, и рекурсор может отдохнуть несколько миллисекунд! Затем браузер обработает HTTP-запрос, чтобы отобразить сайт в браузере.

Существует множество сложных и трудоемких шагов (относительно того, чего может достичь сервер), и это происходит миллиарды раз в секунду по всему миру. Несмотря на это, в ходе поиска выполняется только три запроса.

Запросы, которые вы найдете при поиске DNS

В каждом из этих запросов существует связь между DNS-клиентом и сервером. Хотя это общие термины, мы отметим любые особенности в наших объяснениях:

  • Рекурсивный запрос. В этом запросе клиент потребует, чтобы рекурсор DNS ответил либо запрошенной записью DNS, либо сообщением об ошибке.
  • Итеративный запрос. Этот запрос дает рекурсору бесплатную лицензию на то, чтобы сделать «наилучшее предположение» о том, что он возвращает. Если для запроса нет соответствия, результатом будет обращение к полномочному серверу более низкого уровня, пока этот «путь» не будет исчерпан.
  • Нерекурсивный запрос. Вы обнаружите, что этот запрос будет возникать, если запись DNS существует в кеше или рекурсор имеет полномочный доступ к записи. Мы поговорим о кэшировании ближе к концу статьи.

Во многих случаях вы обнаружите, что рекурсивные и нерекурсивные запросы являются наиболее распространенными. Вот почему вы увидите сообщения об ошибках и почему процесс поиска может быть сложным.

Учебник по кэшированию DNS

Когда вы имеете дело с нерекурсивным запросом, запись может находиться в выделенном кеше для записей DNS. Если вы знаете о кэшировании, вы поймете, что оно будет содержать файлы, к которым вы регулярно обращаетесь. Это могут делать локальные приложения, но лучшим примером является кеш вашего сайта:

Плагин W3 Total Cache в панели управления WordPress.

Это позволит хранить записи для файлов вашего сайта, чтобы вы могли снизить количество HTTP-запросов. То же самое возможно и для записей DNS. Это сохраняет соответствующие записи ближе к местоположению вашего компьютера, так что вы можете получить IP-адрес быстрее, чем обычно.

Для веб-разработчиков GET — это то, что выдает браузер. При использовании кеша рекурсор отключает другие серверы в цепочке и либо идет прямо к полномочному серверу имен, либо вызывает его без необходимости дальнейших запросов. Это самый типичный нерекурсивный запрос, который вы можете сделать.

На самом деле вы найдете кэши DNS в нескольких технологиях, таких как ваш интернет-провайдер (ISP), ваш маршрутизатор и ваш локальный компьютер.

Браузер Brave показывает количество кешированных файлов в памяти.

Вы обнаружите, что кэш вашего браузера является первым портом захода для рекурсора, ищущего запись DNS, и поэтому браузеры часто кэшируют записи в качестве настройки по умолчанию. Ваша ОС также будет иметь преобразователь DNS, и он также проверяет свой кеш на наличие записи DNS.

Опять же, если ОС не содержит запись в своем кеше, она отправит запрос на рекурсор вашего интернет-провайдера для обработки. Оба этих рекурсора будут работать с записями A и NS вашего домена, чтобы попытаться разрешить запрос до того, как будет выполнен полный процесс поиска.

Внесение изменений в записи DNS: «Распространение»

Говоря об этом, вы можете вносить изменения в свои записи A , NS или CNAME у своего регистратора. Во многих случаях это займет до 72 часов, прежде чем все эти изменения будут зарегистрированы.

Это распространение DNS, и время, необходимое для завершения, зависит от ряда факторов, а именно от значения времени жизни (TTL) для связанной записи:

Записи регистратора, показывающие значения TTL в секундах.

Короче говоря, это определяет, как быстро изменение вступит в силу для конкретной записи DNS. Типичный TTL составляет около четырех часов, и чем выше значение, тем больше времени займет это распространение.

Регистратор часто устанавливает TTL для ваших серверов имен, и поэтому вы или кто-либо другой не сможете вносить изменения. Вот почему вам часто приходится ждать завершения распространения и почему вы будете постоянно проверять сайт, такой как What's My DNS? чтобы оценить его прогресс:

Что такое мой DNS? интернет сайт.

Решение состоит в том, чтобы установить максимально возможное значение TTL, прежде чем вы решите изменить свои записи DNS. Конечно, регистратор будет нести ответственность за ваши серверы имен, но вы сделаете все возможное, чтобы сократить время распространения.

Вывод

Если вы думаете, что доступ к веб-странице прост, подумайте еще раз. Для конечного пользователя процесс по своей сути прост. Однако внутри все гораздо сложнее и включает в себя множество дополнительных серверов.

В этом посте мы рассмотрели DNS — способ, которым Интернет берет доменное имя и преобразует его в IP-адрес. Оттуда он может вернуться в браузер и отображаться как веб-страница. Однако вы обнаружите, что также происходит множество других процессов, таких как распространение и кэширование. В совокупности они дают нам быстрый и (в основном) беспроблемный просмотр.

Как вы думаете, отвечает ли эта статья на вопрос: «Что такое DNS?», а если нет, есть ли у вас дополнительные вопросы? Если это так, спросите в разделе комментариев ниже!