next up previous contents
Next: Маршрутизация Up: Работа Internet: организацияструктура, Previous: Создание сети с человеческим

Системы сетевых адресов

Помните, мы говорили, что компьютеры в Internet имеют числовые адреса вида 32.22.223.33, и успокоили вас, заверив, что запоминать эти цифры не придётся? Настала пора поговорить об этой стороне жизни Internet чуть подробнее.

Региональная система имён

Числовые адреса подходят для связи машин, люди же предпочитают имена. Очень непросто разговаривать, используя машинную адресацию, как бы это звучало:``Читайте homepage на 192.216.212.98'' (Бамбарбия! Кергуду!*), ещё труднее запомнить эти адреса. Поэтому компьютерам в Internet для удобства пользователей были присвоены собственные имена. Тогда описанный разговор принимает вид:``Читайте homepage на соваме''. Все приложения Internet позволяют пользоваться системными именами вместо числовых адресов.

Как мы уже упоминали, для понимания полезно использовать почтовую аналогию. Сетевые численные адреса вполне аналогичны почтовой индексации. Машины, сортирующие корреспонденцию на почтовых узлах, ориентируются именно по индексам, и только если с индексами выходит какая-то несуразность, передают почту на рассмотрение людям, которые по адресу могут понять в чём дело и сообразить, как быть, например, при отстутствии индекса -- определить правильный индекс почтового отделения места назначения. Нормальным же людям приятнее и удобнее иметь дело с географическими названиями и человеческими именами -- это аналоги компьютерных имён.

Конечно, такое именование имеет свои собственные проблемы. Прежде всего, следует убедиться, что никакие два компьютера, включённые в сеть, не имеют одинаковых имён. Должно также обеспечить преобразование имён в числовые адреса, для того чтобы машины (и программы) могли понимать нас, пользующихся именами: техника по-прежнему общается на языке цифр.

Немного истории. Вначале Internet размерами напоминала курилку, и иметь дело с именами было довольно просто. NIC создал регистратуру. Можно было послать запрос в ответ на который высылали список имён и адресов. Такой файл (назывался ``host file'' -- файл рабочих ЭВМ) регулярно распространялся по всей сети -- рассылался всем машинам. Имена были простыми словами, все были единственными. Если пользователь употреблял имя, его компьютер просматривал этот файл и подставлял вместо имени реальный числовой адрес. Всё было легко, просто и замечательно. Всем хватало простых имён, в курилке был один Джон, один Пит, один Donald.

Но по мере развития и расширения Internet возрастало количество пользователей, хостов, а потому увеличивался и упомянутый файл. Возникали значительные задержки при регистрации и получении имени новым компьютером, стало затруднительно изыскивать имена, которые ещё никто не использовал, начали появляться Патермуфии Пафнутьевичи Хлорелльские и Ясдондукты Яксокустодиевны Хламидомонадберги. Слишком много сетевого времени стало затрачиваться на рассылку этого огромного файла всем машинам, в нём упомянутым. Стало ясно: чтобы справиться с такими темпами изменений и роста сети, нужна распределённая оперативная система, опирающаяся на новый принцип. Таковая была создана, её назвали ``доменной системой имён'' -- DNS, а способ адресации -- способом адресации по доменному принципу. DNS иногда ещё называют региональной системой наименований.

Структура региональной системы имён

Если вы хотите узнать о DNS подробности, советуем вам прочитать RFC 1591, а также изумительную книгу [8]

Доменная система имён -- это метод назначения имён путём передачи сетевым группам ответственности за их подмножество имён. Каждый уровень этой системы называется доменом. Домены в именах отделяются друг от друга точками:

hump.ihep.su, vxcern.cern.ch, nic.ddn.mil
nusun.jinr.dubna.su, uddias.bashkiria.su

В имени может быть различное количество доменов, но практически их не больше пяти. По мере движения по доменам в имени слева направо, количество имён, входящих в соответствующую группу возрастает.

Первым в имени стоит название рабочей машины -- реального компьютера с IP адресом. Это имя создано и поддерживается группой (например, компьютер nusun (это SUN Sparc) в группе jinr (ОИЯИ)), к которой он относится. Группа входит в более крупное подразделение (например, городское объединение -- сеть города Дубны), которое в свою очередь, является частью национальной сети (например, сети стран бывшего СССР, домен su). Для США наименование страны по традиции опускается, там самыми крупными объединениями являются сети образовательных (edu), коммерческих (com), государственных (gov), военных (mil) учреждений, а также сети других организаций (org) и сетевых ресурсов (net).

