BIND включает в себя две части. Первая - это пользовательский
интерфейс, называемый разрешателем, который состоит из группы подпрограмм,
расположенных в C-библиотеке /lib/libc.a. Вторая - фактический сервер,
называемый named. Это демон, выполняющийся в фоновом режиме и обслуживающий
запросы на данном сетевом порту. Стандартный порт для UDP и TCP задается в
/etc/services.
2.1. Подпрограммы Разрешателя в libc
При создании вашей системы 4.3BSD вы можете построить C-библиотеку либо
с использованием подпрограмм разрешателя сервера имен, либо с использованием
подпрограмм просмотра host-таблицы, чтобы выполнить разрешение имен и
адресов host'ов. По умолчанию разрешатель для 4.3BSD использует сервер имен.
Построение C-библиотеки для использования сервера имен изменяет способ
выполнения своих функций вызовами gethostbyname(3N), gethostbyaddr(3N) и
sethostent(3N). Сервер имен оставляет прежней gethostent(3N), поскольку он
не задействует концепцию следующей строки в базе данных. Эти библиотечные
вызовы построены с подпрограммами разрешателя, необходимыми для запроса
сервера имен.
Разрешатель включает в себя несколько подпрограмм, которые формируют
пакеты запроса и обмениваются ими с сервером имен.
Перед построением C-библиотеки установите в /usr/src/lib/libc/Makefile
переменную HOSTLOOKUP равной named. Затем постройте и установите
C-библиотеку и компилятор, и тогда компилируйте оставшуюся часть системы
4.3BSD. Для дальнейшей информации смотрите раздел 6.6 документа ``Installing
and Operating 4.3BSD on VAX''.
2.2. Сервис Имен
Основная функция сервера имен состоит в обеспечении информации о
сетевых объектах при ответе на запросы. Спецификации для этого сервера имен
определены в RFC882, RFC883, RFC973 и RFC974. Эти документы можно найти в
/usr/src/etc/named/doc в 4.3BSD или получить с помощью ftp из sri-nic.arpa.
Также рекомендуем вам прочесть связанные страницы оперативного руководства
named(8), resolver(3) и resolver(5).
Преимущество использования сервера имен над просмотром host-таблицы для
разрешения host-имени состоит в отсутствии необходимости одного
централизованного хранилища для всех имен. Полномочия для этой информации
могут быть делегированы различным организациям в сети, ответственным за это.
Подпрограммы просмотра host-таблицы требуют, чтобы host-файл для всей
сети поддерживался в некотором центре несколькими людьми. Это прекрасно
работает для небольших сетей, где имеются только несколько машин и различных
организаций, ответственных за их взаимодействие. Но это не работает хорошо
для больших сетей, где машины пересекают организационные границы.
При использовании сервера имен сеть может разбиваться на иерархию
доменов. Пространство имен организуется в виде дерева в соответствии с
организационными или административными границами. Каждому узлу, называемому
доменом, дается метка, и имя домена является конкатенацией всех меток
доменов от корня до текущего домена, перечисленных справа налево и
разделенных точками. Уникальность метки необходима только в пределах своего
домена. Все пространство разбивается на несколько областей, называемых
зонами, каждая из которых начинается с домена и распространяется вниз до
доменов-листьев, или до доменов, с которых начинаются другие зоны. Зоны
обычно представляют административные границы. Пример host-адреса для host'а
в Университете штата Калифорния, Беркли, будет выглядеть следующим образом:
monet.Berkeley.EDU
Домен верхнего уровня для образовательных организаций - EDU; Berkeley -
поддомен EDU, и monet - host-имя.
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!