Распознаватели и серверы имен

Распознаватели и серверы имен

Организации обычно работают с одним или несколькими серверами имен (name servers). Часто в качестве сервера используется программа BIND (Berkeley Internet Name Domain). Приложения, такие как клиенты и серверы, которые мы создаем в этой книге, соединяются с сервером DNS при помощи вызова функций из библиотеки, называемой распознавателем (resolver). Обычные функции распознавателя — gethostbyname и gethostbyaddr, и обе они описаны в этой главе. Первая находит адрес узла по его имени, а вторая — наоборот.

На рис. 11.1 показано типичное расположение приложений, распознавателей и серверов имен. В некоторых системах код распознавателя содержится в системной библиотеке и встраивается в приложение, когда оно создается. В других системах имеется централизованный демон-распознаватель, к которому обращаются все приложения. Системная библиотека выполняет удаленные вызовы процедур такого распознавателя. В любом случае код приложения вызывает код распознавателя посредством обычных вызовов, чаще всего gethostbyname и gethostbyaddr.

Рис. 11.1. Типичное расположение приложений, распознавателей и серверов имен

Код распознавателя считывает из файлов конфигурации, зависящих от системы, расположение серверов имен организации. (Мы говорим «серверы имен», употребляя множественное число, потому что большинство организаций работают с несколькими серверами имен, хотя мы и показываем на рисунке только один локальный сервер.) Файл /etc/resolv.conf обычно содержит IP-адреса локальных серверов имен.

ПРИМЕЧАНИЕ

Было бы удобно указывать в файле /etc/resolv.conf имена, а не IP-адреса серверов имен, потому что имена удобнее запоминать и редактировать, однако это возвратило бы нас к вечной проблеме курицы и яйца: каким образом распознать имя сервера имен?

Распознаватель посылает запрос локальному серверу имен, используя UDP. Если локальный сервер имен не знает ответа, он обычно запрашивает другие серверы имен через Интернет, также используя UDP. Если ответ слишком велик, чтобы поместиться в один UDP-пакет, распознаватель автоматически переключается на TCP.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

FTP-серверы

Из книги Музыкальный центр на компьютере автора Леонтьев Виталий Петрович

FTP-серверы Где же «живут» эти самые файлы в Сети и как получить к ним доступ?Что ж – если для информационных страничек была придумана система WWW, то и для файлов создана собственная Вселенная – сеть серверов FTP.Аббревиатура FTP означает File Transfer Protocol, протокол передачи


11.4.4. Фонт-серверы

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

11.4.4. Фонт-серверы Хотя вывод символов на экран с помощью X-сервера графической подсистемы XFree86 и обеспечивает вывод текста, однако, этот способ имеет два крупных недостатка. Во-первых, шрифты должны располагаться на том же компьютере, на котором запущен X-сервер. Во-вторых,


Inetd и серверы RPC

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Inetd и серверы RPC По умолчанию серверы, созданные с помощью rpcgen, могут вызываться сервером верхнего уровня inetd. Этот сервер описывается в разделе 12.5 [24]. Изучение содержимого заглушки сервера, создаваемой rpcgen, показывает, что при запуске функции main сервера она проверяет,


12.8 Локальные и глобальные серверы имен доменов

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

12.8 Локальные и глобальные серверы имен доменов В изолированной сети TCP/IP можно применять любое бесплатное программное обеспечение DNS для создания первичной базы данных трансляции имен и репликации этой базы данных в определенные точки сети. Все пользовательские запросы


Серверы POP для Linux

Из книги Сетевые средства Linux автора Смит Родерик В.

Серверы POP для Linux Серверы POP входят в состав практически каждого дистрибутивного пакета Linux. Как правило, самым простым решением является использование сервера, поставляемого вместе с системой, но если вы перенастроите сервер SMTP для хранения писем в другом формате, вам,


Серверы DNS для Linux

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир


Глава 21 FTP-серверы

Из книги C++. Сборник рецептов автора Диггинс Кристофер

Глава 21 FTP-серверы Протокол FTP (File Transfer Protocol — протокол передачи файлов) существует давно и пользуется большой популярностью в Internet. Он обеспечивает обмен файлами между компьютерами, подключенными к сети. FTP-клиенты могут копировать файлы с сервера и, если позволяет


Web-сайты и Web-серверы

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Web-сайты и Web-серверы Как мы только что выяснили, все интернет-программы делятся на клиенты и серверы. Клиенты работают на стороне пользователя, получают от них интернет-адреса и выводят им полученную с этих адресов информацию. Серверы принимают запросы от клиентов,


2.4. Предотвращение конфликта имен с помощью пространств имен

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

2.4. Предотвращение конфликта имен с помощью пространств имен ПроблемаВ несвязанных между собой модулях обнаружены конфликтующие имена или требуется заранее избежать возможности таких конфликтов, создав логические группы кода.РешениеДля структурирования кода


Серверы

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Серверы На платформах, имеющих сервисы - Windows NT, 2000 и XP - сервер Firebird инсталлируется по умолчанию для запуска как сервис. Сервис инсталлируется и запускается автоматически по окончании процедуры инсталляции, а также при первоначальной загрузке серверной машины. Как


11.3. Внешние DNS-серверы

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

11.3. Внешние DNS-серверы Если в локальном файле /etc/hosts не найдено записи о нужном имени, то компьютер должен запросить эту информацию у DNS-сервера. Для этого нужно знать IP-адрес этого самого сервера. Как система его узнает? Из файла /etc/resolv.conf, который должен выглядеть примерно


5.5.3. Серверы

Из книги автора

5.5.3. Серверы Жизненный цикл сервера можно представить так:1) создание сокета, ориентированного на соединения (функция socket());2) назначение сокету адреса привязки (функция bind());3) перевод сокета в режим ожидания запросов (функция listen());4) прием поступающих запросов (функция


4.8. Параллельные серверы

Из книги автора

4.8. Параллельные серверы Сервер, представленный в листинге 4.2, является последовательным (итеративным) сервером. Для такого простого сервера, как сервер времени и даты, это допустимо. Но когда обработка запроса клиента занимает больше времени, мы не можем связывать один


22.7. Параллельные серверы UDP

Из книги автора

22.7. Параллельные серверы UDP Большинство серверов UDP являются последовательными (iterative): сервер ждет запрос клиента, считывает запрос, обрабатывает его, отправляет обратно ответ и затем ждет следующий клиентский запрос. Но когда обработка запроса клиента занимает