Занятие 6 по курсу "Информационные сети"

Адресация в сетях TCP/IP
Система доменных имен Интернета. Принципы построения иерархии имен.

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

В адресе электронной почты формально доменным именем можно считать то, что написано после символа коммерческого (эт) – “@”. Например, в user@corp.ru доменное имя почтового узла – corp.ru.

Имя Web-узла – это доменное имя этого узла. Например, Web-узел компании Microsoft имеет доменное имя Microsoft.com.

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

Довольно часто наряду со словосочетанием «интернет-адрес» употребляют «доменный адрес». Ни того, ни другого понятий в сетях TCP/IP не существует. Есть числовая адресация, которая опирается на IP-адреса, (группа из четырёх чисел, разделенных точкой) и Internet-сервис службы доменных имен (Domain Name System, DNS).

Система Доменных Имен – Domain Name System – система именования хостов и групп хостов в сети Интернет.

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

DNS существовала не с момента рождения TCP/IP сетей. Сначала для облегчения взаимодействия с удалёнными информационными ресурсами в Интернет использовали таблицы соответствия числовых адресов именам машин.

Современные операционные системы тоже поддерживают таблицы соответствия IP-адреса и имени машины (точнее хоста) – это файлы с именем hosts. Если речь идёт о системе типа Unix, то этот файл расположен в директории /etc и имеет вид, представленный на Рис. 6.1.


Рис. 6.1.

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

Напомним, что по самому мнемоническому имени никакого доступа к ресурсу получить нельзя. Процедура использования имени – сначала по имени в файле hosts находят IP-адрес, затем по IP-адресу устанавливают соединение с удалённым информационным ресурсом.

В локальных сетях файлы hosts используются достаточно успешно до сих пор. Практически все ОС от Unix до Windows последних версий поддерживают эту систему соответствия IP-адресов именам хостов.

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

DNS была описана Полом Мокапетрисом (Paul Mockapetris ) в 1984 году. Он написал и реализацию DNS – программу JEEVES для ОС Tops-20. Не будем подробно излагать эту проблему, а ограничимся основными понятиями.

Роль имени (доменного имени) в процессе установки соединения осталась прежней. Это значит, что главное, для чего оно нужно, – получение IP адреса. Соответственно этой роли, любая реализация DNS является прикладным процессом, который работает над стеком протоколов межсетевого обме-на TCP/IP. Таким образом, базовым элементом адресации в сетях TCP/IP остался IP-адрес, а доменное именование (система доменных имен) выполняет роль вспомогательного сервиса.

Система доменных имен строится по иерархическому принципу. Точнее по принципу вложенных друг в друга множеств. Корень системы называется «root» (дословно переводится как «корень») и никак не обозначается.

Часто пишут, что обозначение корневого домена – символ «.», но это не так, точка – разделитель компонентов доменного имени, а т.к. у корневого домена нет обозначения, то полное доменное имя кончается точкой. Тем не менее символ «.» достаточно прочно закрепился в литературе в качестве обозначения корневого домена. От части это вызвано тем, что в файлах конфигурации серверов DNS именно этот символ указывается в поле имени домена в записях описания ресурсов, когда речь идёт о корневом домене.

Корень – это все множество хостов Интернет. Данное множество подразделяется на домены первого или верхнего уровня (top-level или TLD). Домен ru, например, соответствует множеству хостов российской части (сегмента) Интернета. Домены верхнего уровня дробятся на более мелкие домены, например, корпоративные.

В 1980-е годы были определены первые домены первого уровня (top-level): gov, mil, edu, com, net. Позднее, когда сеть перешагнула национальные границы США появились национальные домены типа: uk, jp, au, ch, и т.п. Для СССР также был выделен домен su. После 1991 года, когда республики Союза стали суверенными, многие из них получили свои собственные домены: ua, ru, la, li, и т.п.

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

Со списком доменов первого уровня (top-level) и их типами можно ознакомиться, например, в материале «Общая информация о системе доменных имен» по адресу: http://info.nic.ru/domains/review.html.

Как уже было сказано, вслед за доменами первого уровня(top-level) следуют домены, определяющие либо регионы (msk), либо организации (kiae). В настоящее время практически любая организация может получить свой собственный домен второго уровня. Для этого надо направить заявку провайдеру и получить уведомление о регистрации.

Далее идут следующие уровни иерархии, которые могут быть закреплены за небольшими организациями, или за подразделениями больших организаций.

Часть дерева доменного именования может быть представлена следующим образом (Рис. 6.2):


Рис. 6.2. Пример части дерева доменных имен