Группа может создавать или изменять любые ей подлежащие имена. Если jinr решит поставить другой компьютер, например, Convex, и назвать его cv, она ни у кого не должна спрашивать разрешения, всё, что от неё требуется, -- это добавить новое имя и соответствующие записи в базу данных на своём сервере DNS, и, рано или поздно, каждый, кому потребуется, сможет узнать об этом имени.

Аналогично, если в Дубне решат создать новую группу, например, schools, они (домен dubna) могут это сделать также, ни у кого на то не спрашивая никакого соизволения.

Эта ситуация совершенно аналогична ситуации с присвоением географических названий -- организацией почтовых адресов. Названия всех стран различаются. Различаются названия всех областей, республик в Федерации, и эти названия утверждаются в государственном масштабе из центра (конечно, обычно сами регионы заботятся об уникальности своих названий, поэтому здесь царит полная демократия: как республика хочет, так она и называется)*. В республиках -- субъектах федерации -- решают вопросы о названиях районов и округов, в пределах одной республики они различаются. Аналогично далее с городами и улицами городов. В разных городах могут быть улицы с одинаковыми названиями: почему бы не быть во всех городах Союза по улице Ленина или Мира? Это улицы разных городов, и их не перепутать (помня о городах! Не напоминайте ``С лёгким паром!''). В пределах же одного населённого пункта улицы всенепременно имеют разные названия, причём именование этих улиц целиком и полностью под ответственностью и началом соответствующего центрального органа данного населённого пункта (мэрии, сельсовета, горсовета). При этом администрация соответствующего уровня должна иметь структурированную полную информацию о названиях и местоположении объектов, находящихся на её территории. Таким образом, почтовый адрес на основе географических и административных названий однозначно определяет точку назначения.

Аналогично, если каждая группа в Internet придерживается таких простых правил -- всегда убеждается, что имена, которые она присваивает, единственны во множестве её непосредственных подчинённых, то никакие две системы, где бы те ни были в Сети, не смогут получить одинаковых имён.

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

Поскольку Internet сеть мировая, требовался также способ передачи ответственности за имена внутри стран им самим. Сейчас принята двухбуквенная кодировка государств. Это оговорено в RFC 822. Так, например, домен Канада называется ca, бывший СССР -- su, Россия -- ru, США -- us и т.д. США также включили в эту систему структурирования для всеобщности и порядка. В этой кодировке представлено почти 300 стран, из которых около 100 имеют компьютерную сеть того или иного рода. Единый каталог Internet находится у SRI International Inc. (Менло-Парк, Калифорния, США) -- государственной организации.

Поиск адреса по доменному имени

Теперь вы знаете, как соотносятся домены и создаются имена. Возможно, вы теперь озадачены: а как использовать эту замечательную систему, что нужно делать? Ничего и никак не надо делать. Просто употребите имя на компьютере в Internet. В Internet каждый уважающий себя компьютер умеет обращаться с DNS, и каждый работающий в сети компьютер обязан знать свой собственный сетевой адрес. Расслабьтесь, имя переварится в числовой адрес автоматически.

Вам никогда не придётся самим разыскивать адрес, соответствующий какому-либо имени, или подавать специальную команду для его поиска (например, в UNIX -- это команда nslookup). Вы, конечно, можете это проделать -- для собственного удавольствия, но зачем, ведь этого совсем не требуется.

Когда вы пользуетесь именем, например, mx.ihep.su, компьютер должен преобразовать его в адрес. Для этого он начинает запрашивать информацию у DNS-серверов. Как мы уже говорили, -- это специальные сетевые узлы, обладающие соответствующей базой данных, в число обязанностей которых входит обслуживание такого рода запросов. Запрос посылается местному DNS-серверу, который, отвечает за имена в вашей зоне DNS. DNS-сервер начинает обработку имени с правого его конца и двигается по нему влево, т.е. сначала он производит поиск адреса в самой большой группе (домене), потом постепенно сужает поиск.

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

А вообще говоря, здесь возможны три случая:

