Доменная система имен

Нерекурсивный сервер действует следующим образом: если у него есть адрес, кэшированный из предыдущего запроса, или если он авторитетен для домена, к которому относится имя, то он даст соответствующий ответ. В противном случае вместо правильного ответа он выдает отсылку к авторитетным серверам другого домена, которые должны знать ответ. Рекурсивный сервер возвращает только реальные ответы и сообщения об ошибках. Он сам отслеживает отсылки, освобождая от этой обязанности клиента. Базовая процедура разрешения запроса, по сути дела, та же; единственное отличие состоит в том, что этот сервер имен заботится об обработке отсылок, не передавая их обратно клиенту. Есть один побочный эффект принуждения сервера имен к отслеживанию отсылок: в его кэш поступает информация о промежуточных доменах. Серверу домена высокого уровня (такого, как com или ru) не рекомендуется хранить информацию, запрашиваемую машиной, которая находится на несколько уровней ниже. Его кэш быстро распухнет, и из-за дополнительных затрат времени на обработку рекурсивных запросов пропускная способность сервера упадет. По этим причинам серверы имен нижних уровней обычно являются рекурсивными, а серверы высших уровней (верхнего и частично второго) — нерекурсивными. Отсылки генерируются на иерархической основе. Если сервер, например, не сможет дать адрес машины vtau-bsd.pstu.ac.ru, он последовательно обратится к серверам домена pstu.ac.ru, ac.ru, ru и корневого домена. Отсылка должна включать адреса серверов домена, на который она указывает, поэтому выбор — не произвольный; сервер должен ссылаться на тот домен, серверы которого ему уже известны. Как правило, выдается наиболее полный из известных доменов. В нашем примере был бы выдан домен pstu.ac.ru (если это возможно). Предположим, мы хотим посетить сайт кафедры экономической кибернетики ПГУ (адрес машины keks.econ.psu.ru) с машины vtau-bsd.pstu.ac.ru. Машина vtau-bsd просит выяснить ответ на этот вопрос свой локальный сервер имен, ns.pstu.ac.ru. Мы предполагаем, что перед запросом никакие из требуемых данных не кэшировались, за исключением серверов домена ru. Локальный сервер имен ответа на запрос не знает. Более того, он не знает ничего ни о cs.psu.ru, ни о psu.ru. Он знает некоторые серверы домена ru и, будучи рекурсивным, спрашивает ru о машине keks.econ.psu.ru. Доменом ru управляют нерекурсивные серверы имен, поэтому вместо сообщения запрошенного адреса локальному серверу говорят: "Пойди-ка спроси у домена psu.ru; вот адреса серверов". Локальный сервер посылает запрос о машине keks серверу домена psu.ru. Сервер ПГУ не знает ответа, но, будучи рекурсивным, направляет этот запрос серверу домена econ.psu.ru. Этот сервер авторитетен по запрашиваемой информации и возвращает адрес машины keks. Сервер домена psu.ru кэширует этот адрес и возвращает его серверу ns.pstu.ac.ru. В итоге, мы увидим следующие изменения:·ns.pstu.ac.ru кэшировал адрес машины keks; ·ns.pstu.ac.ru кэшировал данные о серверах домена psu.ru; ·сервер домена psu.ru кэшировал адрес машины keks. Запросы демона named используют протокол UDP и порт 53. Если объем ответов превышает 512 байтов, то для их доставки используется протокол TCP. В зонных пересылках между серверами также применяется протокол TCP. 4. База данных DNS База данных доменной системы имен DNS для каждого домена представляет собой набор текстовых файлов, которые системный администратор ведет на основном сервере имен этого домена. Элементы базы данных называются записями о ресурсах; иногда их сокращенно обозначают PR. Типы и форматы записей о ресурсах регламентируются документами RFC882, 1035 и 1183. Базовый формат записи о ресурсах: [имя] [время] [класс] тип данные Поля разделяются знаками табуляции или пробелами и могут содержать специальные символы, перечисленные в табл. 3. Таблица 3. Символ Значение ; Вводит комментарий # Также вводит комментарии (только в версии BIND 4.9) @ Имя текущего домена ( ) Позволяют данным занимать несколько строк * Метасимвол (только в поле имя) Поле имя, которое должно начинаться в первом столбце, обозначает объект (машину или домен), к которому относится данная запись. Если имеется несколько последовательно расположенных записей об одном объекте, то после первой записи поле имя можно опустить. В поле время задается время (в секундах), в течение которого элемент данных может оставаться в кэше и считаться при этом достоверным. Это поле часто опускают, но оно обязательно присутствует в файле запуска кэша, который содержит имена и адреса корневых серверов. В поле класс задается тип сети. Распознаются три значения: IN (Internet), СН (ChaosNet), HS (Hesiod). ChaosNet — устаревшая сеть, в которой раньше работали Lisp-машины фирмы Symbolics. Hesiod — это служба базы данных, являющаяся надстройкой системы BIND; пока она используется не слишком широко, но постепенно завоевывает популярность как замена NIS. Значением класса по умолчанию является IN. Существуют записи трех различных типов: ·зонные записи: определяют домены и их серверы имен; ·базовые записи: преобразовывают имена в адреса и наоборот, обеспечивают маршрутизацию почты; ·факультативные записи: содержат дополнительную информацию о машинах.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...