Что такое DNS простыми словами
DNS (Domain Name System) — это технология, благодаря которой пользователи могут находить сайты в интернете по их названиям. Система доменных имен существует с 80-х годов и является одним из ключевых звеньев в работе всемирной сети. Ее основная задача — преобразовывать символьные имена веб-ресурсов в цифровые идентификаторы устройств, на которых те хранятся. Простыми словами, ДНС нужна для сопоставления доменов (domains) и IP-адресов. Без нее использовать интернет удобным и привычным для нас способом просто стало бы невозможно. В статье мы подробно расскажем, как устроена эта система, какую роль в ней играют DNS-серверы, и разберем несколько связанных с ними понятий.
Что такое DNS-сервер
DNS-сервер — это компьютер со специализированным программным обеспечением, предназначенным для принятия, обработки и отправки DNS-запросов. Он выглядит как обычный сервер, только содержит не файлы чьих-то проектов, а таблицы соответствий — списки, где прописано, какой IP-адрес закреплен за конкретным доменным именем. Чтобы понять принцип работы DNS, разберем все по полочкам.
Любой сайт — это, прежде всего, набор файлов, который физически размещен на каком-то компьютере. Но интернет представляет собой распределенную компьютерную сеть, куда входят миллиарды различных устройств по всему миру. Так как наши браузеры понимают, где найти нужные файлы? Все просто: как только устройство подключается к сети, ему присваивается уникальный цифровой идентификатор. Он состоит из четырех чисел (в диапазоне 0 – 255), разделенных точками, т. е. имеет вид «000.000.000.000». К примеру, 77.88.55.80 — один из серверов Яндекса. Это и называется IP-адресом. Благодаря ему участники одной сети могут узнавать друг друга и «понимают», куда в буквальном смысле направить информацию. Подробнее об этом можно почитать в другой статье из нашего блога.
Таким образом, чтобы получить доступ к сайту, вашему браузеру необходимо знать IP-адрес сервера, на котором тот расположен. Но ни один компьютер не способен хранить информацию об айпишниках всех веб-ресурсов в интернете. Что уж говорить о самих пользователях? Мы посещаем десятки сайтов в день, представьте, сколько цифр нам пришлось бы запоминать. Благо, эту проблему решили еще в прошлом веке, создав DNS.
Доменные имена — это буквенная альтернатива цифровым адресам. Уникальные символьные названия вроде mchost.ru, youtube.com, yandex.ru используются людьми вместо сложных числовых последовательностей, поскольку первые гораздо проще запомнить. Проще говоря, IP-адреса нужны для машин, а домены — для людей. Это человекопонятное обозначение, которое мы применяем для поиска определенных сайтов. Если проводить аналогию с телефонной книгой, то айпи-адрес — это номер телефона, а домен — имя контакта. ДНС-сервер же и есть эта телефонная книга. Но как она работает?
Изображение от Freepik.
Как работают DNS-серверы и для чего они нужны
Серверы DNS нужны для того, чтобы хранить данные о доменах и предоставлять их по запросу пользователя. В систему входит огромное количество ДНС-серверов, они распределены по миру и взаимодействуют друг с другом при поиске информации. Рассмотрим этот процесс на примере.
Допустим, вы хотите попасть на сайт «Макхост». Для этого вам необходимо ввести в адресную строку веб-браузера имя «mchost.ru», либо перейти по ссылке из поисковой выдачи. Если все пройдет хорошо, сайт загрузится на экране через пару секунд. За это время DNS успеет совершить множество операций, чтобы добыть вам нужный IP-адрес.
- Первым делом после того, как вы отправили запрос (т. е. попытались открыть веб-страницу), браузер проверяет собственный кэш и кэш вашей операционной системы. Если ранее вы уже посещали Макхост, его айпи-адрес должен быть сохранен в памяти устройства. Браузер его находит и направляет запрос куда нужно. В ответ сервер посылает требующиеся вам файлы, и вы видите их на экране.
- Если же в кэшированных данных запрашиваемого адреса нет, веб-браузер формирует DNS-запрос и отправляет на ближайший DNS-сервер (его айпишник приходит на устройство вместе с конфигурацией сети при подключении). Обычно это локальный сервер (или несколько) вашего интернет-провайдера, также называемый resolver. Он кэширует IP-адреса сайтов, которые посещали другие клиенты этого провайдера, чтобы не пришлось заново опрашивать всю систему. Здесь схема повторяется. Resolver ищет адрес у себя и в случае успеха возвращает вам.
- Если нужной информации у провайдера нет, запрос направляется на корневой DNS-сервер. Это вершина иерархической структуры ДНС. Всего в мире существует 123 корневых ДНС-сервера. На них хранится информация о местонахождении серверов уровнем ниже — тех, что отвечают за конкретные доменные зоны (COM, NET, XYZ и пр.). То есть когда resolver просит корневой сервер назвать IP-адрес mchost.ru, тот как бы отвечает: «Я не знаю, но должны знать там» и дает адрес ДНС-сервера, ответственного за домены в зоне RU. Тогда провайдерский DNS обращается к нему.
- В свою очередь, сервер зоны сообщает резолверу, что нужная ему информация находится на NS (names server) указанного домена. В нашем примере это dns1.mchost.ru.
- Наконец, resolver отправляет запрос на указанный сервер, тот находит в своих списках искомый айпи-адрес и возвращает резолверу. Он кэширует полученные данные и отдает ответ вашему браузеру. Теперь запрос отправляется напрямую на сервер Макхоста, и в окне загружается нужная веб-страница.
Система доменных имен — это слаженный механизм, способный выполнять миллионы запросов за доли секунды. DNS-сервера являются в ней шестеренками, благодаря которым все работает.
Что такое DNS-зоны
Выше мы рассмотрели простой случай, когда одному доменному имени соответствует один IP-адрес. Но на практике все бывает гораздо сложнее. Разные функциональные части проекта (например, сайт и почта) могут быть размещены на разных устройствах, а одно устройство, в свою очередь, может иметь сразу несколько адресов. К слову, так работает хостинг виртуальных выделенных серверов: внутри физического хоста находятся несколько независимых VPS/VDS, каждый из которых обладает собственным айпи. Не стоит забывать и о субдоменах — они тоже вполне могут располагаться на отличных от основного домена айпи-адресах.
Чтобы в подобных ситуациях не возникала путаница, существует понятие DNS-зоны. Это совокупность информации о связи конкретного доменного имени с сайтом, поддоменами, почтовой системой, DNS-серверами и пр. Она находится внутри файла на сервере DNS в виде отдельных записей. Их называют ресурсными.
Типы ресурсных записей DNS-сервера
Мы рассмотрим основные виды ресурсных записей, которые используются чаще всего. К ним относятся:
- A-запись — ключевой элемент, где прописана связь между доменом и айпи-адресом четвертой версии (IPv4). Именно по ней система определяет, на каком сервере размещен сайт.
- АААА-запись — выполняет ту же функцию, но для айпи-адресов шестой версии (IPv6). В отличие от стандартных, они состоят из восьми чисел, к тому же написанных в шестнадцатеричной системе счисления (7635:0d17:12a3:04d7:1f78:8a2e:90a0:000d).
- MX-запись — указывает на почтовый сервер.
- CNAME-запись — нужна для привязки поддоменов. С ее помощью для них дублируют ресурсные записи доменного имени.
- TXT-запись — содержит текстовую информацию о домене, обычно используется для подтверждения права владения.
- SPF-запись — хранит данные о серверах, у которых есть разрешение на отправку писем имени домена.
- NS-запись — включает адреса ДНС-серверов, содержащих остальные ресурсные записи доменного имени.
Настройкой этих сведений стоит озаботиться в первую очередь.
Заключение
Система доменных имен или DNS — это фундаментальная веб-технология, без которой интернет не смог бы существовать в том виде, в каком мы его знаем. Теперь вы знаете, почему она так важна и зачем нам необходимы ее сервера. Надеемся, наша статья была для вас полезной.
Оцените статью