Обращаясь к другому узлу (например, открывая страницу в браузере идёт обращение к веб-серверу, а при открытии почтовой программы — обращение к почтовому серверу), пользователь может указать адрес узла прямо или косвенно, что, в свою очередь, вынуждает узел пользователя передавать пакет на другой узел. Тем не менее узлы не могут передавать пакеты с указанием имени узла-получателя, поэтому в большинстве сетей для преобразования имён узлов в их IP-адреса используется протокол DNS.
Узел действует как клиент DNS, передавая сообщения серверу DNS по его IP-адресу с указанием необходимого имени узла, на которое сервер отвечает с указанием IP-адреса требуемого узла. После получения информации о соответствии имени узла и его IP-адреса узел отправитель может кэшировать эту информацию чтобы избежать необходимости снова выполнять DNS-запрос при обращении к этому узлу.
Система DNS поддерживает иерархию, соответствующую иерархии зон. Каждая зона сопоставляется с одним (как минимум) авторитетным сервером DNS, на котором расположена информация о домене. Также существует 13 корневых серверов DNS. Это DNS-серверы, содержащие информацию о доменах верхнего уровня, указывающую на DNS-серверы, поддерживающие работу каждого из этих доменов. Корневые серверы обслуживают разные профессиональные организации, многие из этих серверов имеют зеркала, поэтому вывести из строя систему DNS практически невозможно.
Записи DNS бывают разных типов и содержат разную информацию. Основные записи, которые необходимо упомянуть, отображены в таблице 1.
Тип | Расшифровка | Описание |
A | Address | Адресная запись, соответствие между именем и IP-адресом |
CNAME | Canonical name | Каноническое имя для псевдонима (одноуровневая переадресация) |
NS | Authoritative name server | Адрес узла, отвечающего за доменную зону. Критически важна для функционирования самой системы доменных имён |
PTR | Domain name pointer | Реализует механизм переадресации |
SOA | Start of authority | Указание на авторитетность информации, используется для указания на новую зону |
Табл. 1. Основные ресурсные записи DNS
A запись содержит соответствие IP-адреса доменному имени. Используется при разрешении имени узла, например, когда браузеру требуется открыть веб-страницу (по доменному имени). В запросе указывается имя узла, а DNS-сервер в ответе отправляет IP-адрес этого узла, взятый из A записи. В записи содержится IP-адрес.
CNAME записи позволяют задать «псевдоним» или «каноническое имя» для хоста, с целью привязать его не к конкретному IP-адресу, а сослаться на другой хост. Например, если узел имеет несколько доменных имён, достаточно указать одну A запись и ссылаться на неё. В записи содержится доменное имя.
NS записи служат для указания NS-серверов, обслуживающих данную зону и зоны следующего уровня. В записи содержится адрес ответственного DNS сервера.
PTR запись связывает IP хоста с его каноническим именем. Эта запись важна при пересылке почты. В целях уменьшения объема спама многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии. Зачастую, провайдеры интернета создают для IP-адресов своих абонентов автоматически сгенерированные по определённому шаблону PTR-записи. Поэтому при настройке на одном из таких адресов почтового сервера наряду с регистрацией домена у регистратора доменных имён нужно изменять PTR запись на DNS сервере провайдера.
SOA запись содержит информацию о DNS-зоне (имя первичного DNS-сервера зоны, контактный адрес ответственного администратора файла зоны, настройки различных временных интервалов).