Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети_метода.doc
Скачиваний:
4
Добавлен:
04.05.2019
Размер:
442.88 Кб
Скачать

1.1.4.2. Разрешение ip-адресов в имена узлов

IP-адреса достаточно длинные и трудно запоминаемые. Для идентификации IP-узлов удобнее (с точки зрения человека) использовать более естественные для пользователя символьные имена. Такие имена можно сделать осмысленными и в связи с этим проще запомнить. Для корпоративной сети, насчитывающей тысячи компьютеров принадлежащих к множеству подсетей, запомнить адреса всех компьютеров практически невозможно. В случае сети Internet, насчитывающей миллионы хостов проблема запоминания IP-адресов становится особенно острой. В этом контексте должна существовать возможность сопоставления имен узлов и IP-адресов.

Для устранения подобной проблемы была предложена система именования, получившая название системы доменных имен DNS (Domain Name System). Имена узлов, используемые в рамках данной системы, получили название FQDN (Fully Qualified Domain Name).

Имена узлов удобны еще и потому, что они позволяют организовать идентификацию узла безотносительно его физического расположения или IP-адреса. Действительно, IP-адрес узла соответствует его физическому расположению в сети. Если узел переносится из одной сети в другую, его IP-адрес должен быть изменен. Использование же имени узла для идентификации системы делает смену IP-адреса прозрачной для конечного пользователя. Существуют определенные ограничения на вид используемых имен узлов, описанные в RFC 1123. Имя узла может содержать до 255 символов, включая a-z, A-Z, 0-9 и знак дефиса. Использование специальных символов, таких как !, %, * не допускается, имя узла не может состоять только из цифр. Согласно новому RFC 1033 допускается начинать имена с цифр и использовать в именах символы подчеркивания.

Когда концепция глобальных сетей только формировалась, разрешение IP-адресов в имена узлов производилось при помощи базы данных хранящейся на «главном» компьютере глобальной сети описывающей эти соответствия. Так в предшественнице Internet сети ARPANet (Advanced Research Project Agency Network) состоящей из относительно небольшого числа компьютеров, определение имен осуществлялось при помощи единственного компьютера находившегося в Стенфордском научно-исследовательском институте. На этом компьютере хранился текстовый файл HOSTS, который в каждой строке содержал IP-адрес и соответствующее ему имя компьютера. С ростом глобальной сети использование этого единственного файла стало неэффективным. Однако файл HOSTS до сих пор задействован в системе разрешения IP-адресов, хотя уже и не играет в ней ключевую роль.

Файл HOSTS может поддерживаться пользователем компьютера или же находится на сервере и копироваться на каждую машину при ее загрузке. Однако этот файл должен обновляться каждый раз, когда IP-адрес какого-либо указанного в нем узла изменяется. В каждой строке файла HOSTS содержится в начале IP-адрес, за которым следует по крайней мере один пробел и соответствующие этому IP-адресу имена узлов или FQDN. Ни в одной строке не может содержаться несколько IP-адресов, хотя несколько имен узлов или FQDN в одной строке допустимы. Если компьютер настроен на использование файла HOSTS, то этот файл читается строка за строкой каждый раз, когда требуется определить имя узла. Чтобы ускорить определение имен, имеет смысл поместить часто используемые записи в начало файла.

Рис. 1.9. Процесс разрешения имен узлов в IP-адреса

При определении имен TCP/IP в первую очередь определяет, не содержится ли IP-адрес в его собственном кэше имен (рис. 1.9). Производится сравнение имени узла, с которым должно быть установлено соединение, с именем локального узла, заданным при настройке TCP/IP. Если имена совпадают, компьютер просто открывает TCP/IP соединение с самим собой по нужному порту. Если имена не совпадают, то производится поиск IP-адреса, соответствующего имени узла, в файле HOSTS. Если IP-адрес, соответствующий данному имени узла, не обнаружен в этом файле, то TCP/IP обращается к серверу DNS (DNS подробно обсуждается в разделе «DNS», ниже в этом разделе). Если запрос не дал результатов TCP/IP может производить некоторые дополнительные запросы зависящие от особенностей реализации конкретной операционной системы. В случае если один из описанных методов определения имени возвращает IP-адрес, то процесс останавливается, даже если полученный IP-адрес недопустим. Если ни один из методов не позволяет найти нужное соответствие имя-адрес, единственный способ установить соединение с удаленным узлом – использовать его IP-адрес вместо имени.

1.1.4.3. DNS – служба формирования имен узлов

Служба формирования имен узлов (DNS) в настоящее время является основой определения имен в сети Internet. DNS обеспечивает похожий на использование файла HOSTS, но более эффективный метод определения IP-адресов. DNS не производит определение адресов при помощи составленных вручную файлов, а использует иерархическую базу данных имен, распределенную по многим компьютерам.

Система доменов сети Internet представляет собой иерархическую структуру, администрируемую организацией InterNIC. Часто используется термин «пространство имен доменов» который обозначает структуру и данные, созданные распределенной службой формирования имен узлов в сети Internet. Эта иерархия имеет много уровней, и множество различных компьютеров отвечают за поддержку различных ее частей.

В корне иерархии находятся корневые серверы имен поддерживаемые InterNIC. На следующем уровне расположены домены верхнего уровня: .com, .net, .org, .edu и ряд других суффиксов, обозначающих названия стран или типы поддоменов в домене (рис. 1.9).

Рис. 1.10. Иерархия пространства имен доменов

Независимо от длины имени, узел находится в иерархической структуре доменной системы имен FQDN.

Определение имени при помощи DNS осуществляется за счет обращения клиента на сервер DNS с запросом на разрешение имени в IP-адрес. DNS сервер имеет возможность сбора информации от других DNS серверов при выполнении запроса клиента. Таким образом в отличии от сосредоточенной базы данных о соответствии имени IP-адресу (файл HOSTS), DNS использует распределенную базу данных. DNS-серевер (сервер имен) может выполнять одну или несколько из четырех возможных ролей:

  • Основной сервер имен отвечает за часть пространства имен доменов, называемого зоной. Информация, образующая зону, содержится в файле зоны.

  • Дополнительный сервер имен содержит копию информации о зоне, которую он получает от основного сервера имен. Это позволяет повысить нажедность обслуживания зоны за счет создания избыточности информации.

  • Мастер-сервер имен – любой сервер имен, передающий информацию о зоне дополнительному серверу имен.

  • Кэширующий сервер – кэширует запросы на определенное имя. Назначение такого сервера состоит в увеличении эффективности процесса определения имен.

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