Ниже мы опишем основную схему функционирования DNS. Основным предметом рассмотрения для нас будет являться преобразование имени хоста в соответствующий IP-адрес.
Предположим, что некоторому приложению (web-браузеру или программе чтения электронной почты), выполняющемуся на хосте пользователя, необходимо получить IP-адрес удаленного хоста. Приложение вызывает клиентскую сторону DNS и передает ей имя нужного хоста. (Многие UNIX-машины поддерживают функцию gethostbyname(), вызываемую приложениями для получения IP-адреса. В разделе «Программирование UDP-сокетов» этой главы мы покажем, каким образом Java-приложение может обратиться к службе DNS.) Клиентская сторона, в свою очередь, создает запрос, отсылает его DNS-серверу и ждет ответа. Как правило, время ответа DNS-сервера составляет от нескольких миллисекунд до десятков секунд. Ответ представляет собой сообщение, содержащее группу из одного или нескольких IP-адресов, которые передаются DNS-клиентом вызвавшему его приложению. Таким образом, с точки зрения приложения служба DNS является «черным ящиком», на входе которого находится имя удаленного хоста, а на выходе — его IP-адрес. На самом деле этот «черный ящик» представляет собой сложную систему, состоящую из множества серверов имен, распределенных по всему земному шару, и протокола, определяющего взаимодействие между серверами имен и пользовательскими хостами.
Читать далее »
Популярность: 17%