Сервер имен — это компьютерное приложение, реализующее сетевую службу для предоставления ответов на запросы к службе каталогов . Он преобразует часто осмысленный человеком текстовый идентификатор во внутренний системный, часто числовой компонент идентификации или адресации. Эта служба выполняется сервером в ответ на запрос протокола службы .
Примером сервера имен является серверный компонент системы доменных имен (DNS), одного из двух основных пространств имен Интернета . Наиболее важной функцией DNS-серверов является преобразование (разрешение) запоминаемых человеком доменных имен и имен хостов в соответствующие числовые адреса протокола Интернета (IP), второго основного пространства имен Интернета, которое используется для идентификации и определения местонахождения компьютерных систем и ресурсов в Интернете .
Интернет поддерживает два основных пространства имен : иерархию доменных имен [1] и систему IP-адресов. [2] Система доменных имен поддерживает пространство доменных имен и предоставляет услуги перевода между этими двумя пространствами имен. Серверы имен Интернета реализуют систему доменных имен. [3] Верхняя иерархия системы доменных имен обслуживается корневыми серверами имен, поддерживаемыми делегированием Корпорации по управлению доменными именами и IP-адресами (ICANN). DNS-серверы, которые расположены по всему миру, преобразуют доменные имена в IP-адреса, давая им контроль над тем, к какому серверу пользователь может получить доступ через данный домен. Ниже корня интернет-ресурсы организованы в иерархию доменов, администрируемых соответствующими регистраторами и владельцами доменных имен. Сервер имен DNS — это сервер, который хранит записи DNS , такие как записи адресов (A, AAAA), записи серверов имен (NS) и записи почтовых обменников (MX) для доменного имени (см. также Список типов записей DNS ), и отвечает ответами на запросы к своей базе данных.
Серверы имен обычно бывают либо авторитетными , либо рекурсивными , как описано ниже.
Хотя сегодня это не является обычной практикой, серверы имен могут быть как авторитетными , так и рекурсивными, если они настроены на выдачу авторитетных ответов на запросы в некоторых зонах, одновременно выступая в качестве кэширующего сервера имен для всех других зон. [4]
Авторитетный сервер имен — это сервер имен, который отвечает за предоставление ответов в ответ на вопросы об именах в зоне . Авторитетный сервер имен возвращает ответы только на запросы о доменных именах, за которые он отвечает (как специально настроено его администратором).
Авторитетный сервер имен может быть как первичным , так и вторичным сервером. Первичный сервер для зоны — это сервер, который хранит окончательные версии всех записей в этой зоне. Он идентифицируется в записи ресурса начала полномочий (SOA). Вторичный сервер для зоны использует механизм автоматического обновления для поддержания идентичной копии базы данных первичного сервера для зоны. Примерами таких механизмов являются передачи зон DNS и протоколы передачи файлов. DNS предоставляет механизм, посредством которого первичный сервер для зоны может уведомлять все известные вторичные серверы для этой зоны, когда содержимое зоны изменилось. Содержимое зоны либо вручную настраивается администратором, либо управляется с помощью Dynamic DNS . [5]
Каждое доменное имя появляется в зоне, обслуживаемой одним или несколькими авторитетными серверами имен. Полные доменные имена авторитетных серверов имен зоны перечислены в записях NS этой зоны. Если сервер для зоны не является также авторитетным для своей родительской зоны, сервер для родительской зоны должен быть настроен с делегированием для зоны. [6]
Когда домен регистрируется у регистратора доменных имен , администратор зоны предоставляет список серверов имен (обычно не менее двух для избыточности [7] ), которые являются полномочными для зоны, содержащей домен. Регистратор предоставляет имена этих серверов в реестр доменов для домена верхнего уровня, содержащего зону. Реестр доменов, в свою очередь, настраивает полномочные серверы имен для этого домена верхнего уровня с делегированием для каждого сервера для зоны. Если полное доменное имя любого сервера имен для зоны появляется в этой зоне, администратор зоны предоставляет IP-адреса для этого сервера имен, которые устанавливаются в родительской зоне в качестве связующих записей ; в противном случае делегирование состоит из списка записей NS для этой зоны. [8]
Сервер имен указывает, что его ответ является авторитетным, устанавливая бит Авторитетного ответа ( AA ) в ответе на запрос имени, для которого он является авторитетным. Серверы имен, предоставляющие ответы, для которых они не являются авторитетными (например, серверы имен для родительских зон), не устанавливают бит AA . [3]
Рекурсивный преобразователь (иногда называемый рекурсивным сервером имен) — это сервер имен DNS, который принимает рекурсивные запросы (определение дано ниже) от клиентов (использующих заглушку-преобразователь), а затем разрешает эти запросы либо из кэша предыдущих результатов, либо путем запроса одного или нескольких авторитетных серверов.
Если сервер имен не может ответить на запрос, поскольку он не содержит запись для хоста в своем кэше DNS, он может рекурсивно запросить серверы имен выше в иерархии. [9] Это известно как рекурсивный запрос или рекурсивный поиск . Сервер, предоставляющий рекурсивные запросы, известен как рекурсивный сервер имен или рекурсивный DNS , иногда сокращенно recdns . [10]
В принципе, авторитетных серверов имен достаточно для работы Интернета. Однако, при работе только авторитетных серверов имен, каждый запрос DNS должен начинаться с рекурсивных запросов в корневой зоне системы доменных имен, и каждая пользовательская система должна реализовать программное обеспечение распознавателя, способное выполнять рекурсивные операции. [ необходимо разъяснение ]
Кэширующие серверы имен ( кеши DNS ) обычно являются рекурсивными резолверами, которые хранят результаты запросов DNS в течение определенного периода времени, определенного в конфигурации (время жизни) каждой записи доменного имени. Кэши DNS повышают эффективность DNS за счет сокращения трафика DNS через Интернет и снижения нагрузки на авторитетные серверы имен, в частности, корневые серверы имен. Поскольку они могут отвечать на вопросы быстрее, они также повышают производительность приложений конечного пользователя, использующих DNS.
Кэширующие серверы имен часто также являются рекурсивными серверами имен — они выполняют каждый шаг, необходимый для ответа на любой полученный ими запрос DNS. Для этого сервер имен по очереди запрашивает каждый авторитетный сервер имен, начиная с корневой зоны DNS. Это продолжается до тех пор, пока не достигнет авторитетного сервера для зоны, содержащей запрашиваемое доменное имя. Этот сервер предоставляет ответ на вопрос или определенно говорит, что на него нельзя ответить, и кэширующий преобразователь затем возвращает этот ответ клиенту, который задал вопрос. Функции полномочия, разрешения и кэширования могут присутствовать в реализации сервера DNS, но это не обязательно: сервер DNS может реализовать любую из этих функций отдельно, не реализуя другие. Поставщики услуг Интернета обычно предоставляют кэширующие преобразователи для своих клиентов. Кроме того, многие маршрутизаторы домашних сетей реализуют кэширующие преобразователи для повышения эффективности в локальной сети. Некоторые системы используют nscd
, что означает «демон кэширования службы имен». [11]
Рекурсивный DNS-сервер (он же recdns)
ncsd [...] кэширует результаты поиска DNS [...], но также содержит библиотечные процедуры, которые получают доступ к информации изpasswd
файловgroup
и их сетевых эквивалентов в базе данных.
{{cite book}}
: Проверить |url=
значение ( помощь )