DNS или Domain Name System

Система доменных имён, представляющая собой распределённую компьютерную систему для получения информации о доменах. Такие системы необходимы для присвоения IP-адреса DNS-серверу, используемому для обеспечения работоспособности системы. Именно он отвечает за предоставление информации о домене (либо делегирует эту задачу другому серверу), а иерархическая струтура DNS-серверов, взаимодействующих между собой, формирует и поддерживает распределённую базу данных DNS.

Общие характеристики:

  1. Распределённая система управления. Ответственность за разные части иерархической структуры несут разные люди или организации.
  2. Сегментированность хранения. Каждый узел сети хранит только данные в рамках его ответственности, и (возможно) адреса корневых DNS-серверов.
  3. Кэширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
  4. Древовидная иерархия узлов, каждый вышестоящий определяет работу нижестоящих узлов или делегирует эту задачу другим узлам.
  5. Резервирование. В целях обеспечения сохранности данных и поддержания бесперебойной работы системы используют несколько физически и логически разделённых серверов.

Для соединения с определённым DNS-сервером пользователю необходимо ввести точную последовательность цифр IP-адреса, что не всегда легко для запоминания. Обычный пользователь значительно проще запоминает некий набор букв, который может с чем-то ассоциировать. Развитие Интернета стало предпосылкой развития DNS из-за необходимости эффективного механизма для автоматизированного преобразования цифр IP-адреса в буквы доменного имени. При этом не следует отождествлять доменное имя и IP-адрес. Один IP-адрес может иметь множество имён, что позволяет обеспечивать единовременную работу множества Интернет-ресурсов на одном компьютере. Напротив, в целях оптимизации нагрузки доступность одного сайта может быть определена по нескольким IP-адресам.

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

Представим, что пользователь воспользовался браузером для перехода на какой-либо ресурс, введя в адресной строке его адрес: ru.example.com (или линк).

После нажатия пользователем клавиши "Enter" браузер обратился к серверу DNS для получения IP-адреса искомого сайта.

Для наглядности немного усложним.

DNS-сервер не располагает информацией по домену example.com. Далее DNS-сервер адресует полученное обращение к корневому серверу (допустим, его адрес будет таким: 198.41.0.4). Корневой сервер так же сообщает, что не имеет информации о данном адресе, но указывает на некий DNS-сервер (204.74.112.1), отвечающий за зону com. Таким образом запрос переходит от одного DNS-сервера к другому до тех пор, пока IP-адрес ресурса ru.example.com не будет определён и передан (возвращён) клиенту в браузер.

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

Помимо прямых запросов (из букв в цифры) система доменных имён умеет обрабатывать и обратные запросы.

Вооббще с DNS-записью сопоставляются различные данные, в том числе и символьные имена. Чтобы получить символьное имя, имея в наличии только IP-адрес, необходимо обращение к DNS-серверу in-addr.arpa с припиской IP-адреса задом наперёд. Это необходимо для соблюдения регламента последовательного написания битов по старшенству. В IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.

Теперь наглядно. Есть некий IP-адрес: 111.222.333.444

Переписываем цифры в обратном порядке и добавляем домен: 444.333.222.111.in-addr.arpa

После обработки запроса DNS-сервер вернёт соответствующее символьное имя.

Основные виды DNS-записей:

  • A (address record) - адрес, связывающий имя хоста с адресом протокола IPv4.
  • AAAA (IPv6 address record) - адрес, связывающий имя хоста с адресом протокола IPv6.
  • CNAME (canonical name record) - каноническая запись имени (или псевдоним) для перенаправления на другое имя.
  • MX (mail exchange) - сервер(ы) обмена почтой для данного домена.
  • NS (name server) - DNS-сервер для данного домена.
  • PTR (pointer) - указатель связывающий IP-адрес хоста с его каноническим именем. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP-сессии.
  • SOA (Start of Authority) - начальная запись зоны, определяющая сервер хранения информации о данном домене (контактную информацию лица, ответственного за данную зону, параметры времени кеширования информации и взаимодействия DNS-серверов.
  • SRV (server selection) - информация о серверах для различных сервисов (Jabber и Active Directory).

Вернуться на предыдущую страницу


Введите ваш запрос для начала поиска.