Система доменных имен.
Как известно, имена запоминаются проще, чем числа. Многие люди обладают феноменальной способностью запоминать телефонные номера, адреса, денежные суммы и другие числа, но в настоящее время существует слишком много IР-адресов, чтобы можно было запомнить хотя бы их малую часть. По этой причине, идя навстречу пожеланиям различных организаций, которые хотели бы получить гибкую и масштабируемую схему именования, центр IпterNIC (Iпterпet Network Iпformatioп Ceпter) создал иерархическое пространство доменных имен DNS (Domaiп Name System).
DNS– это схема именования, внешне похожая на структуру каталогов на диске, то есть имеет структуру дерева, называемого пространством доменных имён, в котором каждый домен (узел дерева) определяет группу компьютеров, образующих часть сети и управляемых как единое целое в соответствии с общими правилами и процедурами.
Пространство доменных имен состоит из:
· корневого домена – представляет корень пространства имен и обозначается концевой точкой. Обычно эта точка опускается и заменяется пустым символом (null).
· доменов верхнего уровня – расположены непосредственно под корнем и указывают тип организации, а также назначаются для каждой страны. Имена этих доменов должны следовать международному стандарту ISO 3166, за что отвечает IпterNIC. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций, классифицированных по выполняемым функциям, используются следующие аббревиатуры:
СОМ – Коммерческая организация (например, microsoft.com);
EDU – Образовательное учреждение (например, mit.edu);
GOV – Правительственное учреждение (например, whitehouse.gov);
MIL – Военная организация (например, army.mil);
NET– Центр поддержки сетей (например, pautina.net)
ORG – Некоммерческие организации (например, logoped.org);
INT – Международная организация (например, nato.int);
· доменов второго уровня – располагаются за доменами верхнего уровня и идентифицируют конкретные организации. За поддержку имен доменов второго уровня и соблюдение их уникальности в Интернете отвечает IпterNIC;
· поддоменов – принадлежат конкретной организации и располагаются за доменами второго уровня. За создание и поддержку своих поддоменов отвечают сами организации.
Рис. 3.10
Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена идентифицирует его положение в пространстве доменных имён по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена, называемые суффиксами домена. Однако, если полное имя файла формируется из пути к этому файлу от корневого каталога с добавлением в конце собственно имени файла, то хост-имя формируется из цепочки доменов в обратном порядке, т. е. от хоста к корню. Получаемое таким образом уникальное хост-имя, отражающее положение хоста в иерархии, составляется из имён поддоменов, в которые он входит и называется полным доменным именем (Fиllу Qиаlifiеd Domain Name, FQDN). Имя домена, не чувствительное к регистру букв, может содержать до 63 символов, а полное доменное имя может достигать глубины 127 уровней, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения.
Например, полное доменное имя хоста, показанного на рисунке:
ftpsrv.wcoast.reskit.com.
· Концевая точка обозначает, что данное полное доменное имя относительно корню пространства доменных имен. Обычно эта точка опускается.
· com – домен верхнего уровня, обозначающий коммерческую организацию.
· reskit – домен второго уровня, указывающий конкретную организацию - «Windows 2000 Resource Кit».
· wcoast – поддомен reskit.com, указывающий подразделение «West Coast» организации «Windows 2000 Resource Kit».
· Ftpsrv – имя FTR-сервера в подразделении «West Coast».
Организации, не соединенные с Интернетом, могут использовать произвольные имена доменов верхнего и второго уровня. Но обычно даже такие организации придерживаются спецификации InterNIC, чтобы впоследствии – при подключении к Интернету – не пришлось переименовывать домены.
Хост-имена могут иметь различные формы. Самые распространенные из них – это, уже упомянутое, доменное имя и понятие имя (nickname). Понятное имя является псевдонимом IP-адреса, произвольно назначенного отдельным пользователем. Оно, как и доменное имя, может быть длинной до 255 знаков и включать алфавитно-цифровые символы, а также дефисы и точки. Каждый вправе создать любые нужные записи, присвоив часто используемым ресурсам понятные имена, которые нетрудно запоминать. Однако понятные имена неэффективны при наличии большого количества записей.
К адресам хост-компьютеров в сети предъявляются специальные требования. Адрес должен иметь формат, с одной стороны, позволяющий просто выполнять его синтаксическую автоматическую обработку; с другой стороны, он должен иметь семантическую окраску, то есть нести информацию об адресуемом объекте. Поэтому адреса хост-компьютеров в сети Интернет могут иметь двойную кодировку:
· Обязательную кодировку, удобную для работы системы телекоммуникации в сети: дружественный компьютеру цифровой IP-адрес (IP, Internet Protocol);
· Необязательную кодировку, удобную для абонента сети: дружественный пользователю DNS-адрес (DNS, Domain Name System).
Цифровой IP-адрес версии v.4 представляет собой 32-разрядное двоичное число. Для удобства он разделяется на четыре блока по 8 битов, которые можно записать в десятичном виде. Адрес содержит полную информацию, необходимую для идентификации компьютера.
Возможный вариант: два старших блока определяют адрес сети, а два другие – адреса подсети и хост-компьютера внутри этой подсети. Например, в двоичном коде цифровой адрес записывается следующим образом: 10011000001001010100100010001010. В десятичном коде он имеет вид: 152.37.72.138. Адрес сети – 152.37; адрес подсети – 72; адрес компьютера – 138.
Ввиду огромного количества подключенных к сети компьютеров и различных организаций ощущается ограниченность 32-разрядных IP-адресов, поэтому ведется разработка модернизированного протокола IP-адресации, имеющего целью:
· Повышение пропускной способности сети;
· Создание лучше масштабируемой и адаптируемой схемы адресации;
· Обеспечение гарантий качества транспортных услуг;
· Обеспечение защиты информации, передаваемой в сети.
Основой этого протокола являются 128-битовые адреса, обеспечивающие более 1000 адресов на каждого жителя земли. Внедрение этой адресации (IP-адресация υ. 6) снимет проблему дефицита цифровых адресов.
Однако главной целью разработки нового протокола является не столько расширение разрядности адреса, сколько увеличение уровней иерархии в адресе, отражающей теперь 5 идентификаторов: два старших для провайдеров сети (идентификаторы провайдера и его реестра) и три для абонентов (абонента, его сети и узла сети).
Доменный адрес состоит из нескольких, отделяемых друг от друга точкой, буквенно-цифровых доменов (domain – область). Этот адрес построен на основе иерархической классификации: каждый домен, кроме крайнего левого, определяет целую группу компьютеров, выделенных по какому-либо признаку, при этом домен группы, находящийся слева, является подгруппой правого домена. Всего в Сети сейчас насчитывается более 120 000 разных доменов.
Например, географические двухбуквенные домены некоторых стран:
· Австрия – at;
· Болгария – bg;
· Канада – ca;
· Россия – ru;
· США – us;
· Франция – fr.
Доменный адрес может иметь произвольную длину. В отличие от цифрового адреса он читается в обратном порядке. В начале указывается домен нижнего уровня – имя хост-компьютера, затем домены – имена подсетей и сетей, в которой он находиться, и, наконец, домен верхнего уровня – чаще всего идентификатор географического региона (страны).
Итак, доменный адрес хост-компьютера включает в себя несколько уровней доменов. Каждый уровень отделяется от другой точкой. Слева от домена верхнего уровня располагаются другие имена. Все, находящиеся слева, - поддомен для общего домена.
Например: доменный адрес www.engec.spb.ru:
· Ru – домен России;
· Spb – поддомен Санкт - Петербурга;
· Engec – поддомен Государственного инженерно-экономического университета;
· www – Word Wide Web
Для пользователей Интернета почтовыми адресами могут быть просто их имена, зарегистрированные в службе электронной почты и не отражающие такой длинной иерархии. Например: почтовый адрес автора учебника: Broido@hotbox.ru - за именем пользователя следует знак @, а далее доменный адрес почтового сервера, включая и домен страны.
Преобразование (разрешение) доменного адреса в соответствующий цифрой IP-адрес выполняют специальные серверы DNS (Domain Name Server) – серверы имен. Поэтому пользователю нет необходимости знать цифровые адреса.
Для работы в Интернете достаточно знать только доменный адрес компьютера или пользователя, с которым вы хотите установить связь.
Но более эффективно для адресации использовать не просто доменный адрес, а унифицированный указатель ресурса – URL (Uniform Resource Locator), который дополнительно к доменному адресу содержит указания на используемую технологию доступа к ресурсам и спецификацию ресурса внутри файловой структуры компьютера. Например, в URL: http://www.engec.ru/user/lab/met.htm перечислены:
· http - протокол передачи гипертекста, используемый для доступа. В подавляющем большинстве случаев в WWW работает именно гипертекстовый протокол. При доступе по другому протоколу, например через службы FTP или Gopher, указываются, соответственно, ftp:// или gopher://;
· www.engec.ru – доменный адрес web-сервера СПбГИЭУ. Адреса большей части серверов начинаются с префикса www, указывающего на то, что web-сервер на данном компьютере запущен;
· user/lab/met.htm – спецификация файла met.htm. Указывает путь к интересующему нас файлу в файловой системе компьютера и имя этого файла. В этой части адреса может быть помещена и другая информация, отражающая, например, параметры запроса пользователя и обрабатывающей запрос программы. Если спецификация файла отсутствует, то пользователю будет выдан файл, по умолчанию назначенный для представления сервера (сайта).
Среди Microsoft представляют пользователям набор простых и удобных средств для совместимого доступа к ресурсам друг друга. При этом нет необходимости использовать выделенный файл сервер, централизованную систему безопасности и другие сложные сетевые технологии. Протоколы, реализованные Microsoft в ее сетевых компонентах, в том числе в TCP/IP, содержат интерфейс NetBIOS или промежуточный программный уровень. А для уникальной идентификации ресурсов в сети коммуникационной связи на базе NetBIOS используются NetBIOS-имена.
Имена NetBIOS являются 16-байтными адресами, которые однозначно идентифицируют узлы в сети. Этот адрес имеет длину в 15 знаков и 16-тый используется для однозначной идентификации службы, запущенной на системе, такой, например, как службы Сервера или Рабочей Станции. Имя NetBIOS часто упоминается как имя компьютера, хотя сейчас эта грань размывается вследствие перехода к использованию протокола TCP/IP и имен DNS. В прошлом протокол является главным коммуникационным протоколом, который использовался в сетях Microsoft. Переход к использованию TCP/IP, так основному транспортному протоколу, все еще сохраняет необходимость разрешения NetBIOS-имен. В настоящее время основная цель использования протокола NetBIOS – это разрешение NetBIOS-имен в IP-адреса.
Для того чтобы приложения на базе NetBIOS работали в сетях TCP/IP, им необходимо «видеть» имена, а IP-протоколу – цифровые адреса, но они не могут «видеть» друг друга. Расположенный между ними промежуточный уровень должен отображать имена NetBIOS в IP-адреса и, наоборот, конвертировать IP-адреса в имени конвертировать IP-адреса в имена NetBIOS. Этот уровень известен как NetBIOS-over-TCP/IP (NBT) и описан в RFC-1001 и -1002.
В протоколе NBT при определении IP-адресов для NetBIOS-имен используется несколько методов их распознавания. Простейший из них – применение широковещательных сообщений (Local Broadcast) для обнаружения ресурсов сети. Это традиционный метод, при котором узел рассылает широковещательное сообщение в локальной подсети, пытаясь найти IP-адрес, связанный с данным именем. При этом для каждого запроса NetBIOS узел вынужден выдавать широковещательное сообщение TCP/IP. Этот метод малоэффективен, так как ограничен пределами одной подсети, и он работает только тогда, когда в ЛВС присутствует хотя бы одна система, которая может «увидеть» это сообщение и ответить на него.
Другой метод распознавания имени заключается в предварительной загрузке IP-адреса в клиентской кэш разрешения «имя-адрес». При этом не требуется никаких широковещательных сообщений, так как отображение IP-адреса находится в оперативной памяти. Предварительно загрузив имена NetBIOS в клиентский кэш, значительно сокращается широковещательный трафик, и ускоряется клиентские операции, поскольку драйверу NBT не приходится всякий раз ждать тайм-аута для широковещательного опроса NetBIOS.
Также можно создать текстовый файл LMHOSTS, аналогичный по функции файлу HOSTS. Файл LMHOSTS – текстовый файл, содержащий имена NetBIOS в одной колонке и и соответствующие им IP-адреса в другой. Клиент может обращаться к этому файлу в ходе процесса разрешения имен. Применение файла LMHOSTS далеко от эффективного решения проблемы разрешения имен NetBIOS, но может использоваться в сетях, в которых отсутствует служба WINS. Имеет смысл применить этот файл только для разрешения имен удаленных узлов – локальные узлы всегда будут разрешены при помощи широковещания.
Еще один метод распознавания имени – применение WINS-серверов. Служба WINS является важной частью любой сети на основе протокола NetBIOS. Эта служба представляет собой аналог службы DNS для пространства имен NetBIOS. Использование WINS имеет ряд преимуществ. Во-первых, клиентские запросы на разрешение имен поступают непосредственно на сервер WINS. Если ему удается разрешить имя, IP-адрес направляется прямо к клиенту. В результате отпадает необходимость в широковещании и уменьшается сетевой трафик. Во-вторых, база данных сервера WINS обновляется динамически, поэтому устаревшие сведения своевременно удаляются, а значит, отпадает необходимость в файле LMHOSTS. Кроме того, WINS обеспечивает возможности обзора многодоменной сети. Но время служб WINS и NetBIOS подходит к концу – медленно, но неотвратимо. В конечном счете, клиентов WINS не остается и услуги серверов WINS, использующих нестандартный и изобилующий ошибками протокол, будут заменены услугами серверов DNS.
Метод, при помощи которого клиент пытается разрешить имя NetBIOS в IP-адрес называется его node type (типом узла). Microsoft поддерживает четыре главных типа узлов, которые контролируют порядок, в котором предпринимаются попытки разрешения имен. По умолчанию, система, которая не снабжена адресом сервера WINS, конфигурируется как В-узел, а система, снабженная адресом WINS как Н-узел:
· B-node (широковещание) – этот метод использует широковещание для разрешения имени. В сетях Microsoft этот тип также называется «усовершенствованный B-node», так как, если широковещание не поможет разрешить имя, клиент пытается разрешить его при помощи файла LMHOSTS. Значение – 0х1;
· Н-node (гибридный тип) – этот метод сначала пытается разрешить имя при помощи сервера WINS, а затем применяет метод B-node в случае неудачи. Значение – 0х8;
· М-node (смешанный) – этот метод сначала пытается разрешить имя через широковещание, а затем посылает запрос к серверу WINS, если первая попытка провалилась. Этот метод зачастую применяется в сетях, где сервер WINS отделен от клиента сетями WАN. Значение – 0х4;
· Р-node (точка-точка) этот метод использует сервер WINS для разрешения имен и никогда не использует широковещание. Значение – 0х2;
С помощью рекурсивного поиска NBT осуществляет отображение имен до тех пор,
пока не будет найден ресурс, соответствующий данному имени. Сначала NBT просматривает свой внутренний кэш имен, и только после этого разрешает имя методом, соответствующим типу узла.
После того как имя NetBIOS разрешено, вызывающий узел использует протокол ARP для разрешения IP-адреса сетевого адаптера. Если соответствие не найдено, то сообщение об ошибке типа «имя не найдено» возвращается приложению NetBIOS, а система сообщит пользователю, что компьютер с данным именем обнаружить нельзя.
Итак, на третьем шаге, производится попытка разрешить имя узла средствами разрешения NetBIOS-имен. Если же ни один из всех перечисленных методов не позволил разрешить имя, то единственный способ связи с этим узлом – явно указать его IP-адрес.