Система доменных имен (DNS) - это распределенный каталог, который преобразует понятные человеку имена хостов, такие как www. google .com, в машиночитаемые IP-адреса, такие как 50.16.85.103. DNS также является каталогом важной информации о доменных именах, таких как почтовые серверы (записи MX) и проверка отправки (DKIM, SPF, DMARC), проверка записи TXT о владении доменом и даже отпечатки пальцев SSH (SSHFP).
Интеллектуальные службы DNS могут манипулировать ответами DNS, решая, какие IP-адреса возвращаются, чтобы обеспечить наилучшую производительность и надежность для клиентов. Но почему важен DNS? Как это работает? Что еще вы должны знать? Получите ответы на эти и другие вопросы в этой статье.
Почему важен DNS?
DNS - это как телефонная книга для интернета. Если вы знаете имя человека, но не знаете его телефонный номер, вы можете просто найти его в телефонной книге. DNS предоставляет эту же услугу для Интернета.
Когда вы посещаете https://google .com в браузере, ваш компьютер использует DNS для получения IP-адреса веб-сайта 50.16.85.103. Без DNS вы могли бы посетить наш веб-сайт (или любой другой веб-сайт), только посетив его IP-адрес, например, http://50.16.85.103.
Как работает DNS?
Когда вы посещаете домен, такой как google.com, ваш компьютер выполняет ряд шагов, чтобы превратить читаемый человеком веб-адрес в машиночитаемый IP-адрес. Это происходит каждый раз, когда вы используете доменное имя, просматриваете ли вы веб-сайты, отправляете электронную почту или слушаете интернет-радиостанции, такие как Pandora.
Это изображение предоставляет общий обзор того, как работает DNS:
Давайте подробно рассмотрим процесс:
Шаг 1: Запрос информации
Процесс начинается, когда вы запрашиваете у вашего компьютера разрешение имени хоста, например, посещаете https://google.com. Первое место, где ваш компьютер ищет соответствующий IP-адрес, - это локальный кэш DNS , в котором хранится информация, которую ваш компьютер недавно получил.
Если ваш компьютер еще не знает ответа, он должен выполнить запрос DNS, чтобы выяснить это.
Шаг 2: Задайте рекурсивные DNS-серверы
Если информация не хранится локально, ваш компьютер запрашивает (контакты) рекурсивные DNS-серверы (распознаватели) у вашего интернет-провайдера (ISP). Эти специализированные компьютеры выполняют работу DNS-запроса от вашего имени. У резольверов есть свои собственные кеши, и, учитывая, что многие клиенты интернет-провайдеров используют одни и те же резолверы, существует реальная вероятность того, что популярные домены уже будут кэшироваться. Если это так для нашего примера, dyn.com, процесс обычно заканчивается здесь, и информация возвращается пользователю.
Почти каждый провайдер использует свои собственные средства распознавания, но это не обязательно то, что вы могли бы использовать. Некоторые компании и, возможно, даже технически сложные домашние пользователи могут запускать свои собственные средства распознавания на месте. Кроме того, есть несколько очень популярных открытых распознавателей, в том числе Google Public DNS, OpenDNS, Dyn Recursive DNS и Quad9.
Шаг 3: Спросите корневых серверов имен
Если у рекурсивных серверов нет ответа, они запрашивают корневые серверы имен. Сервер имен - это компьютер, который отвечает на вопросы о доменных именах, таких как IP-адреса. Эти 13 серверов действуют как своего рода телефонный коммутатор для DNS. Они не знают ответа, но могут направлять DNS-запросы тому, кто знает, где его найти.
Шаг 4. Спросите у серверов имен TLD
Корневые серверы имен будут просматривать первую часть нашего запроса, читая справа налево - www.google.com, - и в нашем случае перенаправлять наш запрос на серверы имен доменов верхнего уровня (TLD) для .com. Каждый TLD, например, для .com, .org и .us, имеет свой собственный набор серверов имен, которые действуют как регистратор для каждого TLD. Эти серверы не имеют необходимой нам информации, но они могут направить нас напрямую к серверам, которые имеют эту информацию.
Шаг 5: Задайте вопрос уполномоченным DNS-серверам.
Серверы имен TLD проверяют следующую часть нашего запроса - www.dyn.com - и направляют наш запрос на серверы имен, отвечающие за этот конкретный домен. Эти авторитетные серверы имен отвечают за знание всей информации о конкретном домене, которая хранится в записях DNS. Существует много типов записей, каждая из которых содержит различную информацию.
В этом примере мы хотим знать IP-адрес www. google .com, поэтому мы запрашиваем адресную запись у авторитетного сервера имен (запись A). Некоторые авторитетные серверы имен обладают интеллектом, который может анализировать входящий DNS-запрос и возвращать ответ, более производительный для пользователя, который инициировал запрос.
Шаг 6: Получить запись
Рекурсивный сервер получает запись A для dyn.com с официальных серверов имен и сохраняет запись в своем локальном кэше. Если кто-то еще запросит запись хоста для dyn.com, рекурсивный сервер уже получит ответ и ему не нужно будет снова проходить процедуру поиска. Все записи имеют значение времени жизни, которое похоже на дату окончания срока действия. Через некоторое время рекурсивному серверу потребуется запросить новую копию записи, чтобы убедиться, что информация не устарела.
Шаг 7: Получите ответ
Вооружившись ответом, рекурсивный сервер возвращает запись A обратно на ваш компьютер. Ваш компьютер сохраняет запись в своем кэше, считывает IP-адрес из записи и передает эту информацию в браузер. Затем браузер открывает соединение с веб-сервером и получает веб-сайт.
Весь этот процесс от начала до конца занимает всего миллисекунды.