Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 61
Текст из файла (страница 61)
4.3.DNS поддерживает обратное отображение IP-адресов на имена хостов посредством записей PTR (pointer — указатель). Для того чтобы выполнить поиск средиимен хостов, когда известен только IP-адрес, DNS поддерживает домен in-addr.arpa,который содержит узлы, представляющие хосты Интернета и перечисленные всоответствии с IP-адресами этих хостов. Так, например, для хоста www.cs.vu.nl,имеющего IP-адрес 130.37.24.11, DNS создает узел с именем 11.24.37.130.in-addr.arpa,который используется для хранения в записи PTR канонического имени этогохоста (а именно, soling.cs.vu.nl).Последние два типа записей — HINFO и ТХТ.
Запись HINFO (host info — информация о хосте) используется для хранения дополнительной информации о хосте,например о типе машины и операционной системе. Также и записи ТХТ (text —текст) используются для хранения любой дополнительной информации, которую пожелает сохранить пользователь о представляемых узлом сущностях.Реализация DNSРеализация DNS очень похожа на то описание, которое мы привели в предыдущем пункте. В частности, пространство имен DNS можно разделить на глобаль-4.1. Именованные сущности235ный и административный уровни именно так, как это было показано на рис.
4.6.Управленческий уровень, обычно складывающийся из локальных файловых систем, формально не является частью системы DNS и не контролируется ею.Каждая зона реализована в виде сервера имен. Для лучшей доступности этисерверы постоянно подвергаются виртуальной репликации. Изменения в зонах,которые обычно обрабатываются первичным сервером имен, вносятся путем модификации баз данных DNS локально. Вторичные серверы имен не имеют прямого доступа к базам данных, они посылают запросы первичному серверу, который в ответ передает им свое содержимое.
Этот процесс в терминологии DNSназывается переносом зон {zone transfer).База данных DNS реализуется в виде набора (небольшого) файлов, среди которых наиболее важный содержит все записи о ресурсах со всех узлов соответствующей зоны. Такой подход позволяет легко идентифицировать узлы по их доменным именам, в результате понятие идентификатора узла сводится (неявно) киндексу файла.Чтобы лучше понять эту особенность реализации, в табл. 4.4 приведена частьфайла, в котором находится основная информация о домене cs.vu.nl (отметим,что для лучшего понимания материала файл был изменен).
Файл демонстрируетсодержимое восьми различных узлов, представляющих собой часть доменаcs.vu.nl, при этом каждый узел идентифицируется собственным доменным именем.Таблица 4.4. Выдержка из базы данных DNS для зоны cs.vu.nlЗначение записиИмяТип записиcs.vu.nlSOAstar(1999121502.7200.3600.2419200.86400)cs.vu.nlNSstar.cs.vu.nlcs.vu.nlNStop.cs.vu.nlcs.vu.nlNSsolo.cs.vu.nlcs.vu.nlТХТ" V r i j G U n 1 v e r s 1 t e 1 t - M a t h . & Сотр.
S c . "cs.vu.nlMX1 zephyr.cs.vu.nlcs.vu.nlMX2 tornado.cs.vu.nlcs.vu.nlMX3 star.cs.vu.nlstar.cs.vu.nlHINFOSun U n i xstar.cs.vu.nlMX1 star.cs.vu.nlstar.cs.vu.nlMX10 zGphyr.cs.vu.nl130.37.24.6star.cs.vu.nlAstar.cs.vu.nlA192.31.231.42zephyr.cs.vu.nlHINFOSun Unixzephyr.cs.vu.nlMX1 zephyr.cs.vu.nlzephyr.cs.vu.nlMX2 tornado.cs.vu.nlzephyr.cs.vu.nlA192.31.231.66www.cs.vu.nlCNAMEsol1ng.cs.vu.nlпродолжение^236Глава 4.
ИменованиеТаблица 4,4 (продолжение)ИмяТип записиЗначение записиftp.cs.vu.nlCNAMEsoling.cs.vu.nlsoling.cs.vu.nlHINFOSun Unixsoling.cs.vu.nlMX1 sol1ng.cs.vu.nlsoling.cs.vu.nlMX10zephyr.cs.vu.nlsoling.cs.vu.nlА130.37.24.11laser.cs.vu.nlHINFOPC MS-DOSlaser.cs.vu.nlА130.37.30.32vucs-das.cs.vu,,п1PTR0.26.37.l30.1n-addr.arpavucs-das.cs.vu,,п1А130.37.26.0Узел cs.vu.nl представляет как домен, так и зону. Его запись о ресурсах SOA содержит специальную информацию о подлинности этого файла, которую мы рассматривать не будем. В этой зоне имеется три сервера имен, канонические именаих хостов содержатся в записях NS.
Запись ТХТ используется для хранения дополнительной информации и не может быть обработана серверами имен автоматически. Кроме того, мы видим три почтовых сервера, обрабатывающих приходящуюпочту, адресованную пользователям этого домена. Число перед именем почтовогосервера указывает на приоритет выбора. Отправляющий почту сервер сначала пытается установить контакт с принимающим сервером с наименьшим номером, в данном примере это zephyr.cs.vu.nl.Хост star.cs.vu.nl выполняет обязанности сервера имен этой зоны.
Серверы именважны для любой службы имен. Что мы можем сказать об этом сервере имен?Ему присуща дополнительная устойчивость, создаваемая двумя независимымисетевыми интерфейсами, каждый из которых представлен отдельной записью оресурсах А. Таким образом, обрыв сетевой связи до некоторой степени пройдетбез последствий.Следующие четыре строки предоставляют необходимую информацию по почтовому серверу. Заметим, что этот почтовый сервер кроме всего прочего архивируется на другой почтовый сервер, путь к которому — tornado.cs.vu.nl.Следующие шесть строк демонстрируют типовую конфигурацию web-сервера факультета, в котором на одной из машин реализованftp-серверс именем solJng.cs.vu.nl.При исполнении обоих серверов на одной машине (и использовании этой машины только для служб Интернета) поддержка системы значительно облегчается.Так, например, оба сервера могут работать с одним представлением файловойсистемы, а для эффективности часть файловой системы можно реализовать на сервере solJng.cs.vu.nl.
Подобный подход часто применяется для служб WWW и FTP.Следующие две строки содержат информацию об одном из лазерных принтеров, соединенных с локальной сетью. Последние две строки демонстрируют обратное отображение адресов в канонические имена. В данном случае имя суперкомпьютера отдела может быть найдено по его адресу в домене in-addr.arpa.Поскольку домен cs.vu.nl реализован в одной зоне, табл. 4.4 не содержит ссылок на другие зоны. Способ создания ссылок на поддомены, реализованные4.1.
Именованные сущности237в другой зоне, иллюстрирует табл. 4.5. Все, что необходимо, — это указать серверимен для поддомена, просто задав его доменное имя и IP-адрес. При разрешенииимени узла, который не входит в домен cs.vu.nl, разрешение имени продолжитсяв месте, адрес которого будет считан из базы данных DNS для сервера имен домена cs.vu.nl.Таблица 4 .
5 . Часть описания домена vu.nl, содержащая домен cs.vu.nlИмяТип записиЗначение записиcs.vu.niNSsolo.cs.vu.nlsoio.cs.vu.nlА130.37.24.14.1.5. Пример — Х.500Система DNS — пример традиционной службы именования. Когда заданы имена(возможно, иерархически построенные), DNS разрешает имя как узел в графеименования и возвращает содержимое этого узла в виде записи о ресурсах.В этом смысле разрешение имени в DNS сравнимо с поиском номера телефонав телефонной книге.В том, что мы называем службами каталогов, применяется другой подход.Служба каталогов {directory service) — это особый тип службы именования, в которой клиент может вести поиск суш;ности на основании описания ее свойств,а не полного Ихмени.
Этот подход очень похож на способ, которым люди используют справочник «Желтые страницы», когда им нужно, к примеру, починитьразбитое окно. В этом случае пользователь ищет заголовок «Ремонт окон», а подним находит список названий фирм, которые вставляют в окна стекла.В этом пункте мы кратко рассмотрим службу каталогов OSI Х.500. Несмотряна то что службы каталогов доступны уже более десятилетия, они стали особенно популярными лишь недавно в виде упрощенных версий, реализованных какслужбы Интернета. Детальную информацию по Х.500 можно найти в [88, 368].Практические сведения по различным службам каталогов, включая и Х.500, содержатся в [414].Пространство имен Х.500Концептуально служба каталогов Х.500 состоит из множества записей, которыеобычно называются элементами каталога.
Элемент каталога в Х.500 похож на запись о ресурсах системы DNS. Каждая запись состоит из набора пар (атрибут,значение), причем каждый атрибут имеет ассоциированный с ним тип. Различаются атрибуты с одним значением (однозначные) и атрибуты с несколькими значениями (многозначные). Последние обычно представляют собой массивы илисписки. Так, например, простой элемент каталога, определяющий сетевые адресанескольких основных серверов из табл. 4.4, приведен в табл.
4.6.В этом примере мы использовали соглашение об именовании, описанное встандартах на Х.500, которое применили к первым пяти атрибутам. АтрибутыOrganization и OrganizationUnit описывают соответственно организацию и отдел,238Глава 4. Именованиеассоциирующиеся с данными, хранящимися в записи. Атрибуты Locality и Country предоставляют дополнительную информацию о том, где хранится элемент.Атрибут CommonName часто используется в качестве имени (не слишком точного) для идентификации элемента в ограниченной части каталога. Так, например,имени «Main server» может быть достаточно для того, чтобы найти элемент изнашего примера, имеющий соответствующие значения остальных четырех атрибутов — Country, Locality, Organization и OrganizationalUnit.
В нашем примере только атрибут Mail_Servers имеет несколько значений. Все остальные атрибуты однозначны.Таблица 4 . 6 . Простой пример элемента каталога Х.500АтрибутАббревиатураCountryСNLLocalityLAmsterdamOrganization0Vrije Un1vers1te1tOrganizationalUnitЗначениеOUMath. & Сотр. Sc.CommonNameCNMain serverMall_Servers-130.37.24.6. 192.31.231.42. 192.31.231.66FTP_ServerWWW_Server130.37.24.11130.37.24.11Набор всех элементов каталога службы каталогов Х.500 называется информационной базой каталога {Directory Information Base, DIB), Важный момент — каждая запись в DIB имеет уникальное имя, чтобы ее можно было найти. Глобально уникальное имя получается из последовательности атрибутов именованиякаждой записи.
Каждый атрибут именования называется относительно различимым именем {Relative Distinguished Name, RDN). В нашем примере из табл. 4.6первые пять атрибутов — это и есть все атрибуты именования. Если использовать стандартные сокращения для представления атрибутов именования Х.500,приведенные в табл. 4.6, атрибуты Country, Organization и OrganizationalUnit можноиспользовать для формирования глобально уникального имени:/C=NL/0=Vrije Univers1te1t/OU=Math.