--
Местный сервер знает адрес потому, что этот адрес содержится в его собственной базе данных, т.е. он сам ответственен за информационную поддержку запрошенного имени. Например, если вы подсоединены к сети Института Физики Высоких Энергий (IHEP), то ваш местный сервер должен обладать информацией о всех компьютерах локальной сети этого института (mx, desert, ixwin и т.д.);
--
Местный сервер знает адрес потому, что кто-то недавно уже запрашивал тот же адрес. Когда запрашивается адрес, сервер DNS придерживает его у себя в памяти некоторое время как раз на случай, если кто-нибудь ещё захочет попозже того же адреса -- это повышает эффективность системы (кэширование называется, во!);
--
Местный сервер адрес не знает, но знает, как его выяснить.

Как местный сервер может разузнать запрошенный адрес? Либо он сам знает адрес сервера верхнего уровня нужного домена, либо он спросит об этом у сервера верхнего уровня своего собственного домена, адрес которого он должен знать.

Например, за домен su отвечают серверы

 
137.39.1.3		(ns.uu.net),

192.16.202.11 (ns.eu.net),

193.124.22.65 (ns.ussr.eu.net).

а за домен ru отвечают
 
137.39.1.3		(ns.uu.net),

192.5.23.200 (sparky.arl.mil),

192.16.202.11 (ns.eu.net),

192.36.125.2 (sunic.sunet.se),

192.36.148.18 (sunic.sunet.se),

192.93.0.4 (ns2.nic.fr),

192.93.2.4 (ns2.nic2.fr).

На случай полной идиотии местного сервера в нём имеется информация о том, как связаться с корневым сервером. Это сервер, который знает адреса серверов имён высшего уровня (самых правых в имени), здесь это уровень государств (ранга домена su). У этого сервера запрашивается адрес компьютера, ответственного за нужную зону, в нашем примере это su.

Местный DNS-сервер связывается с этим более общим сервером и запрашивает у него адрес сервера, ответственного за домен ihep.su. Теперь уже запрашивается этот сервер и у него запрашивается адрес рабочей машины mx.

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

Этот поиск адреса совершенно аналогичен поиску пути письма без надписанного почтового индекса. Как определяется этот индекс? Все регионы пронумерованы -- это первые цифры индекса. Письмо пересылается на центральный почтамт этого региона, где имеется справочник с нумерацией районов этого региона -- это следующие цифры индекса. Теперь письмо идёт на центральный почтамт соответствующего района, где уже знают все почтовые отделения в подопечном районе. Таким образом по географическому адресу определяется почтовый индекс, ему соответствующий. Также определяется и адрес компьютера в Internet, но путешествует не послание, а запрос вашего компьютера об этом адресе. И в отличие от случая с почтой, информация об адресе доходит до вас, как если бы районный почтамт места назначения отправлял вам письмо, любезно уведомляя вас на будущее об индексе, которого вы не изволили знать.

Конечно, есть существенное отличие между этими схемами: почтовый индекс можно определять постепенно, уточняя его с каждым запросом, а адрес компьютера в Internet можно определить только сразу весь, никакой постепенности здесь быть не может.

Замечания по региональной системе имён

Распространено несколько заблуждений, с которыми вы можете столкнуться, имея дело с именами. Приведём несколько верных утверждений в качестве опорных, чтобы вывести вас из заблуждений, или предостеречь от них:

--
Части доменного имени говорят о том, кто ответственен за поддержку этого имени, то есть в чьём подчинении-ведении оно находится. Они могут вообще ничего не сообщать о владельце компьютера, соответствующего этому IP-адресу, или даже (несмотря на коды стран), где же эта машина находится.

Вот реально существовавший пример: в Институте Химической Физики (пос. Черноголовка Московской области) стояла машина с именем lle.icp.chg.free.net, относящимся к домену net, расположенному, по идее, в США. Теперь весь домен переименован в ac.ru, а этот компьютер называется icp.ac.ru, при этом его числовой адрес остался прежним.

Другой реальный пример: адреса GlasNet все относятся к домену glas.apc.org, что тоже, казалось бы, находится в США. Ан нет.

--
Части доменного имени даже не всегда указывают локальную сеть, в которой расположен компьютер. Часто доменные имена и сети перекрываются, и жёстких связей между ними нет: две машины одного домена могут не принадлежать одной сети.

Например, системы dxunk8.oea.ihep.su и dxunk14.oea.ihep.su находятся в совершенно разных сетях (dxunk8 -- в сети 192.102.229, а dxunk14 -- в 192.160.233).

И ещё раз: доменные имена указывают на ответственного за домен.

