logo search
адресация сетей

9. Преобразование имен в сетевые адреса

После активизации интерфейсов и установки маршрутов компьютер может обмениваться пакетами как с компьютерами локальной сети, так и с любыми другими компьютерами, с которыми он соединен системой шлюзов. Для указания адреса назначения пакета используются IP-адреса. Такая адресация естественна для маршрутизаторов, но чрезвычайно неудобна для пользователей. Для того чтобы компьютеры, подключенные к сети TCP/IP, могли обращаться друг к другу по имени, они должны иметь возможность преобразовывать доменные имена в IP-адреса, а также выполнять обратное преобразование. Существуют различные средства, позволяющие осуществлять подобные преобразования. Наиболее часто для этой цели используется DNS-сервер (Domain Name System — система доменных имен), который часто называют сервером имен. Кроме того, DNS может также осуществлять обратное преобразование. Однако, для того, чтобы такое взаимодействие было возможным, сервер DNS должен присутствовать в сети. DNS поддерживает глобальную распределенную базу данных, для работы с которой используется большое количество серверов. Для того чтобы пользоваться этой базой, компьютер должен знать адрес лишь одного сервера DNS. Большинство организаций и провайдеров Internet устанавливают у себя один или несколько серверов. Чтобы узнать адрес такого сервера, надо обратиться к администратору сети. Получив эти сведения, надо включить их в конфигурацию системы.

Установив сервер DNS в локальной сети, не только обеспечивается преобразование имен в ее пределах, но также предоставляется возможность внешним пользователям обращаться к компьютерам сети по именам.

Работа сети Internet базируется на использовании взаимодействующих между собой серверов DNS. Чтобы понять, как сервер, установленный в локальной сети, позволяет внешним пользователям обращаться к локальным компьютерам по именам, необходимо рассмотреть процесс обмена данными между различными серверами DNS. Предположим, что к серверу DNS обратился Web-броузер, пользователь которого задал URL http://www.rambler.ru. Сервер DNS должен преобразовать символьное имя www.rambler.ru в IP-адрес узла сети. Локальный сервер DNS начинает процесс преобразования с того, что обращается к корневому серверу DNS. IP-адреса компьютеров, выполняющих функции корневых серверов, указаны в конфигурации каждого сервера DNS; вероятность того, что эти адреса изменятся, крайне мала. Обращаясь к корневому серверу DNS, локальный сервер передает ему имя, предназначенное для преобразования (в данном примере это имя www.rambler.ru). В большинстве случаев корневой сервер не знает IP-адреса, соответствующего указанному имени, но имеет информацию о доменах верхнего уровня (TLD — top-level domain). Примерами таких доменов являются .com,.gov,. ru и т.д. Поэтому корневой сервер возвращает локальному серверу адреса компьютеров, поддерживающих DNS-сервер . ru , после чего локальный сервер передает запрос одному из компьютеров, обеспечивающих работу домена . ru . Сервер DNS . ru также не может преобразовать имя, но он знает IP-адреса компьютеров, ответственных за поддержку домена rambler . ru , поэтому передает их локальному серверу DNS. Сервер .rambler.ru знает IP-адрес, соответствующий имени www.rambler.ru, поэтому, получив запрос локального сервера, он возвращает ему требуемую информацию. После получения IP-адреса локальный сервер DNS передает его Web-броузеру, который использует адрес при формировании запроса к Web-серверу. Процесс преобразования адресов условно показан на рис.9.1. Детали этого процесса скрыты от пользователя. С точки зрения прикладной программы или работающего с ней пользователя дело обстоит так, как будто локальный сервер DNS имеет информацию о соответствии символьных имен и IP-адресов всех узлов Internet.

Рис.9.1. Процесс преобразования адреса

На первый взгляд описанная здесь процедура кажется сложной. Создается впечатление, что для ее выполнения потребуется много времени, однако реально преобразование имени завершается за несколько секунд. Существуют также способы ускорить этот процесс. Один из них состоит в том, что локальные серверы DNS кэшируют результаты преобразования адресов. Поэтому если два пользователя передадут серверу DNS запросы на преобразование одного и того же имени и между этими запросами пройдет не слишком много времени, то второй запрос будет обработан мгновенно. Сервер DNS лишь вернет второму пользователю результаты, полученные для первого пользователя. В кэше также сохраняются адреса серверов тех доменов, обращения к которым осуществляются наиболее часто. Например, локальный сервер DNS почти наверняка имеет сведения о серверах домена верхнего уровня .com, поэтому он не станет обращаться к корневому домену.

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

Если нужно, чтобы к компьютерам вашей сети можно было обращаться извне по именам, необходимо включить его в состав иерархии DNS. Другими словами, вы должны установить сервер DNS, который будет выполнять для вашего домена те же действия, которые сервер rambler . ru выполняет для своего домена. После того как ваш сервер будет настроен и запущен, а также после того как сервер DNS, поддерживающий домен более высокого уровня, узнает о существовании вашего сервера, каждый пользователь Internet сможет преобразовать имена компьютеров вашей сети в IP-адреса.

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

Вместо установки собственного сервера DNS, можно использовать один из серверов, предоставляющих услуги по преобразованию имен. Этим занимаются многие организации, осуществляющие поддержку DNS, и провайдеры Internet. Часто подобные услуги предоставляются бесплатно, в других случаях за них надо платить, но плата невелика (обычно она составляет несколько долларов в год). В любом случае сторонние организации предоставят возможность разместить либо один, либо оба сервера DNS, необходимых для обслуживания вашей сети.

Локальный сервер DNS не только предоставляет возможность внешним пользователям обращаться к компьютерам вашей локальной сети по именам. Он также выполняет преобразование символьных имен в IP-адреса для узлов локальной сети.

Использование локального сервера DNS предоставляет следующие преимущества.

• Преобразование адресов по запросам компьютеров локальной сети выполняет сервер, находящийся в той же сети, что увеличивает производительность работы. Увеличение производительности особенно заметно тогда, когда сервер DNS провайдера работает медленно или ненадежно. Локальный сервер поддерживает собственный кэш, что также способствует повышению быстродействия.

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

Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:

com - коммерческие организации (например, microsoft.com);

edu - образовательные (например, mit.edu);

gov - правительственные организации (например, nsf.gov);

org - некоммерческие организации (например, fidonet.org);

net - организации, поддерживающие сети (например, nsf.net).

Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню.

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