Консультация Oblako.kz

Основы работы со службой DNS

В инструкции рассматриваются основные технологии и принципы работы DNS, применяющиеся на практике.

Зачем нужна технология DNS

Domain Name System в переводе с английского означает «Система доменного имени», то есть это распределенная система, в которой хранится и обрабатывается информация о различных доменных зонах. Применяется DNS, когда нужно соотнести IP-адрес устройства в сети с адаптированным символьным именем, более понятным для людей.

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

DNS

Систему доменных имен можно назвать фундаментальной технологией интернет-пространства, ведь данные касательно IP-адресов остаются главным условием для получения ответного сигнала на запросы. Однако изначально все IP-адреса имеют числовой вид (например, 1.11.11.11), что затрудняет их восприятие для пользователей.

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

Принцип работы DNS

Система доменных имен трансформирует символьное имя домена в значение IP-адреса серверов, функционирующие в конкретной доменной зоне. На заре интернета преобразование адресов происходило по файлу «hosts», он составлялся в одном месте, а затем рассылался по всем подключенным к сети устройствам. Сейчас из-за масштаба глобальной сети файл «hosts» утратил актуальность, и с 1983 года его заменила DNS.

Базовые принципы работы DNS:

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

Об иерархии и делегировании доменного имени

Домен является именованной веткой, расположенной в дереве имен и включающей определенный узел (например, первый уровень доменов «.org») и подчиняющиеся ему нижестоящие узлы (домены 2-го и 3-го уровней, например, «test.org» и «mail.test.org»). Чтобы обозначить иерархическую принадлежность доменного имени, применяется термин «уровень». Уровнем называют показатели позиции узлов в дереве доменов. С повышением положения уровня понижается иерархический статус домена:

  • Нулевой уровень – «.»;
  • Первый уровень – «.org»;
  • Второй уровень – «test.org»;
  • Третий уровень – «mail.test.org» и т.д.

DNS

Нулевой уровень домена еще называют «корневой». Точку «.» никак не обозначают и не называют, таким образом чтобы разрешить обращение IP-адреса не обязательно указывать на корневой домен. Браузеры и другие клиентские программы для работы в интернете автоматически приписывают нулевой домен и не оповещают об этом пользователя.

Если доменное имя не включает в себя обозначение нулевого домена, его именуют «относительным». Если имя включает нулевой уровень, его обозначают как «полностью определенный» (в переводе с английского термина Fully Qualified Domain Name).

Доменной зоной называется часть древа иерархии, которая полностью трансформирована под конкретный DNS-сервер или несколько серверов, цель зоны – делегировать другим лицам ответственность за сам домен и его нижестоящие уровни (например, site.com и mail.site.com).

Делегированием считается перепоручение ответственность за ветку доменного древа другим юридическим либо физическим лицам. Делегирование осуществляет основной принцип функционирования системы, а именно распределение задач по сохранению информации и обработке данных. Происходит делегирование путем добавления «склеивающих» NS-записей дочерних зон («site.com») в ресурсную родительскую зону («.com»). NS-записи будут указывать на сервер системы доменного имени, который может принять запрос от сторонних доменов. Яркий пример – DNS-сервер организации. То есть ресурсные записи и запросы от доменов 2-го, 3-го, 4-го и так далее уровней будут храниться на сервере организации, а в родительской зоне «.com» сохранятся NS-записи с указанием на сервер фирмы.

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

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

Какие бывают ресурсные записи

Единицу хранение и передачи данных в системе доменного имени называют ресурсной записью (в переводе с английского «Resource Record»). В ней содержатся такие значения:

  • Class – показывает, может ли Domain Name System взаимодействовать с другим типом сети, не принадлежащих к ТСР/IP;
  • Name – это доменное имя зоны, для которой предназначается информация;
  • TTL (Time To Live) – ограниченный период сохранения записей третьими серверами;
  • Type – характеристика для определения формата записей и их назначений;
  • Rdata – элемент, в котором хранятся разные типы записей, их форматы и содержания;
  • Rdlen – значение длины полей данных.

Какие бывают ресурсные записи, чаще остальных применяемые в работе DNS:

  • A (IPv4 Address Record) – это значение адресной записи, связывающей доменные имена с адресами хоста;
  • AAAA (IPv6) – аналогичный с IPv4 параметр, который взаимодействует с адресами хостов формата IPv6;
  • CNAME (Canonical Name Record) – считается канонической записью имен и применяется в перенаправлении запросов на стороннее имя домена;
  • MX (Mail Exchange) – это сервис почтового обмена для обслуживающего домена;
  • NS (Name Server) – это отдельный именной сервер, ссылающийся на сервер системы, которая отвечает за функционирующий домен;
  • TXT – параметр текстового описания домена, требующийся для решения специальных заданий при подтверждении прав собственности на купленные домены и при попытке связать домен с почтовым сервером;
  • PTR (Point to Reverse) – элемент записи указателя, связывающий домен с IP компьютера, его применяют при проверке электронной корреспонденции на связь с доменом, указанным в настройках сервера почты. Если значения переменных не совпадает, машина проверят e-mail в соответствии с другими характеристиками.

Рекурсивный и нерекурсивный DNS-запрос

Рекурсия – это особый метод сервера Domain Name System обрабатывать запросы, при этом сервер выполняет полные поиски данных (информация о домене, которые ему не делегированы), если встает необходимость обращаться к посторонним серверам.

DNS-запрос типа «клиент-сервер» и «сервер-сервер» может быть как рекурсивным, так и нерекурсивным. Рекурсивный DNS-запрос - это когда сервер, принявший запрос, обращается ко всем узлам древа по методу понижения уровня доменных зон до тех пор, пока не натолкнется на искомый результат или ошибку (если запрашиваемого домена нет). При нерекурсивном типе сервером будет дан ответ исключительно в том случае, если узел, к которому обращен запрос, состоит в доменной зоне DNS-сервера. Если рекурсия отсутствует, это обуславливается и типами запросов, и запретами сервера на исполнение конкретных запросов.

DNS

Кэширование является важным параметром системы. Если сервер выполнял рекурсивный запрос и обращался к сторонним узлам, в его памяти некоторое время хранится информация о полученных ответах. Тогда повторные запросы обращаются к кэш-памяти, а период хранения данных в кэше выставляется в элементе TTL.

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

Последнее обновление: 16.08.2023