Как работает DNS
Все веб-ресурсы интернета существуют в виде папок и файлов на физических устройствах — серверах. У каждого компьютера, который подключен к сети, появляется IP-адрес. С его помощью можно установить источник загрузки искомого сайта.
Если проводить аналогию, то IP-адрес представляет собой запись, а DNS — телефонную книгу, где находится эта запись.
Простыми словами DNS (domain name system) — это система доменных имен, с помощью которой можно получить доступ к веб-сайтам, DNS обеспечивает взаимосвязь между названием адреса и его цифровой записью.
Доменное имя | IP-адрес |
---|---|
yandex.ru | 5.255.255.5 |
google.com | 74.125.131.102 |
kokoc.com | 95.213.216.44 |
Пользователи вводят в адресную строку браузера адрес целевого сайта, а система доменных имен преобразует его в цифровой адрес и отдает его пользовательскому компьютеру.
Структурно DNS — это дерево. Доменные имена организованы здесь по иерархическому принципу. Верхний уровень отдан под корневой домен, к которому тянут «ветви» домены первого уровня. К ним, в свою очередь, присоединяются домены второго уровня, к тем — домены третьего уровня и т. п.
Что такое DNS-сервер
Инструмент системы доменных имен — DNS-сервер. Он нужен, чтобы:
- хранить соответствия пар «доменное имя — IP-адрес»;
- кешировать записи других DNS-серверов.
DNS-сервер — это специализированный компьютер, хранящий множество IP-адресов. Его принципиальная задача — выдача браузерам пользователей соответствующего доменного имени IP, а также кэширование DNS-записи доменов. Полный список DNS-серверов вы найдете по адресуhttps://public-dns.info/nameserver/ru.html.
Итак, вы вводите в адресную строку браузера определенный сайт, соответствующий ему адрес ищут сразу три DNS сервера.
DNS-сервер местного интернет-провайдера
Браузер обращается к локальному DNS-серверу провайдера, чтобы тот отдал ему нужный IP-адрес сервра с хранящимся на нем целевым сайтом. Для этого во все браузеры встроен DNS-клиент.
Имейте в виду, что помимо серверов локального провайдера можно использовать публичные DNS-сервера: его необходимо будет прописать в настройках своего сетевого устройства. Например, это могут быть публичные DNS «Яндекса».
Узнать DNS своего провайдера можно, если выполнить на компьютере команду Ctrl-R, в открывшемся окошке ввести «cmd» и в появившемся окошке команду ipconfig /all. Дальше в появившихся записях надо найти настройки своего сетевого устройства:
«Яндекс» предлагает целых три варианта публичных DNS:
Режим | Базовый | Безопасный | Семейный |
---|---|---|---|
IP |
77.88.8.8 77.88.8.1 |
77.88.8.88 77.88.8.2 |
77.88.8.7 77.88.8.3 |
Особенности | Быстрый и надежный DNS | Без мошеннических сайтов и вирусов | Без сайтов для взрослых |
DNS-сервер верхнего уровня
Эти серверы хранят информацию о DNS-зонах и являются корневыми. С их помощью можно получить DNS-сервера для доменов 1-го уровня:
- NET;
- COM;
- RU;
- US;
- SU и т. п.
Исторические эти сервера возникли в США, но за десятилетия они пришли в другие страны. НА текущий момент в сети существует тринадцать DNS серверов:
DNS-сервер, хранящий записи доменного имени
Владельцы доменов в ручном режиме прописывают DNS-сервера, которые они получают у компании-хостера.
Их можно узнать через любой сервис типа WHOIS. Просто вбиваем адрес нужного сайта и получаем:
Исторические эти сервера возникли в США, но за десятилетия они пришли в другие страны. НА текущий момент в сети существует тринадцать DNS серверов:
Алгоритм поиска IP-адреса домена
- Вы ввели в адресной строке адрес kokoc.com, чтобы почитать новинки статейиз блога. Ваш браузер первым делом пойдет искать необходимый IP в файл hosts на вашем ПК / ноутбуке / мобильном устройстве. Скорее всего, нужного IP там не окажется и дальше браузер пошлет запрос к локальному DNS-серверу вашего провайдера интернета (IP провайдера будет обнаружен в настройках сетевого подключения).
- Непосредственно на локальном DNS нужный IP не хранится, зато сервер находится в постоянном обмене с прочими DNS-серверами. В период ожидания браузером ответа DNS-сервер провайдера делает запрос к корневым DNS-серверам и запрашивает IP для kokoc.com. Сам по себе корневой DNS-сервер также не хранит искомый IP, но в курсе всех IP-адресов всех DNS-серверов в доменной зоне COM.
- В итоге локальный DNS-сервер получает IP одного из таких серверов и уже к нему отправляет запрос. Тот не в курсе IP адреса для kokoc.com, зато знает все IP, которые использует DNS-сервер сайта.
- Локальный DNS-сервер получает IP такого сервера и посылает ему запрос. Этот DNS-сервер в курсе нужного IP и отдает его локальному.
- В итоге локальный DNS-сервер наконец-то получает нужный IP и отдает его браузеру.
- Браузер получает IP для kokoc.com (95.213.216.44), делает прямо запрос к серверу с просьбой отдать ему сайт.
Типы записей DNS-сервера
Одному домену (например mail.ru) могут соответствовать не 1, а 2 и больше сетевых адресов: веб-сайт, почтовый сервер. Ко всему прочему, доменное имя может иметь в своем составе субдомены.
Как мы уже говорили, DNS -сервер хранит в себе все соответствия доменов и их IP-адресов. Его содержимое —DNS-зона. Для корректировки DNS нужно добавлять ресурсные записи — информацию о соответствии имени и служебной информации в системе доменных имен.
Их довольно много количество, мы приведем основные:
Значение | Название ресурсной записи |
---|---|
A (Address) | Адресная запись, показывающая взаимосвязь между конкретными именем и IP-адресом |
NS (Authoritative name server) | Адрес узла, отвечающего за доменную зону. Важнейший параметр для корректной работы DNS |
CNAME | Привязка веб-адресов к доменам (например www.site.ru к домену site.ru) |
SOA (Start of authority) | Указатель информации о сервере с канонической информацией о доменном имени |
MB (Mailbox) | Почтовый ящик |
MX (Mail Exchanger) | Адрес почтового сервера. Состоит из числового приоритета (чем оно выше, тем выше приоритет), и адреса узла |
PTR (Pointer) | Обозначение ресурсной записи DNS для связки имени хоста с его каноническим именем |
TXT (Text string) | Любые текстовые данные о сервере с длиной до 255 байт |
Вместо вывода: файл hosts
Даже в 2021 году с несметным числом DNS-серверов мы не ушли навсегда от файла hosts. Он есть на каждом компьютере.
На десктопных устройствах под управлением ОС Windows вы найдете его по адресу C:\Windows\System32\drivers\etc. Конечно, если ваша ОС установлена на диск С.
Как мы уже сказали, браузер для поиска нужного IP обращается сначала к этому файлу и только потом отправляет запросы другим DNS-серверам.
По этой причине вебмастера используют файл при разработках сайтов без доменов или тестирования тестовых версий на локальных серверах. В hosts в таких случаях помещаются записи вида:
85.31.55.45 mydomain4test.ru # testing domain.
Если все корректно сделано, браузер пользователя будет открывать mydomain4test.ru по IP 85.31.55.45, и при этом информация с DNS-серверов не будет иметь значения.
Добавим ложку дегтя в бочку меда файла «хостс» и отметим, что этот файл можно использовать для запрета доступа к определенным сайтам с ПК, а также для блокировки доменов, с которых приходит запрос на проверку серийных номеров и лицензионных ключей различного ПО.