DNS

Система доменных имен (DNS) — это фундаментальная технология современной всемирной паутины. Он основан на иерархической системе именования устройств, служб и ресурсов.

Спецификация DNS была впервые описана в 1983 году Джоном Постелом и Полом Мокапетрисом. Они разработали уникальную структуру идентификации хоста, которая включает в себя как имя, так и категорию.

Через год была введена общая классификация доменов верхнего уровня (gTLD), которая включала описания основных доменов, таких как .com, .org, .edu и других.

Использование DNS

Любой сайт, доступный в глобальной сети. Для развития такого устройства в сети, ему предстоит заболеть IP-адрес — идентификатор вида XXX.XXX.XXX.XXX.

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

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

Порядок работы DNS

Доменное имя обеспечивает простое и запоминающееся имя для любого IP-адреса. Когда пользователь вводит доменное имя в свой браузер, запрос перенаправляется на сервер DNS (система доменных имен). Затем сервер преобразует доменное имя в IP-адрес и ищет во всемирной паутине соответствующее устройство. Если устройство обнаружено, сервер отправляет ему запрос и получает ответ, который затем отображается пользователю. С другой стороны, если IP-адрес устройства не может быть определен, пользователь получит сообщение об ошибке.

Ресурсные записи:

A — главный IP. Формат:

yandex.ruA000.000.000.000
cloud.yandex.ruA000.000.000.000

CNAME — определяет привязку доменов нижнего уровня к основному:

www.example.com CNAME example.com

MX — работа почтового сервиса:

url.ruMX10mail1.url.ru
url.ruMX20mail2.url.ru

Алгоритм работы

  1. Когда пользователь вводит адрес веб-сайта в свой браузер, браузер сначала проверяет наличие локального файла под названием «hosts» на компьютере пользователя. Этот файл сопоставляет домен с IP-адресом и полезен только в том случае, если веб-сервер развернут на компьютере пользователя. Если адрес найден в файле hosts, сайт загрузится сразу. Если нет, браузер отправляет DNS-запрос на серверы интернет-провайдера, чтобы найти IP-адрес домена.
  2. Интернет-провайдер имеет локальные кэширующие DNS-серверы на своем сетевом оборудовании. DNS-сервер проверяет кэш на наличие записей, соответствующих домену и IP-адресу. Если запись найдена, браузер принимает IP-адрес, и страница открывается пользователю. Если запись не найдена, сервер провайдера передает запрос на корневые DNS-серверы.
  3. Корневые DNS-серверы знают о DNS-серверах определенной доменной зоны, в данном случае .ru. Они проверяют доменное имя и отправляют его на соответствующие DNS-серверы для разрешения. DNS-серверы зоны .ru хранят информацию обо всех доменах в своей зоне. При вводе доменного имени, такого как yandex.ru, DNS-сервер получателя получает соответствующий ему IP-адрес. Затем сервер провайдера кэширует этот IP-адрес и отправляет ответ обратно.

Типы DNS-серверов

TLD-сервера — содержат в себе домены высшего уровня хоста.

Корневые — серверы, находящиеся на верхнем уровне системы доменных имен. Количество корневых серверов — 13. Необходимы для анализа запросов. Авторитативные — самый низкий уровень в иерархии, содержат в себе записи об IP-адресах.

Типы DNS-запросов

Итеративные запросы — эти запросы отправляются в случае, если преобразователь не возвращает ответ по причине отсутствия кеширования. Рекурсивные — первоначальные DNS-запросы используют преобразователь — механизм, предназначенный для преобразования имен хостов в соответствующие им IP-адреса. Как правило, поставщику услуг Интернета (ISP) отправляются только рекурсивные запросы.Нерекурсивные — запросы, отправленные распознавателю, могут дать немедленные результаты либо путем немедленного направления на авторитарный сервер, либо путем доступа к зашифрованному IP-адресу на соответствующем DNS-сервере.

Управление с Cloud DNS

  1. Инициализируйте зоны DNS. У вас есть возможность создать публичную зону DNS, а также внутреннюю. 
  2. Добавьте записи — https://cloud.yandex.ru/docs/dns/operations/resource-record-create
  3. Установите роли — https://cloud.yandex.ru/docs/iam/operations/roles/grant