Корень дерева не имеет имени метки. Поэтому его обозначают как «». Остальные узлы дерева метки имеют. Каждый из узлов соответствует либо домену, либо хосту. Под хостом в этом дереве понимают лист, т.е. такой узел ниже которого нет других узлов.

Именовать хост можно либо частичным именем, либо полным именем. Полное имя хоста – это имя, в котором перечисляются слева направо имена всех промежуточных узлов между листом и корнем дерева доменного именования, при этом начинают с имени листа, а кончают корнем, например:
polyn.net.kiae.su.

Частичное имя – это имя, в котором перечислены не все, а только часть имен узлов, например:
polyn
apollo.polyn
quest.polyn.kiae

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

Слово «Хост» не является в полном смысле синонимом имени компьютера, как это часто упрощённо представляется. Во-первых, у компьютера может быть множество IP-адресов, каждому из которых можно поставить в соответствие одно или несколько доменных имен. Во-вторых, одному доменному имени можно поставить в соответствие несколько разных IP-адресов, которые, в свою очередь, могут быть закреплены за разными компьютерами.

Разберем, например, полное доменное имя demin.polyn.kiae.su. Имя хоста – demin, имя домена, в который данный хост входит, – polyn, имя домена, который охватывает домен polyn, т.е. является более широким по отношению к polyn, – kiae, в свою очередь последний (kiae) входит в состав домена su.

Имя polyn.kiae.su – это уже имя домена. Под ним понимают имя множества хостов, у которых в их имени присутствует polyn.kiae.su. Вообще говоря, за именем polyn.kiae.su может быть закреплён и конкретный IP-адрес. В этом случае кроме имени домена данное имя будет обозначать и имя хоста. Такой приём довольно часто используется для обеспечения коротких и выразительных адресов в системе электронной почты.

Имена хоста и доменов отделяются друг от друга в этой нотации символом «.». Полное доменное имя должно оканчиваться символом «.», т.к. последняя точка отделяет пустое имя корневого домена от имени домена верхнего уровня. Часто в литературе и в приложениях эту точку при записи доменного имени опускают, используя нотацию неполного доменного имени даже в том случае, когда перечисляют все имена узлов от листа до корня доменного именования.

Следует иметь в виду, что доменные имена в реальной жизни достаточно причудливо отображаются на IP-адреса, а тем более на реальные физические объекты (компьютеры, маршрутизаторы, коммутаторы, принтеры и т.п.), которые подключены к сети.

Компьютер, физически установленный и подключенный к Сети в далекой Америке, может совершенно спокойно иметь имя из российского корпоративного домена, например, chalajva.ru, и наоборот, компьютер или маршрутизатор российского сегмента может иметь имя из домена com. Последнее, к слову сказать, встречается гораздо чаще.

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

Таким образом, соответствие между доменными именами и IP-адресами в рамках системы доменных имен не является взаимно однозначным, а строится по схеме «многие ко многим».

Иерархия системы доменных имен строго соблюдается только в самих именах и отображает только вложенность именования и зоны ответственности администраторов соответствующих доменов.

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

Наиболее популярной реализацией системы доменных имен является Berkeley Internet Name Domain (BIND). Но эта реализация не единственная. Так в системе Windows NT 4.0 есть свой сервер доменных имен, который поддерживает спецификацию DNS. Но даже администраторам Windows желательно знать принципы функционирования и правила настройки BIND, т.к. это программное обеспечение обслуживает систему доменных имен от корня до TLD (Top Level Domain).

Между доменом и зоной существует разница, которую бывает трудно найти, но всегда нужно иметь в виду.

Домен – это все множество машин, которые относятся к одному и тому же доменному имени. Например, все машины, которые в своём имени имеют постфикс kiae.su относятся к домену kiae.su.

Зона – это «зона ответственности» конкретного сервера доменных имен, т.е. понятие домена шире, чем понятие зоны. Если домен разбивается на поддомены, то у каждого из них может появиться свой сервер. При этом зоной ответственности сервера более высокого уровня будет только та часть описания домена, которая не делегирована другим серверам. Разбиение домена на поддомены и организация сервера для каждого из них называется делегирование прав управления зоной соответствующему серверу доменных имен, или просто делегированием зоны.

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

Основные выводы
Система доменных имен призвана упростить обращение к информационным ресурсам. В системе доменных имен каждому хосту можно назначить собственное доменное имя. Система доменных имен позволяет разделить ответственность за поддержание целостности и непротиворечивости, опираясь на процедуру делегирования доменов.

Сайт создан в системе uCoz