--
У машины может быть много имён. В частности, это верно для машин, предоставляющих какие-либо услуги, которые в будущем могут быть перемещены под опеку другой машины. Когда эти службы будут перемещены, имя, под которым эта машина выступала в качестве такого сервера, будет передано новой машине-серверу вместе с услугами, и для внешних пользователей ничего не изменится. То есть, они будут продолжать пользоваться этой службой, запрашивая её по тому же имени, независимо от того, какой компьютер на самом деле занимается обслуживанием. Имена, не имеющие собственного значения числового адреса, а являющиеся просто синонимами настоящих имён, называются ``каноническими именами'' или ``кименами'' (cnames). Запись (RR) типа cname в базе данных DNS является просто ссылкой на другую запись в той же базе.

Вот, например, текущие cnames имени newcom.kiae.su:

 
           tlg.kiae.su,

news-server.kiae.su,

fax.kiae.su,

tty,kiae.su,

telex.kiae.su.

То, что у компьютера может быть много числовых адресов, нам кажется совершенно очевидным.

--
Для связи имена необязательны, сами компьютеры работают только с числовыми адресами. Вы это прочувствуете, когда, как-нибудь, к вам придёт сообщение: ``хост неизвестен'', что означает, что ваш DNS-сервер не может преобразовать использованное вами имя в число. Возможно, просто все серверы, ответственные за это имя, вдруг задымились и сгорели синим пламенем, а возможно что само имя изменилось, -- это хуже, но всё же возможно, что числовой адрес остался прежним. Тогда, если вы введёте этот числовой адрес вручную, связь будет установлена.

--
Несмотря на предыдущее замечание, запоминать лучше имена, а не числовые адреса. Может вам кажется, что система имён это ``ещё одно звено в цепи, которое может выйти из строя''? Креститесь, батенька.

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

Региональная система имён, возможно, и выглядит сложно, но она делает общение с сетью более простым и удобным. Несомненное преимущество доменной системы состоит в том, что она разбивает громадьё Internet на набор вполне обозримых и управляемых частей. Хотя сеть включает миллионы компьютеров, все они поименованы, и именование это организовано в удобной рациональной форме, что упрощает работу.

Система адресов X.400

  X.400 -- общий стандарт, разработанный ISO и CCITT, для управления сообщениями. Вскоре этот стандарт планируют принять многие сети. Некоторые уже используют его.

Дополнительно к обычному тексту сообщения X.400 могут содержать и другие форматы (факсы, записи звуков речи, музыки, различные изображения и т.д.)*. Адресация в пользовании также очень проста, слегка напоминает своей идеей DNS. Только здесь используются не названия групп, сетей, но более привычные в обиходе понятия:

Код страны --
тот же, что в RFC 822.

ADMD --
Administration Management Domain = домен административного управления. Определяет общественный носитель X.400. Владельцем ADMD обычно является компания по предоставлению услуг дальней связи или государственное учреждение связи. Для соединения ADMD друг с другом их владельцы заключают двусторонние соглашения, и, естественно, не все ADMD соединены между собой. Самые крупные владельцы ADMD: AT&T, MCI, Sprint.

PRMD --
Private Management Domain = домен частного управления. Определяет используемый частный носитель X.400. Это может быть EUnet, BITNET и т.д., или же частная организация.

Организация --
Указывает организацию получателя. Ею может быть, например, компания или учебное заведение (МФТИ, Oxford, Cambridge, MIT и т.д.).

Орг.единица --
Определяет подразделение. Их может быть несколько. Например, не просто physics, но lab_1 или lab_2.

Фамилия --
Плотников.

Имя --
Олег. Требуется, если фамилия достаточно распространённая.

Можно преобразовать старый адрес в X.400 формат, но не всегда это будет просто. Тем не менее, вполне может статься, что вас осчастливят письмом в формате X.400. Чтобы послать ответ отправителю, просто возьмите его адрес из поля ``From:'' полученного письма. Соответствующий шлюз с этим разберётся.

Для общего случая имеются инструкции (RFC 1327, 1506) по переводу адресов и текстовых сообщений X.400 в формат RFC 822, имеется соответствующее программное обеспечение. А существует ли единый стандарт для записи X.400-адреса? Вроде даже и нет. Поэтому пока невозможно единообразно и ясно надписать таковой, например, на бизнес-карте.

Заинтересовавшихся пользователей отсылаем к [21].


next up previous contents
Next: Маршрутизация Up: Работа Internet: организацияструктура, Previous: Создание сети с человеческим


Urazmetov@mx.ihep.su