Система доменов и распределенная база данных DNS
Особенности использования доменных имен | ||||||||||||||
Состав и основные элементы DNS | ||||||||||||||
Пространство имен домена и записи базы данных
| ||||||||||||||
Серверы имен
| ||||||||||||||
Пример построения и инсталляции DNS | ||||||||||||||
Примеры построения запросов и ответов серверов имен | ||||||||||||||
Примеры работы программы разрешения имен |
Для обращения к хостам в сети Internet используются 32-разрядные IP-адреса, однозначно идентифицирующие любой сетевой компьютер. Однако для пользователей применение IP-адресов при обращении к хостам не очень удобно.
Поэтому в Internet принято присваивать имена всем компьютерам. Использование имен дает пользователю возможность лучше ориентироваться в кибер-пространстве Internet — куда проще запомнить, например, имя www.foyota.com, чем четырехзвенную цепочку IP-адреса. Применение в Internet понятных для пользователей имен и породило проблему их преобразования в IP-адреса.
Такое преобразование необходимо, так как на сетевом уровне адресация пакетов осуществляется не по именам, а по IP-адресам, следовательно, для непосредственной адресации сообщений в Internet имена не годятся. Поэтому была создана новая система преобразования имен, позволяющая пользователю, в случае отсутствия у него информации о соответствии имен и IP-адресов, получить необходимые сведения.
Эта система получила название системы имен доменов — DNS (Domain Name System).
DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.
Для реализации системы DNS был создан специальный сетевой протокол DNS. Кроме того, в сети создавались специальные выделенные информационно-поисковые серверы — DNS-серверы.
Протокол DNS является служебным протоколом прикладного уровня. Этот протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной базы данных о соответствии символьных имен и IP-адресов. Эта база данных распределена по административным доменам сети Internet. Клиенты сервера DNS знают IP-адрес сервера DNS своего административного домена и по протоколу IP передают запрос, в котором сообщают известное символьное имя и просят вернуть соответствующий ему IP-адрес. Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.
База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.
Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:
com - коммерческие организации (например, microsoft.com);
edu - образовательные (например, mit.edu);
gov - правительственные организации (например, nsf.gov);
org - некоммерческие организации (например, fidonet.org);
net - организации, поддерживающие сети (например, nsf.net).
В целях предоставления зарубежным странам, чьи сети входят в INTERNET, возможности контроля за именами находящихся в них систем создан набор 2-х буквенных доменов, которые соответствуют доменам высшего уровня для этих стран. Например:
au для Австралии
ca для Канады
cn для Китая
fi для Финляндии
fr для Франции
se для Швеции и т.д.
Общее число кодов стран - 300; компьютерные сети существуют приблизительно в 150 из них. Следует отметить, что США имеют свой собственный код страны, хотя он широко не иcпользуется. В США большинство систем пользуются “организационными” доменами (типа edu ), а не “географическими”( типа va.us - штат Вирджиния).
Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. В имени может быть любое число доменов, но более пяти встречается редко. Каждый последующий домен в имени (если смотреть слева направо) больше предыдущего. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню.