1 (1131253), страница 51
Текст из файла (страница 51)
Вначале Интернет был не велик, иметь дело с именами было довольно просто. NIC создал регистратуру. Можно было послать запрос, и в ответ высылали список имен и адресов. Этот файл называется “host file” (файл абонентских машин), регулярно распространялся по всей сети – рассылался всем машинам. Имена были простыми словами, все они были уникальны. Если вы использовали имя, то ваш компьютер просматривал этот файл и подставлял вместо имени реальный числовой адрес. Так же, как работает телефонный аппарат со встроенным списком абонентов. Всем хватало простых имен, был один Мокий, один Мокридий, один Пафнутий и одна Перепетуя.
По мере развития и расширения Интернета возрастало количество абонентских машин, а потому разрастался и упомянутый файл. Возникали значительные задержки при регистрации и получении имени для новых компьютеров, стало затруднительно изыскивать имена, которые еще никто не использовал, слишком много сетевого времени затрачивалось на рассылку этого огромного файла всем машинам, в нем упомянутым. Стало очевидно, что при таких темпах изменений и роста сети нужна распределенная оперативная система, опирающаяся на новый принцип. Таковая была создана, ее назвали доменной системой имен – DNS, а способ адресации – способом адресации по доменному принципу. DNS также иногда называют региональной системой наименований.
Структура региональной системы имен.
Доменная система имен - это метод назначения имен путем передачи сетевым группам ответственности за подмножество имен в своем домене. Каждый уровень этой системы называется доменом. Домены в имени отделяют друг от друга точками: cs.msu.su, math.msu.su. В имени может быть различное количество доменов, но практически их не более пяти. Первым в имени стоит название абонентской машины - реального компьютера с IP-адресом. Это имя создано и поддерживается группой (например, компьютер redsun в группе cs (факультет вычислительной математики и кибернетики)), к которой он относится. Группа входит в более крупное подразделение msu (университетское объединение – сеть МГУ), которое, в свою очередь, является частью национальной сети (например, стран бывшего СССР, домен su).
Все пространство доменов распределено на зоны. Как это происходит, мы кратко рассмотрим ниже. Имена зон можно условно разделить на организационные и географические. На высшем уровне в этой иерархии зарегистрированы следующие организационные зоны:
-
com – commercial (коммерческие)
-
edu – educational (образовательные)
-
gov – government (правительственные)
-
mil – military (военные)
-
net – network (организации, обеспечивающие работу сети)
-
org – organization (некоммерческие организации)
Рисунок 7.25. Часть пространства доменных имен в Интернете
В данный момент, чтобы разгрузить домен «com», собираются создать несколько новых доменов.
В организационных зонах обычно размещаются непосредственно домены организаций.
Каждая страна (государство) имеет свой географический домен из двух букв, например:
-
ae – United Arab Emirates (Объединенные Арабские Эмираты)
-
au – Australia (Австралия)
-
be – Belgium (Бельгия)
-
br – Brazil (Бразилия)
-
by – Belarus (Белоруссия)
С левого конца доменного имени находятся имена абонентских машин. Имена бывают собственные и функциональные. Имена собственные каждый придумывает в меру фантазии: машинам присваиваются имена членов семьи, животных, растений, музыкантов и артистов, литературных персонажей – кто во что горазд.
Имена функциональные вытекают из функций, выполняемых машиной:
-
www – Сервер HTTP (WWW)
-
ftp – FTP-сервер
-
ns, nss, dns – Сервер DNS (Name)
-
mail – Mail-сервер
-
relay – Mail Exchanger
-
*proxy – соответствующий proxy-сервер
Считается нежелательным присваивать какой-либо машине функциональное имя – в любой момент может потребоваться перенести соответствующую функцию на другую машину. Для этого лучше всего использовать псевдонимы, которые перенаправляют запросы к данному имени на записи, относящиеся к другому имени.
Группа может создавать или изменять любые принадлежащие ей имена. Если группа cs решит ввести в эксплуатацию новый компьютер и назвать его chronos, то для этого ни у кого не надо спрашивать разрешения, все, что от нее требуется, - это добавить новое имя в соответствующую часть соответствующей базы данных, и рано или поздно каждый, кому потребуется, узнает об этом имени. Аналогично, если в МГУ решат создать новую группу, например college, они (домен msu) могут также это сделать, ни у кого не спрашивая разрешения. Тогда, если каждая группа придерживается этих простых правил и поддерживается уникальность имен компьютеров в группе, то у любых разных систем в сети Интернет будут всегда разные имена.
Описанный выше механизм аналогичен механизму присвоения почтовых адресов. Названия всех стран различаются. Различаются названия всех областей, республик в Федерации, и эти названия утверждаются в государственном масштабе из центра (конечно, обычно сами регионы заботятся об уникальности своих названий, поэтому здесь царит полная демократия: как республика хочет, так она и называется). В республиках – субъектах федерации – решают вопросы о названиях районов и округов, в пределах одной республики они различаются. Аналогично далее с городами и улицами городов. В разных городах могут быть улицы с одинаковыми названиями, например, почти во всех городах СССР были улицы Ленина и Мира. Однако то были улицы в разных городах. В пределах же одного населенного пункта улицы всегда имеют разные названия, причем именование улиц контролирует соответствующий центральный орган местной администрации (мэрии, сельсовета, горсовета).
Поскольку Интернет – сеть всемирная, то нужен был механизм распределения имен на самом верхнем, межгосударственном уровне. Сейчас принята двухбуквенная кодировка государств. Это оговорено в RFC 822. Так, например, домен «Канада» называется «ca», бывший СССР – «su», США – «us» и т.д. США включили в эту систему структурирования для всеобщности и порядка. Всего же кодов стран почти 300. Единый каталог Интернета находится в SRI International (Менло-Парк, Калифорния, США) – в государственной организации.
Поиск адреса по доменному имени.
Теперь, после того как мы узнали, как соотносятся домены и создаются имена, познакомимся с тем, как использовать эту замечательную систему. Она работает автоматически. Нам не надо разыскивать адрес, соответствующий имени или подавать специальную команду для его поиска (в UNIX – команда nslookup). Все компьютеры в Интернете способны пользоваться доменной системой.
Когда используют имя, например, www.lvk.cs.msu.su, надо преобразовать его в адрес. Для этого приложение начинает запрашивать помощь у DNS-серверов. Эти приложения обладают соответствующей базой данных, в число обязанностей которых входит обслуживание такого рода запросов. DNS-сервер начинает обработку имени с его правого конца и двигается по нему влево, т.е. сначала производится поиск адреса в самой верхней группе иерархии, потом постепенно поиск опускается по иерархии, тем самым сужая область поиска. Однако с целью сокращения поиска, на первом шаге опрашивается локальный узел DNS. Здесь возможны три случая:
-
Местный сервер знает адрес, потому что этот адрес содержится в его части всемирной базы данных. Например, если вы подсоединены к сети Института Физики Высоких Энергий (IHEP), то ваш местный сервер должен обладать информацией о всех компьютерах локальной сети этого института.
-
Местный сервер знает адрес, потому что кто-то недавно уже запрашивал его. Когда запрашивается адрес, сервер DNS придерживает его у себя в памяти некоторое время, как раз на случай, если кому-нибудь потребуется тот же адрес – это повышает эффективность системы.
-
Местный сервер адрес не знает.
В последнем случае местный сервер обращается к корневому серверу. Это сервер, который знает адреса серверов имен высшего уровня (самых правых в имени), в нашем случае это уровень государств (ранга домена su). У него запрашивается адрес компьютера, ответственного за зону su. Местный DNS-сервер связывается с этим сервером, расположенным на вершине иерархии, и запрашивает у него адрес сервера, ответственного за домен msu.su. Теперь уже запрашивается сервер, отвечающий за домен msu, потом опрашивается сервер домена cs, затем – lvk, и у него запрашивается адрес рабочей машины www.
Как уже было сказано, для повышения эффективности поиск начинается не с самого верха, а с наименьшего домена, в который входите и вы, и компьютер, имя которого вы запросили.
Серверы имен.
Должно быть ясно, что нет и не может быть единого сервера, содержащего всю базу DNS. Его не может быть как в силу вопросов безопасности и надежности функционирования сети Интернет, так и в силу производительности. Чтобы сделать базу распределенной, все пространство имен доменов разбивают на непересекающиеся зоны. На рисунке 7-26 показан пример такого разбиения. Границы зоны определяет администратор зоны. Каждая зона покрывает часть дерева доменов, в нее входят сервера имен этих доменов. Обычно в каждой зоне есть основной сервер зоны и несколько вспомогательных серверов имен. Часто из соображений надежности сервер зоны располагают вне зоны.
Рисунок 7-26. Часть пространства доменных имен с делением на зоны
Весь процесс поиска IP-адреса по имени домена, описанный в разделе 7.2.2., реализуют сервера имен. Если запрос относится к юрисдикции того сервера имен, к которому обратились, т.е. запрашиваемый домен находится в ведении данного сервера имен, тогда этот сервер генерирует ответ, содержащий записи всех ресурсов, соответствующих запросу. Этот ответ считается авторитетным, т.е. содержащаяся в нем информация считается a priori верной. Если запрос относится к удаленному домену, то сервер имен генерирует запрос к соответствующему удаленному серверу имен.
Однако прежде чем обратиться к удаленному серверу имен, обращающийся сервер посмотрит записи ресурсов в своей кэш-памяти. Записи в кэш-памяти не являются авторитетными. Время актуальности содержащейся в них информации, определяет поле времени жизни (см. назначение поля времени жизни в разделе 7.2.4.).
Записи ресурсов.
С каждым доменом связано множество ресурсов, отнесенных к этому домену. Эти записи хранятся в базе DNS. Когда происходит обращение к DNS с каким-либо именем, в ответ приходит не только IP-адрес, но и запись о ресурсах, соответствующих указанному имени.
Запись ресурса состоит из пяти полей: «Имя домена» (Domain name), «Время жизни» (Time to live), «Класс» (Class), «Тип» (Type), «Источник полномочий» (SOA - Start Of Authority).
В поле «Имя домена» указано имя домена, к которому относится эта запись. При обращении к базе DNS с таким ключом в ответ поступают все записи, у которых в этом поле указано заданное имя.
Поля «Время жизни» указывает интервал времени в секундах, в течение которого поля этой записи не меняются. Например, 86 400 - это число секунд в сутках. Если в этом поле указано такое число, то это значит, что запись меняется не чаще одного раза в сутки.
В третьем поле «Класс» указано IN, если ресурс, к которому относится эта запись, является ресурсом Интернета. Здесь могут быть и другие значения, но они встречаются редко.
Значения поля «Тип» указаны в таблице 7-28 и рассматриваются ниже.
Таблица 7-28. Основные типы записи ресурса DNS
| Тип | Значение | Описание |
| SOA | Источник полномочий | Параметры данной зоны |
| A | IP-адрес хоста | 32-разрядное число |
| MX | Обмен электронной почтой | Приоритет, домен, принимающий электронную почту |
| NS | Сервер имен | Имя сервера для данного домена |
| CNAME | Каноническое имя | Имя домена |
| PTR | Указатель | Псевдоним для IP-адреса |
| HINFO | Описание хоста | Центральный процессор и оперативная система в кодировке ASCII |
| TXT | Текст | Неинтерпретируемый ASCII-текст |
В поле «Источник полномочий» указано имя источника информации о зоне сервера имен (об этом сервере будет сказано ниже). Указывается также адрес электронной почты администратора сервера имен и другая служебная информацию. Если в этом поле указано значение А, то это значит, что в следующем поле указан IP-адрес этого ресурса. Если там указано значение МХ, то за ним следует имя машины, которая может получать почту для данного домена.















