Главной ЭВМ любой системы является та, на которой работаете вы. Но помимо этой машины и маршрутизатора локальной сети, не последнюю роль играет сервер имен (DNS-система, RFC-4032, -4034, -4035, -2137, -2052, -2136, -1996, -1918, -1793, -171213, -1706, -1664, -161112, -153637, -1401, -1383, -1183, -1101, -103435).
Сервер имен — это программа управления распределенной базой данных, в которой хранятся символьные имена сетей, различных сетевых объектов и ЭВМ вместе с их IP-адресами.
Наиболее распространенным программным продуктом, решающим данную задачу является BIND (Berkeley Internet Name Domain). Иногда для этой цели выделяют специальную машину.
(рис 5.1) Структура взаимодействия с серверами имен База имен является распределенной, так как нет такой ЭВМ, где бы хранилась вся эта информация. Имя содержит несколько полей (длиной не более 63 символов), разделенных точками, а его полная длина не должна превышать 255 октетов, включая байт длины. Анализ имени производится справа налево. Самая правая секция имени характеризует страну или характер организации: образовательная, коммерческая, правительственная и т.д..
Следующие символьные коды в конце Internet-имени означают функциональную принадлежность узла (таблица 5.1.).
| поле адреса | Тип сети |
|---|---|
| .aero | Фирма или организация, относящаяся к сфере авиации |
| .arpa | Специальный домен, используемый для преобразования IP-адреса в имя |
| .arts | Культура и досуг |
| .biz | Организация, относящаяся к сфере бизнеса |
| .com | Коммерческая организация |
| .coop | Кооперативная организация |
| .edu | Учебное заведение |
| .firm | Коммерческое предприятие |
| .gov | Государственное учреждение (США) |
| .info | Открытая |
| .int | Международная организация |
| .org | Бесприбыльная организация |
| .mil | Военное предприятие или организация (США) |
| .museum | Имя домена музея |
| .name | Имя домена частного лица |
| .net | Большая сеть |
| .pro | Профессионал, достойный доверия. Управляется RegistryPro (http://www.nic.pro/) |
| .rec | Развлечения |
| .shop | Торговля |
| .tv | Телевидение |
| .web | Организация, вовлеченная в WEB-активность |
Секции .mil и .gov принадлежат исключительно американским сетям (хотя и многие другие трехсимвольные секции адреса, например .edu, чаще, но не всегда, принадлежат американским университетам и другим учебным организациям). Структура имен обычно отражает структуру организации, которой принадлежат сети или ЭВМ, но не архитектуру сети в этой организации. Так имя itep.ru — это имя домена itepnet (Институт Теоретической и Экспериментальной физики, Москва). cl.itep.ru — имя mvax-кластера в ИТЭФ, а suncom.itep.ru — имя одной из ЭВМ SUN в той же сети. По имени, как правило, нельзя определить, является ли оно именем сети, маршрутизатора или конкретной ЭВМ. Для записи символьных имен используется исключительно латинский алфавит.
Маленький фрагмент интернетовской иерархии имен показан на рис. 5.2. Число уровней реально больше, но обычно не превышает 5.
(рис 5.2) Иерархия имен в ИнтернетDNS (I — домен первого уровня; II — второго уровня)Каждому узлу (прямоугольнику на рисунке) соответствует имя, которое может содержать до 63 символов. Только самый верхний, корневой узел не имеет имени. При написании имени узла строчные и прописные символы эквивалентны. Имя домена, завершающееся точкой, называется абсолютным или полным именем домена (например, itep.ru.). В некоторых странах создана структура имен, сходная с com/edu/org. Так, в Англии можно встретить адреса .ac.uk для академических учреждений и .co.uk — для коммерческих. Если имя домена не завершено символом точки, DNS может попытаться его дополнить, например, имя ns может быть преобразовано в ns.itep.ru. На приведенной схеме каждому объекту трех верхних уровней соответствуют серверы имен, которые могут взаимодействовать друг с другом при решении задачи преобразования имени в IP-адрес. Можно было бы построить схему, при которой в любом сервере имен имелись адреса серверов .com, .edu, .ru и т.д. и при необходимости он мог бы послать туда запрос. Реальная схема серверов не столь идеальна и стройна — существуют серверы nsf.gov, oakland.edu и т.д., которые непосредственно связаны с базовым сервером имен. Каждый сервер содержит лишь часть дерева имен. Эта часть называется зоной ответственности сервера. DNSсервер может делегировать ответственность за часть зоны другим серверам, создавая субзоны. Когда в зоне появляется новая ЭВМ или субдомен, администратор зоны записывает ее имя и IP-адреса в базу данных сервера. Администратор зоны определяет, какой из DNSсерверов имен является для данной зоны первичным. Число вторичных серверов не лимитировано. Первичный и вторичный серверы должны быть независимыми и работать на разных ЭВМ, так, чтобы отказ одного из серверов не выводил из строя систему в целом. Отличие первичного сервера имен от вторичного заключается в том, что первичный загружает информацию о зоне из файлов на диске, а вторичный получает ее от первичного сервера. Администратор вносит любые изменения в соответствующие файлы первичного сервера, а вторичные сер веры получают эту информацию, периодически (раз в 3 часа) запрашивая первичный сервер. Пересылка информации из первичного во вторичные серверы имен называется зонным обменом. Как будет вести себя сервер, если он не имеет запрашиваемой информации? Он должен взаимодействовать с корневыми серверами. Таких серверов насчитывается около десяти и их IPадреса должны содержаться в конфигурационных файлах.
Список корневых серверов вы можете получить с помощью анонимного FTP по адресам: nic.gethostbyname и gethostbyaddr, которые позволяют определить IP-адрес по имени ЭВМ и наоборот. В одном запросе может содержаться несколько вопросов. Если сервер не сможет ответить на вопросы, он пришлет отклик, где содержатся адреса других серверов, способных решить эту задачу. Ниже на рисунке 5.3 представлен формат таких сообщений (в качестве транспорта используется UDP или TCP, порт 53).
(рис 5.3) Формат DNS-сообщенийКаждое сообщение начинается с заголовка, который содержит поле идентификация, позволяющее связать в пару запрос и отклик. Поле флаги определяет характер запрашиваемой процедуры, а также кодировку отклика. Поля число... определяют число записей соответствующего типа, содержащихся в сообщении. Так, число запросов задает число записей в секции запросов, требующих ответов. Каждый вопрос состоит из символьного имени домена, за которым следует тип запроса и класс запроса. Значения битов поля флаги в сообщении сервера имен отображены в таблице 5.2. Разряды пронумерованы слева направо, начиная с нуля рис. 5.4.
(рис 5.4) Назначение битов поля флагиНиже описан формат секции запросов в DNSсообщении.
Поле символьное имя домена имеет переменную длину, содержит одно или более субполей, начинающихся с байта длины (0-63). Поле завершается 0. Например, для ns.itep.ru (цифры представляют собой октеты длины).

(рис 5.5) В реальной нотации байты длины субполя могут иметь два старших бита, равные 1, что преобразует интервал значений из 0-63 в 192-255. Такой байт в поле означает, что это не мера длины секции, а 16-битный указатель, 14 бит которого являются смещением от начала DNS-сообщения, указывающим на место продолжения секции. Смещение для первого байта поля идентификации равно нулю. Эти ухищрения придуманы для сокращения длины сообщений, так как одно и то же имя домена в отклике может повторяться много раз. Поле тип запроса характеризует разновидность запроса.
| код поля | флаги | описание |
|---|---|---|
| 0 (QR) | Операция: | 0 запрос 1 отклик |
| 1…4 | Тип запроса ( |
0 стандартный 1 инверсный 2 запрос состояния сервера |
| 5 (AA) | Равен 1 при отклике от сервера (RR), в ведении которого находится домен, упомянутый в запросе | |
| 6 (TC) | Равен 1 при укорочении сообщения. Для UDP это означает, что ответ содержал более 512 октетов, но прислано только первые 512 | |
| 7 (RD) | Равен 1, если для получения ответа желательна рекурсия | |
| 8 (RA) | Равен 1, если рекурсия для запрашиваемого сервера доступна | |
| 9…11 | Зарезервировано на будущее. Должны равняться нулю | |
| 12…15 | Тип отклика (rcode): | 0 нет ошибки 1 ошибка в формате запроса 2 сбой в сервере 3 имени не существует |
Последние две строки в таблице 5.3 относятся только к запросам. Поле класс запроса позволяет использовать имена доменов для произвольных объектов (все официальные имена Интернет относятся к одному классу [IN] — 1). В сообщении DNS-сервера каждая из секций (дополнительной информации, ответов или узловых серверов имен) состоит из набора ресурсных записей, которые описывают имена доменов и некоторую другую информацию (например, их адреса). Появление ресурсных полей в DNS базе данных придают ей новые качества. Каждая запись описывает только одно имя, формат этих записей отображен на рис. 5.6.
(рис 5.6) Формат ресурсных записей в DNS (RR)| Тип запроса | код запроса | описание |
|---|---|---|
A |
1 | IP-адрес |
NS |
2 | Сервер имен |
CNAME |
5 | Каноническое имя |
SOA |
6 | Начало списка серверов. Большое число полей, определяющих часть иерархии имен, которую использует сервер |
MB |
7 | Имя домена почтового ящика |
|
11 | well-known service — стандартная услуга |
PTR |
12 | Запись указателя |
HINFO |
13 | Информация об ЭВМ |
MINFO |
14 | Информация о почтовом ящике или списке поч¬товых адресов |
MX |
15 | Запись о почтовом сервере. Включает в себя при¬оритет обработчика почты |
TXT |
16 | Не интерпретируемая строка ASCII-символов |
ISDN |
Связывает имя ЭВМ с адресом ISDN | |
AXFR |
252 | Запрос зонного обмена |
* или ANY |
255 | Запрос всех записей |
Всего существует 20 различных типов RR-записей. Имя домена в такой записи может иметь произвольную длину. Поля тип и класс характеризуют тип и класс данных, включенных в запись (аналогичны используемым в запросах). Поле время жизни (TTL) содержит время (в секундах), в течение которого запись о ресурсах может храниться в буферной памяти (в кэше). Обычно это время соответствует двум дням. Формат информации о ресурсах зависит от кода в поле тип, так, для тип=1 — это 4 байта IP-адреса. Сервер имен может обслуживать и другие запросы, например, по IP-адресу определять символьное имя домена или преобразовать имя домена в адрес почтового сервера. Когда организация присоединяется к Интернет, она получает в свое распоряжение не только определенную DNSобласть, но и часть пространства в inaddr.arpa, соответствующую ее IP-адресам. Домен inaddr.arpa предназначен для определения имен по их IP-адресам. Такая схема исключает процесс перебора серверов при подобном преобразовании.
Имена в домене INADDR.ARPA могут иметь до четырех субполей помимо суффикса INADDR.ARPA. Каждое субполе представляет собой октет IP-адреса и содержит последовательность символов, отображающую коды в диапазоне 0-255. Так, имя для IP-адреса 192.148.166.137 (если оно существует) содержится в домене с именем 137.166.148.192.INADDR.ARPA. Запись адреса задом наперед диктуется общими принципами записи имен доменов (корневая часть имени находится справа). Направив в домен INADDR.ARPA несколько запросов относительно имен объектов с интересующими вас IP-адресами, можно получить следующий результат (таблица 5.3.1.), где в левой колонке записаны IP-адреса, имена которых разыскиваются, во второй записаны аппаратные адреса интерфейсов, через которые доступны искомые объекты. Поскольку первая и третья строки относятся к внешним по отношению к узлу ITEP объектам, здесь записан адрес интерфейса пограничного маршрутизатора. В третьей колонке содержится значение RTT в мсек, а в последней — имена объектов. IP-адресу 192.148.166.102 не соответствует никакого имени.
Задержка при выполнении команды telnet между выдачей команды и появлением на экране IP-адреса связана с доступом и работой DNSсервера. Пауза между появлением надписи Trying и Connected to определяется временем установления TCP-связи между клиентом и сервером. База данных имен может содержать и другую информацию. Типы такой информации представлены в таблице 5.3. Для извлечения информации из этой распределенной базы данных можно воспользоваться программой host (SUN или другая ЭВМ, работающая под UNIX). Рассмотрим несколько примеров (курсивом выделены команды, выданные с терминала).
| IP address | Hard-addr | Delay | Date | Host name |
|---|---|---|---|---|
| 128.141.202.101 | 00.00.0c.02.69.7d | 440 | 10/10/95 | na48-1.cern.ch |
| 192.148.166.102 | 00.00.a7.14.41.c2 | 5 | 10/10/95 | |
| 192.148.166.237 | 00.00.0c.02.69.7d | 5 | 10/10/95 | ITEP-M9.Relcom. ITEP.RU |
host t cname cernvm.cern.ch cernvm.cern.ch is a nickname for crnvma.cern.ch
Напомним, что CNAME — каноническое имя узла или ЭВМ, иногда называемое также псевдонимом (alias).
host t hinfo ns.itep.ru ns.itep.ru HINFO SparcStation1 SunOS4.1.3
HINFO — информация об ЭВМ. Это обычно две последовательности символов, которые характеризуют ЭВМ и ее операционную систему. Много полезной информации можно узнать о почтовом сервере узла посредством команды:
host t mx cl.itep.ru cl.itep.ru is a nickname for r02vax.itep.ru r02vax.itep.ru mail is handled by relay1.kiae.su r02vax.itep.ru mail is handled by relay2.kiae.su r02vax.itep.ru mail is handled by mx.itep.ru r02vax.itep.ru mail is handled by x4u2.desy.de host v info.cern.ch Trying domain "itep.ru" rcode = 3 (Nonexistent domain), ancount=0 Trying null domain rcode = 0 (Success), ancount=2 info.cern.ch 86400 IN CNAME www.6.cern.ch www6.cern.ch 86400 IN A 128.141.202.119 Trying domain "itep.ru" rcode = 3 (Nonexistent domain), ancount=0 Trying null domain rcode = 0 (Success), ancount=1 The following answer is not authoritative: www6.cern.ch 86400 IN A 128.141.202.119 For authoritative answers, see: CERN.CH 52256 IN NS dxmon.cern.ch CERN.CH 52256 IN NS ns.eu.net CERN.CH 52256 IN NS sunic.sunet.se CERN.CH 52256 IN NS scsnms.switch.ch Additional information: dxmon.cern.ch 79157 IN A 192.65.185.10 ns.eu.net 56281 IN A 192.16.202.11 sunic.sunet.se 85087 IN A 192.36.125.2 sunic.sunet.se 85087 IN A 192.36.148.18 scsnms.switch.ch 72545 IN A 130.59.1.30 scsnms.switch.ch 72545 IN A 130.59.10.30
Опция -v, используемая совместно с командой host, позволяет получить более полную информацию об узле. Во второй колонке данной выдачи указано время жизни (TTL) в секундах. Значение TTL в первых строках соответствует суткам (24x60x60=86400). IN в следующей колонке указывает на принадлежность к классу Интернет. В четвертой колонке проставлены указатели типов запроса (см. табл. 5.3). В пятой колонке идут названия серверов имен и IP-адреса ЭВМ. Далее следуют коды предпочтения. MX-записи активно используются почтовыми серверами. Обмен MXзаписями производится в следующих случаях:
MX-записи снабжены 16-битными кодами предпочтения. Если для адреса имеется несколько MXзаписей, они используются в порядке нарастания этого кода. Если вы хотите узнать список доступных услуг на той или иной ЭВМ, вы можете выдать команду (
host tv wks ns.itep.ru ns.itep.ru WKS 193.124.224.35 udp domain tftp ns.itep.ru WKS 193.124.224.35 tcp echo ftp telnet smtp time finger
Если вам нужно узнать IP-адреса того или иного узла, можно также воспользоваться командой host:
host vxdesy.desy.de vxdesy.desy.de has address 131.169.35.78 vxdesy.desy.de has address 131.169.35.79 vxdesy.desy.de has address 131.169.35.76 vxdesy.desy.de has address 131.169.35.77
Большая часть данных относится к типу "А".
Выше уже говорилось, что для транспортировки DNSзапросов применяются протоколы UDP и TCP. Когда же следует использовать тот или иной протокол? Обычно применяется UDP. Когда в ответ на запрос программа получает отклик с битом флагов TC=1 (сообщение укорочено), программа повторяет запрос, но уже с использованием протокола TCP. Этот протокол применяется также для зонных обменов между первичным и вторичным DNSсерверами.
Обычно реализация сервера имен (версия BIND — Berkeley Internet Name Domain) предполагает наличие трех конфигурационных файлов:
named.boot — файл начальной загрузки сервера имен;
named.local — стартовый файл клиента DNS;
named.ca — исходный буфер имен и адресов.
Эти текстовые файлы, строки и фрагменты, начинающиеся с точки с запятой, представляют собой комментарии. В первом из перечисленных файлов строка, начинающаяся со слова sortlist, указывает на порядок присылки адресов при условии, что отклик на запрос содержит несколько адресов. Строка, начинающаяся со слова directory, содержит название каталога, где хранятся конфигурационные файлы (по умолчанию /etc). Строка cache сообщает имя файлабуфера имен и адресов (по умолчанию named.ca). Далее обычно следует несколько строк, начинающихся со слова primary. Эти строки указывают имена файлов (например, named.hosts или named.local), где содержится информация о соответствии имен и адресов для определенных субдоменов. Вместо имени файла может быть указан IP-адрес. Укладка данных в файле соответствует требованиям документа RFC-1033. Для вторичного (secondary) DNS файл named.boot имеет схожую структуру. Вместо строк со словом primary в этом файле присутствуют строки secondary. Эти строки содержат, помимо имен субдоменов и файлов, IP-адрес первичного DNS. Последний выполняет и функцию переадресации запросов вышестоящим серверам. Вторичный DNSсервер при невозможности выполнить запрос переадресует его первичному серверу, а не вышестоящему. Первичный сервер может создавать большой кэшбуфер для локального обслуживания часто поступающих запросов.
Файл named.local служит для спецификации интерфейса сервера имен и содержит в себе запись SOA (Start of Authority) и две ресурсных записи. Запись SOA определяет начало зоны. Символ @ в начале первой строки файла определяет имя зоны. Здесь же указываются опционные параметры:
Запись может выглядеть как (RFC-1033):
@ IN SOA SRINIC.ARPA. HOSTMASTER.SRINIC.ARPA. ( 45 ;serial 3600 ;refresh 600 ;retry 3600000 ;expire 86400 ) ;minimum
В файле приводится имя первичного сервера имен для данного субдомена (флаг NS) и имя администратора с указанием адреса его электронной почты. Последняя запись в файле содержит указатель на местную ЭВМ. Первая цифра в строке этой записи содержит суффикс IP-адреса этой машины.
Файл named.ca используется для заполнения кэша при первичной загрузке DNS. Примером, иллюстрирующим возможное содержимое файла, можно считать следующую запись (взято из RFC-1033):
;list of possible root servers . 1 IN NS SRINIC.ARPA. NS C.ISI.EDU. NS BRLAOS.ARPA. NS C.ISI.EDU. ;and their addresses SRINIC.ARPA. A 10.0.0.51 A 26.0.0.73 C.ISI.EDU. A 10.0.0.52 BRLAOS.ARPA. A 192.5.25.82 A 192.5.22.82 A 128.20.1.2 A.ISI.EDU. A 26.3.0.103
Первое поле представляет собой имя домена или субдомена, второе поле — значение TTL, третье — поле класс (Internet), четвертое — тип записи (NS для сервера имен или A для адреса), и последнее поле характеризует имя ЭВМ или IP-адрес. Если какието поля пусты, это означает, что они тождественны приведенным выше. Точка в начале первой строки указывает на корневой домен.
Для администраторов, обслуживающих DNS, весьма полезно ознакомиться с документом RFC-1536 ("Common DNS
Возможна и другая схема возникновения циклов запросов. Предположим, что сервер <1> содержит в своем списке внешних DNS сервер <2>, а последний в свою очередь содержит в своем списке сервер <1>. Такого рода перекрестные ссылки трудно обнаружить, особенно если в перечне фигурирует большое число серверов. Иногда возникает ситуация, когда клиент, получив список DNSсерверов, не знает, что с ним делать, и посылает запрос повторно тому же серверу. Идентифицировать такого рода ошибки весьма трудно, особенно когда в это вовлечены внешние серверы, содержимое конфигурационных файлов которых недоступно.
Иногда DNS-сервер в ответ на запрос не присылает сообщений об ошибке и какихлибо данных клиенту. Это случается, когда запрашиваемое имя вполне корректно, но записей нужного типа не найдено. Например, запрошен адрес почтового сервера домена xxx.com. Домен этот существует, но рекорда типа MX не обнаружено. Дальнейшие события зависят от характера программного обеспечения клиента. Если клиент считает такого рода "отклик" некорректным, он может послать запрос повторно и т.д., и т.д. По этой причине в случае, если программное обеспечение это позволяет, рекомендуется ограничить число повторных запросов клиента. Приведенные примеры показывают, насколько актуальна корректная конфигурация DNS клиента и сервера.
В последнее время разработано несколько модификаций протокола DNS, направленных на совершенствование его безопасности (смотри, например, RFC-2535). В документе RFC-2537 рассмотрена возможность использования DNS для хранения ключей шифрования.
WINS-запросы обычно транспортируются в UDP-дейтограммах. При этом используется порт отправителя=137. В поле данных размешается 2октетное поле идентификатора, позволяющего связать запрос с откликом. Далее следует 2 байта флагов, в случае запроса туда записывается 0. За ним размещается два октета, содержащие число вопросов, 2 октета числа ответов и еще 4 нулевых октетов. Завершается кадр запроса двумя октетами поля типа ( 00 21 -> статус узла NetBIOS ) и полем класса (для Интернет 00 01 -> (IN,1) ). Такие запросы позволяют получить дополнительные данные (имя узла, его MAC-адрес, NetBIOS-имя, имя группы) об ЭВМ с заданным IP-адресом. Причем эта ЭВМ может находиться где угодно в Интернет, но непременно работать c OS Windows. Формат поля данных UDP-дейтограммы запроса показан на рис. 5.7.
(рис 5.7) Формат запроса WINSВ поле данных UDP-дейтограммы отклика располагается 2-байтовое поле идентификатора, идентичного содержащемуся в пакете запроса. Далее следует поле флагов с длиной в два октета. Формат поля данных UDP-дейтограммы отклика показан на рис. 5.8.
(рис 5.8) Формат отклика на WINS-запросПоле флаги имеет следующую структуру (таблица 5.3.2.).
| 0 _ _ _ | _ _ _ _ | Команда |
| _ 000 | 0 _ _ _ | Запрос |
| _ _ _ _ | _ _ 0 _ | Не укорочено |
| _ _ _ _ | _ _ _ 0 | Рекурсия нежелательна |
| 1 _ _ _ | _ _ _ _ | Отклик |
| _ 000 | 0 _ _ _ | Запрос |
| _ _ _ _ | _ _ 0 _ | Не укорочено |
| _ _ _ _ | _ 1 _ _ | Официальный ответ |
Для поля флаги имени характерна следующая структура (таблица 5.3.3).
| 0 _ _ _ | _ _ _ _ | Уникальное имя NetBIOS |
| _ 10 _ | _ _ _ _ | Узел М-типа |
| _ _ _ _ | _ 1 _ _ | Активное имя |
| _ _ _ _ | _ _ 0 _ | Временное имя |
Для поля флагов имени группы характерно следующее назначение бит (таблица 5.3.4.).
| 1 _ _ _ | _ _ _ _ | Имя группы NetBIOS |
| _ 10 _ | _ _ _ _ | Узел М-типа |
| _ _ _ _ | _ 1 _ _ | Активное имя |
| _ _ _ _ | _ _ 0 _ | Временное имя |
В последнее время развивается технология
Еще одной проблемой, связанной со службой имен, являются атаки, которые сопряжены с имитацией DNS. Для преодоления таких атак разработан метод транзакционных подписей
Любое устройство, подключенное к локальной сети (Ethernet, FDDI и т.д.), имеет уникальный физический сетевой адрес, заданный аппаратным образом. 6байтовый Ethernet-адрес выбирает изготовитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Если у машины меняется сетевой адаптер, то меняется и ее Ethernet-адрес.
4-байтовый IP-адрес задает менеджер сети с учетом положения машины в сети Интернет. Если машина перемещается в другую часть сети Интернет, то ее IP-адрес должен быть изменен. Преобразование IP-адресов в сетевые выполняется с помощью ARP-таблицы. Каждая машина сети имеет отдельную ARP-таблицу для каждого своего сетевого адаптера. Нетрудно видеть, что существует проблема отображения физического адреса (6 байт для Ethernet) в пространство сетевых IP-адресов (4 байта) и наоборот.
Протокол ARP (address resolution protocol, RFC-826) решает именно эту проблему — преобразует IP в Ethernetадреса.
Рассмотрим процедуру преобразования адресов при отправлении сообщения. Пусть прикладная программа одной ЭВМ отправляет сообщение другой. Прикладной программе IP-адрес места назначения обычно известен. Для определения Ethernet-адреса просматривается ARP-таблица. Если для требуемого IP-адреса в ней присутствует Ethernet-адрес, то формируется и посылается соответствующий пакет. Если же с помощью ARP-таблицы не удается преобразовать адрес, то выполняется следующее:
Каждая машина, принявшая ARP-запрос, в своем ARP-модуле сравнивает собственный IP-адрес с IP-адресом в запросе. Если IP-адрес совпал, то прямо по Ethernet-адресу отправителя запроса посылается ответ, содержащий как IP-адрес ответившей машины, так и ее Ethernet-адрес. После получения ответа на свой ARP-запрос машина имеет требуемую информацию о соответствии IP и Ethernet-адресов, формирует элемент ARP-таблицы и отправляет IP-пакет, ранее поставленный в очередь. Если же в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Модуль IP будет уничтожать IP-пакеты, предназначенные для отправки по этому адресу.
Протоколы верхнего уровня не могут отличить случай повреждения в среде Ethernet от случая отсутствия машины с искомым IP-адресом. Во многих реализациях в случае, если IP-адрес не принадлежит локальной сети, внешний порт сети (gateway) или маршрутизатор откликается, выдавая свой физический адрес (режим проксиARP).
Функционально, ARP делится на две части. Одна определяет физический адрес при посылке пакета, другая отвечает на запросы других машин. ARP-таблицы имеют динамический характер, каждая запись в ней "живет" определенное время, после чего удаляется. Менеджер сети может осуществить запись в ARP-таблицу, которая там будет храниться "вечно". ARP-пакеты вкладываются непосредственно в Ethernetкадры. Формат ARP-пакета показан на рис. 5.9.
HALen — длина аппаратного адреса; PALen — длина протокольного адреса (длина в байтах, например, для IP-адреса PALen=4 ). Тип оборудования — это тип интерфейса, для которого отправитель ищет адрес; код содержит 1 для Ethernet. Ниже представлена таблица 5.4 кодов оборудования.
Поле код операции определяет, является ли данный пакет ARP-запросом (код = 1), ARP-откликом (2), RARP-запросом (3), или RARP-откликом (4).
ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода (таблица 5.5.1.).
В SUN и некоторых других ЭВМ имеется программа arp, которая позволяет отобразить ARP-таблицу на экране. С флагом a команда отображает всю таблицу, флаг d позволяет стереть запись, а s служит для внесения записей в таблицу (последние два флага доступны для операторов с
(рис 5.9) Формат пакета ARP | код типа оборудования | описание |
|---|---|
| 1 | Ethernet (10 Мбит/с) |
| 2 | Экспериментальный Ethernet (3 Мбит/с) |
| 3 | Радиолюбительская связь через X.25 |
| 4 | Proteon ProNET маркерная кольцевая сеть (Token Ring) |
| 5 | Chaos |
| 6 | Сети IEEE 802 |
| 7 |
arp 192.148.166.129 Name: semenov.itep.ru Address: 192.148.166.129 Aliases: yas
А команда
arp nb
выдаст запись
nb (193.124.224.60) at 0:80:ad:2:24:b7 (запись для NetBlazer ИТЭФ)
ARP запросы могут решать и другие задачи. Так при загрузке сетевого обеспечения ЭВМ такой запрос может выяснить, а не присвоен ли идентичный IP-адрес какомуто еще объекту в сети. При смене физического интерфейса такой запрос может инициировать смену записи в ARP-таблице.
| код типа протокола | описание | |
| Десятичное значение | Hex | |
| 512 | 0200 | XEROX |
| 513 | 0201 | |
| 1536 | 0600 | XEROX NS |
| 2048 | 0800 | |
| 2049 | 0801 | X.75 Internet |
| 2050 | 0802 | |
| 2051 | 0803 | ECMA Internet |
| 2052 | 0804 | Chaosnet |
| 2053 | 0805 | X.25 уровень 3 |
| 2054 | 0806 | Протокол трансляции адреса (ARP) |
| 2055 | 0807 | |
| 2560 | 0A00 | Xerox IEEE-802.3 |
| 4096 | 1000 | Bercley |
| 21000 | 5208 | BBN Simnet |
| 24577 | 6001 | DEC |
| 24578 | 6002 | DEC |
| 24579 | 6003 | DEC |
| 24580 | 6004 | DEC |
| 24582 | 6005 | DEC |
| 24583 | 6006 | DEC |
| 32773 | 8005 | HP Probe |
| 32784 | 8010 | Excelan |
| 32821 | 8035 | Реверсивный протокол ARP (RARP) |
| 32824 | 8038 | DEC LANbridge |
| 32923 | 8098 | Appletalk |
| 33100 | 814C | SNMP |
В рамках протокола ARP возможны самообращенные запросы (gratuitous ARP), когда инициатор формирует пакет, где в качестве IP используется его собственный адрес. Это бывает нужно, когда осуществляется стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса отправителя и получателя совпадают.
| ifindex | Физический порт (интерфейс), соответствующий данному адресу |
| Физический адрес | MAC-адрес, например Ethernet-адрес |
| IP-адрес | IP-адрес, соответствующий физическому адресу |
| Тип адресного соответствия | Это поле может принимать 4 значения: 1 — вариант нестандартный и не подходит ни к одному из описанных ниже типов; 2 — данная запись уже не соответствует действительности; 3 — постоянная привязка; 4 — динамическая привязка |
Самообращенный запрос позволяет ЭВМ решить две проблемы. Вопервых, определить, нет ли в сети объекта, имеющего тот же IРадрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Duplicate IP address sent from Ethernet address <...>. Вовторых, в случае смены сетевой карты производится корректировка записи в АRP-таблицах ЭВМ, которые содержали старый МАС-адрес инициатора. Машина, получающая ARP-запрос c адресом, который содержится в ее таблице, должна обновить эту запись.
Вторая особенность такого запроса позволяет резервному файловому серверу заменить основной, послав самообращенный запрос со своим МАС-адресом, но с IP вышедшего из строя сервера. Этот запрос вынудит перенаправлять кадры, адресованные основному серверу, на резервный. Клиенты сервера при этом могут и не знать о выходе основного сервера из строя. При этом возможны и неудачи, если программные реализации в ЭВМ не в полной мере следуют регламентациям протокола ARP.
Обычно IP-адреса хранятся на диске (в конфигурационных файлах), откуда они считываются при загрузке системы. Проблема возникает тогда, когда необходимо инициализировать рабочую станцию, не имеющую диска. Бездисковые системы часто используют операции типа TFTP для переноса из сервера в память образа операционной системы, а это нельзя сделать, не зная IP-адресов сервера и ЭВМ-клиента. Записывать эти адреса в ПЗУ не представляется целесообразным, так как их значения зависят от точки подключения ЭВМ и могут меняться. Для решения данной проблемы был разработан протокол обратной трансляции адресов (RARP – Reverse Address Resolution Protocol, RFC-0903, смотри также ниже описание протокола BOOTP). Форматы сообщений RARP сходны с ARP (см. рис. 5.10), хотя сами протоколы принципиально различны. Протокол RARP предполагает наличие специального сервера, обслуживающего RARPзапросы и хранящего базу данных о соответствии аппаратных адресов протокольным. Этот протокол работает с любой транспортной средой, в случае же кадра Ethernet в поле тип будет записан код 803516 (смотри таблицу 5.5).
(рис 5.10) Формат RARP-сообщенияЗдесь обозначения те же, что и в описании ARP-формата. Значение n определяется числом, записанным в поле HA-Len, а m — числом из поля PALen. Для Internet PA-Len=4 и тип протокола=2048, а для Ethernet равно HA-Len=6 и тип оборудования=1. В RARP используется два кода операции. Код операции=3 используется для RARP-запросов, а код операции=4 — для RARP-откликов. В первом случае поле протокольный адрес отправителя и протокольный адрес адресата не определены. Обычно локальная сеть имеет несколько RARP-серверов, что позволяет загрузиться бездисковым машинам, даже если какойто из серверов выключен или не исправен.
Главной ЭВМ любой системы является та, на которой работаете вы. Но помимо этой машины и маршрутизатора локальной сети, не последнюю роль играет сервер имен (DNS-система, RFC-4032, -4034, -4035, -2137, -2052, -2136, -1996, -1918, -1793, -171213, -1706, -1664, -161112, -153637, -1401, -1383, -1183, -1101, -103435).
Сервер имен — это программа управления распределенной базой данных, в которой хранятся символьные имена сетей, различных сетевых объектов и ЭВМ вместе с их IP-адресами.
Наиболее распространенным программным продуктом, решающим данную задачу является BIND (Berkeley Internet Name Domain). Иногда для этой цели выделяют специальную машину.
(рис 5.1) Структура взаимодействия с серверами имен База имен является распределенной, так как нет такой ЭВМ, где бы хранилась вся эта информация. Имя содержит несколько полей (длиной не более 63 символов), разделенных точками, а его полная длина не должна превышать 255 октетов, включая байт длины. Анализ имени производится справа налево. Самая правая секция имени характеризует страну или характер организации: образовательная, коммерческая, правительственная и т.д..
Следующие символьные коды в конце Internet-имени означают функциональную принадлежность узла (таблица 5.1.).
| поле адреса | Тип сети |
|---|---|
| .aero | Фирма или организация, относящаяся к сфере авиации |
| .arpa | Специальный домен, используемый для преобразования IP-адреса в имя |
| .arts | Культура и досуг |
| .biz | Организация, относящаяся к сфере бизнеса |
| .com | Коммерческая организация |
| .coop | Кооперативная организация |
| .edu | Учебное заведение |
| .firm | Коммерческое предприятие |
| .gov | Государственное учреждение (США) |
| .info | Открытая |
| .int | Международная организация |
| .org | Бесприбыльная организация |
| .mil | Военное предприятие или организация (США) |
| .museum | Имя домена музея |
| .name | Имя домена частного лица |
| .net | Большая сеть |
| .pro | Профессионал, достойный доверия. Управляется RegistryPro (http://www.nic.pro/) |
| .rec | Развлечения |
| .shop | Торговля |
| .tv | Телевидение |
| .web | Организация, вовлеченная в WEB-активность |
Секции .mil и .gov принадлежат исключительно американским сетям (хотя и многие другие трехсимвольные секции адреса, например .edu, чаще, но не всегда, принадлежат американским университетам и другим учебным организациям). Структура имен обычно отражает структуру организации, которой принадлежат сети или ЭВМ, но не архитектуру сети в этой организации. Так имя itep.ru — это имя домена itepnet (Институт Теоретической и Экспериментальной физики, Москва). cl.itep.ru — имя mvax-кластера в ИТЭФ, а suncom.itep.ru — имя одной из ЭВМ SUN в той же сети. По имени, как правило, нельзя определить, является ли оно именем сети, маршрутизатора или конкретной ЭВМ. Для записи символьных имен используется исключительно латинский алфавит.
Маленький фрагмент интернетовской иерархии имен показан на рис. 5.2. Число уровней реально больше, но обычно не превышает 5.
(рис 5.2) Иерархия имен в ИнтернетDNS (I — домен первого уровня; II — второго уровня)Каждому узлу (прямоугольнику на рисунке) соответствует имя, которое может содержать до 63 символов. Только самый верхний, корневой узел не имеет имени. При написании имени узла строчные и прописные символы эквивалентны. Имя домена, завершающееся точкой, называется абсолютным или полным именем домена (например, itep.ru.). В некоторых странах создана структура имен, сходная с com/edu/org. Так, в Англии можно встретить адреса .ac.uk для академических учреждений и .co.uk — для коммерческих. Если имя домена не завершено символом точки, DNS может попытаться его дополнить, например, имя ns может быть преобразовано в ns.itep.ru. На приведенной схеме каждому объекту трех верхних уровней соответствуют серверы имен, которые могут взаимодействовать друг с другом при решении задачи преобразования имени в IP-адрес. Можно было бы построить схему, при которой в любом сервере имен имелись адреса серверов .com, .edu, .ru и т.д. и при необходимости он мог бы послать туда запрос. Реальная схема серверов не столь идеальна и стройна — существуют серверы nsf.gov, oakland.edu и т.д., которые непосредственно связаны с базовым сервером имен. Каждый сервер содержит лишь часть дерева имен. Эта часть называется зоной ответственности сервера. DNSсервер может делегировать ответственность за часть зоны другим серверам, создавая субзоны. Когда в зоне появляется новая ЭВМ или субдомен, администратор зоны записывает ее имя и IP-адреса в базу данных сервера. Администратор зоны определяет, какой из DNSсерверов имен является для данной зоны первичным. Число вторичных серверов не лимитировано. Первичный и вторичный серверы должны быть независимыми и работать на разных ЭВМ, так, чтобы отказ одного из серверов не выводил из строя систему в целом. Отличие первичного сервера имен от вторичного заключается в том, что первичный загружает информацию о зоне из файлов на диске, а вторичный получает ее от первичного сервера. Администратор вносит любые изменения в соответствующие файлы первичного сервера, а вторичные сер веры получают эту информацию, периодически (раз в 3 часа) запрашивая первичный сервер. Пересылка информации из первичного во вторичные серверы имен называется зонным обменом. Как будет вести себя сервер, если он не имеет запрашиваемой информации? Он должен взаимодействовать с корневыми серверами. Таких серверов насчитывается около десяти и их IPадреса должны содержаться в конфигурационных файлах.
Список корневых серверов вы можете получить с помощью анонимного FTP по адресам: nic.gethostbyname и gethostbyaddr, которые позволяют определить IP-адрес по имени ЭВМ и наоборот. В одном запросе может содержаться несколько вопросов. Если сервер не сможет ответить на вопросы, он пришлет отклик, где содержатся адреса других серверов, способных решить эту задачу. Ниже на рисунке 5.3 представлен формат таких сообщений (в качестве транспорта используется UDP или TCP, порт 53).
(рис 5.3) Формат DNS-сообщенийКаждое сообщение начинается с заголовка, который содержит поле идентификация, позволяющее связать в пару запрос и отклик. Поле флаги определяет характер запрашиваемой процедуры, а также кодировку отклика. Поля число... определяют число записей соответствующего типа, содержащихся в сообщении. Так, число запросов задает число записей в секции запросов, требующих ответов. Каждый вопрос состоит из символьного имени домена, за которым следует тип запроса и класс запроса. Значения битов поля флаги в сообщении сервера имен отображены в таблице 5.2. Разряды пронумерованы слева направо, начиная с нуля рис. 5.4.
(рис 5.4) Назначение битов поля флагиНиже описан формат секции запросов в DNSсообщении.
Поле символьное имя домена имеет переменную длину, содержит одно или более субполей, начинающихся с байта длины (0-63). Поле завершается 0. Например, для ns.itep.ru (цифры представляют собой октеты длины).

(рис 5.5) В реальной нотации байты длины субполя могут иметь два старших бита, равные 1, что преобразует интервал значений из 0-63 в 192-255. Такой байт в поле означает, что это не мера длины секции, а 16-битный указатель, 14 бит которого являются смещением от начала DNS-сообщения, указывающим на место продолжения секции. Смещение для первого байта поля идентификации равно нулю. Эти ухищрения придуманы для сокращения длины сообщений, так как одно и то же имя домена в отклике может повторяться много раз. Поле тип запроса характеризует разновидность запроса.
| код поля | флаги | описание |
|---|---|---|
| 0 (QR) | Операция: | 0 запрос 1 отклик |
| 1…4 | Тип запроса ( |
0 стандартный 1 инверсный 2 запрос состояния сервера |
| 5 (AA) | Равен 1 при отклике от сервера (RR), в ведении которого находится домен, упомянутый в запросе | |
| 6 (TC) | Равен 1 при укорочении сообщения. Для UDP это означает, что ответ содержал более 512 октетов, но прислано только первые 512 | |
| 7 (RD) | Равен 1, если для получения ответа желательна рекурсия | |
| 8 (RA) | Равен 1, если рекурсия для запрашиваемого сервера доступна | |
| 9…11 | Зарезервировано на будущее. Должны равняться нулю | |
| 12…15 | Тип отклика (rcode): | 0 нет ошибки 1 ошибка в формате запроса 2 сбой в сервере 3 имени не существует |
Последние две строки в таблице 5.3 относятся только к запросам. Поле класс запроса позволяет использовать имена доменов для произвольных объектов (все официальные имена Интернет относятся к одному классу [IN] — 1). В сообщении DNS-сервера каждая из секций (дополнительной информации, ответов или узловых серверов имен) состоит из набора ресурсных записей, которые описывают имена доменов и некоторую другую информацию (например, их адреса). Появление ресурсных полей в DNS базе данных придают ей новые качества. Каждая запись описывает только одно имя, формат этих записей отображен на рис. 5.6.
(рис 5.6) Формат ресурсных записей в DNS (RR)| Тип запроса | код запроса | описание |
|---|---|---|
A |
1 | IP-адрес |
NS |
2 | Сервер имен |
CNAME |
5 | Каноническое имя |
SOA |
6 | Начало списка серверов. Большое число полей, определяющих часть иерархии имен, которую использует сервер |
MB |
7 | Имя домена почтового ящика |
|
11 | well-known service — стандартная услуга |
PTR |
12 | Запись указателя |
HINFO |
13 | Информация об ЭВМ |
MINFO |
14 | Информация о почтовом ящике или списке поч¬товых адресов |
MX |
15 | Запись о почтовом сервере. Включает в себя при¬оритет обработчика почты |
TXT |
16 | Не интерпретируемая строка ASCII-символов |
ISDN |
Связывает имя ЭВМ с адресом ISDN | |
AXFR |
252 | Запрос зонного обмена |
* или ANY |
255 | Запрос всех записей |
Всего существует 20 различных типов RR-записей. Имя домена в такой записи может иметь произвольную длину. Поля тип и класс характеризуют тип и класс данных, включенных в запись (аналогичны используемым в запросах). Поле время жизни (TTL) содержит время (в секундах), в течение которого запись о ресурсах может храниться в буферной памяти (в кэше). Обычно это время соответствует двум дням. Формат информации о ресурсах зависит от кода в поле тип, так, для тип=1 — это 4 байта IP-адреса. Сервер имен может обслуживать и другие запросы, например, по IP-адресу определять символьное имя домена или преобразовать имя домена в адрес почтового сервера. Когда организация присоединяется к Интернет, она получает в свое распоряжение не только определенную DNSобласть, но и часть пространства в inaddr.arpa, соответствующую ее IP-адресам. Домен inaddr.arpa предназначен для определения имен по их IP-адресам. Такая схема исключает процесс перебора серверов при подобном преобразовании.
Имена в домене INADDR.ARPA могут иметь до четырех субполей помимо суффикса INADDR.ARPA. Каждое субполе представляет собой октет IP-адреса и содержит последовательность символов, отображающую коды в диапазоне 0-255. Так, имя для IP-адреса 192.148.166.137 (если оно существует) содержится в домене с именем 137.166.148.192.INADDR.ARPA. Запись адреса задом наперед диктуется общими принципами записи имен доменов (корневая часть имени находится справа). Направив в домен INADDR.ARPA несколько запросов относительно имен объектов с интересующими вас IP-адресами, можно получить следующий результат (таблица 5.3.1.), где в левой колонке записаны IP-адреса, имена которых разыскиваются, во второй записаны аппаратные адреса интерфейсов, через которые доступны искомые объекты. Поскольку первая и третья строки относятся к внешним по отношению к узлу ITEP объектам, здесь записан адрес интерфейса пограничного маршрутизатора. В третьей колонке содержится значение RTT в мсек, а в последней — имена объектов. IP-адресу 192.148.166.102 не соответствует никакого имени.
Задержка при выполнении команды telnet между выдачей команды и появлением на экране IP-адреса связана с доступом и работой DNSсервера. Пауза между появлением надписи Trying и Connected to определяется временем установления TCP-связи между клиентом и сервером. База данных имен может содержать и другую информацию. Типы такой информации представлены в таблице 5.3. Для извлечения информации из этой распределенной базы данных можно воспользоваться программой host (SUN или другая ЭВМ, работающая под UNIX). Рассмотрим несколько примеров (курсивом выделены команды, выданные с терминала).
| IP address | Hard-addr | Delay | Date | Host name |
|---|---|---|---|---|
| 128.141.202.101 | 00.00.0c.02.69.7d | 440 | 10/10/95 | na48-1.cern.ch |
| 192.148.166.102 | 00.00.a7.14.41.c2 | 5 | 10/10/95 | |
| 192.148.166.237 | 00.00.0c.02.69.7d | 5 | 10/10/95 | ITEP-M9.Relcom. ITEP.RU |
host t cname cernvm.cern.ch cernvm.cern.ch is a nickname for crnvma.cern.ch
Напомним, что CNAME — каноническое имя узла или ЭВМ, иногда называемое также псевдонимом (alias).
host t hinfo ns.itep.ru ns.itep.ru HINFO SparcStation1 SunOS4.1.3
HINFO — информация об ЭВМ. Это обычно две последовательности символов, которые характеризуют ЭВМ и ее операционную систему. Много полезной информации можно узнать о почтовом сервере узла посредством команды:
host t mx cl.itep.ru cl.itep.ru is a nickname for r02vax.itep.ru r02vax.itep.ru mail is handled by relay1.kiae.su r02vax.itep.ru mail is handled by relay2.kiae.su r02vax.itep.ru mail is handled by mx.itep.ru r02vax.itep.ru mail is handled by x4u2.desy.de host v info.cern.ch Trying domain "itep.ru" rcode = 3 (Nonexistent domain), ancount=0 Trying null domain rcode = 0 (Success), ancount=2 info.cern.ch 86400 IN CNAME www.6.cern.ch www6.cern.ch 86400 IN A 128.141.202.119 Trying domain "itep.ru" rcode = 3 (Nonexistent domain), ancount=0 Trying null domain rcode = 0 (Success), ancount=1 The following answer is not authoritative: www6.cern.ch 86400 IN A 128.141.202.119 For authoritative answers, see: CERN.CH 52256 IN NS dxmon.cern.ch CERN.CH 52256 IN NS ns.eu.net CERN.CH 52256 IN NS sunic.sunet.se CERN.CH 52256 IN NS scsnms.switch.ch Additional information: dxmon.cern.ch 79157 IN A 192.65.185.10 ns.eu.net 56281 IN A 192.16.202.11 sunic.sunet.se 85087 IN A 192.36.125.2 sunic.sunet.se 85087 IN A 192.36.148.18 scsnms.switch.ch 72545 IN A 130.59.1.30 scsnms.switch.ch 72545 IN A 130.59.10.30
Опция -v, используемая совместно с командой host, позволяет получить более полную информацию об узле. Во второй колонке данной выдачи указано время жизни (TTL) в секундах. Значение TTL в первых строках соответствует суткам (24x60x60=86400). IN в следующей колонке указывает на принадлежность к классу Интернет. В четвертой колонке проставлены указатели типов запроса (см. табл. 5.3). В пятой колонке идут названия серверов имен и IP-адреса ЭВМ. Далее следуют коды предпочтения. MX-записи активно используются почтовыми серверами. Обмен MXзаписями производится в следующих случаях:
MX-записи снабжены 16-битными кодами предпочтения. Если для адреса имеется несколько MXзаписей, они используются в порядке нарастания этого кода. Если вы хотите узнать список доступных услуг на той или иной ЭВМ, вы можете выдать команду (
host tv wks ns.itep.ru ns.itep.ru WKS 193.124.224.35 udp domain tftp ns.itep.ru WKS 193.124.224.35 tcp echo ftp telnet smtp time finger
Если вам нужно узнать IP-адреса того или иного узла, можно также воспользоваться командой host:
host vxdesy.desy.de vxdesy.desy.de has address 131.169.35.78 vxdesy.desy.de has address 131.169.35.79 vxdesy.desy.de has address 131.169.35.76 vxdesy.desy.de has address 131.169.35.77
Большая часть данных относится к типу "А".
Выше уже говорилось, что для транспортировки DNSзапросов применяются протоколы UDP и TCP. Когда же следует использовать тот или иной протокол? Обычно применяется UDP. Когда в ответ на запрос программа получает отклик с битом флагов TC=1 (сообщение укорочено), программа повторяет запрос, но уже с использованием протокола TCP. Этот протокол применяется также для зонных обменов между первичным и вторичным DNSсерверами.
Обычно реализация сервера имен (версия BIND — Berkeley Internet Name Domain) предполагает наличие трех конфигурационных файлов:
named.boot — файл начальной загрузки сервера имен;
named.local — стартовый файл клиента DNS;
named.ca — исходный буфер имен и адресов.
Эти текстовые файлы, строки и фрагменты, начинающиеся с точки с запятой, представляют собой комментарии. В первом из перечисленных файлов строка, начинающаяся со слова sortlist, указывает на порядок присылки адресов при условии, что отклик на запрос содержит несколько адресов. Строка, начинающаяся со слова directory, содержит название каталога, где хранятся конфигурационные файлы (по умолчанию /etc). Строка cache сообщает имя файлабуфера имен и адресов (по умолчанию named.ca). Далее обычно следует несколько строк, начинающихся со слова primary. Эти строки указывают имена файлов (например, named.hosts или named.local), где содержится информация о соответствии имен и адресов для определенных субдоменов. Вместо имени файла может быть указан IP-адрес. Укладка данных в файле соответствует требованиям документа RFC-1033. Для вторичного (secondary) DNS файл named.boot имеет схожую структуру. Вместо строк со словом primary в этом файле присутствуют строки secondary. Эти строки содержат, помимо имен субдоменов и файлов, IP-адрес первичного DNS. Последний выполняет и функцию переадресации запросов вышестоящим серверам. Вторичный DNSсервер при невозможности выполнить запрос переадресует его первичному серверу, а не вышестоящему. Первичный сервер может создавать большой кэшбуфер для локального обслуживания часто поступающих запросов.
Файл named.local служит для спецификации интерфейса сервера имен и содержит в себе запись SOA (Start of Authority) и две ресурсных записи. Запись SOA определяет начало зоны. Символ @ в начале первой строки файла определяет имя зоны. Здесь же указываются опционные параметры:
Запись может выглядеть как (RFC-1033):
@ IN SOA SRINIC.ARPA. HOSTMASTER.SRINIC.ARPA. ( 45 ;serial 3600 ;refresh 600 ;retry 3600000 ;expire 86400 ) ;minimum
В файле приводится имя первичного сервера имен для данного субдомена (флаг NS) и имя администратора с указанием адреса его электронной почты. Последняя запись в файле содержит указатель на местную ЭВМ. Первая цифра в строке этой записи содержит суффикс IP-адреса этой машины.
Файл named.ca используется для заполнения кэша при первичной загрузке DNS. Примером, иллюстрирующим возможное содержимое файла, можно считать следующую запись (взято из RFC-1033):
;list of possible root servers . 1 IN NS SRINIC.ARPA. NS C.ISI.EDU. NS BRLAOS.ARPA. NS C.ISI.EDU. ;and their addresses SRINIC.ARPA. A 10.0.0.51 A 26.0.0.73 C.ISI.EDU. A 10.0.0.52 BRLAOS.ARPA. A 192.5.25.82 A 192.5.22.82 A 128.20.1.2 A.ISI.EDU. A 26.3.0.103
Первое поле представляет собой имя домена или субдомена, второе поле — значение TTL, третье — поле класс (Internet), четвертое — тип записи (NS для сервера имен или A для адреса), и последнее поле характеризует имя ЭВМ или IP-адрес. Если какието поля пусты, это означает, что они тождественны приведенным выше. Точка в начале первой строки указывает на корневой домен.
Для администраторов, обслуживающих DNS, весьма полезно ознакомиться с документом RFC-1536 ("Common DNS
Возможна и другая схема возникновения циклов запросов. Предположим, что сервер <1> содержит в своем списке внешних DNS сервер <2>, а последний в свою очередь содержит в своем списке сервер <1>. Такого рода перекрестные ссылки трудно обнаружить, особенно если в перечне фигурирует большое число серверов. Иногда возникает ситуация, когда клиент, получив список DNSсерверов, не знает, что с ним делать, и посылает запрос повторно тому же серверу. Идентифицировать такого рода ошибки весьма трудно, особенно когда в это вовлечены внешние серверы, содержимое конфигурационных файлов которых недоступно.
Иногда DNS-сервер в ответ на запрос не присылает сообщений об ошибке и какихлибо данных клиенту. Это случается, когда запрашиваемое имя вполне корректно, но записей нужного типа не найдено. Например, запрошен адрес почтового сервера домена xxx.com. Домен этот существует, но рекорда типа MX не обнаружено. Дальнейшие события зависят от характера программного обеспечения клиента. Если клиент считает такого рода "отклик" некорректным, он может послать запрос повторно и т.д., и т.д. По этой причине в случае, если программное обеспечение это позволяет, рекомендуется ограничить число повторных запросов клиента. Приведенные примеры показывают, насколько актуальна корректная конфигурация DNS клиента и сервера.
В последнее время разработано несколько модификаций протокола DNS, направленных на совершенствование его безопасности (смотри, например, RFC-2535). В документе RFC-2537 рассмотрена возможность использования DNS для хранения ключей шифрования.
WINS-запросы обычно транспортируются в UDP-дейтограммах. При этом используется порт отправителя=137. В поле данных размешается 2октетное поле идентификатора, позволяющего связать запрос с откликом. Далее следует 2 байта флагов, в случае запроса туда записывается 0. За ним размещается два октета, содержащие число вопросов, 2 октета числа ответов и еще 4 нулевых октетов. Завершается кадр запроса двумя октетами поля типа ( 00 21 -> статус узла NetBIOS ) и полем класса (для Интернет 00 01 -> (IN,1) ). Такие запросы позволяют получить дополнительные данные (имя узла, его MAC-адрес, NetBIOS-имя, имя группы) об ЭВМ с заданным IP-адресом. Причем эта ЭВМ может находиться где угодно в Интернет, но непременно работать c OS Windows. Формат поля данных UDP-дейтограммы запроса показан на рис. 5.7.
(рис 5.7) Формат запроса WINSВ поле данных UDP-дейтограммы отклика располагается 2-байтовое поле идентификатора, идентичного содержащемуся в пакете запроса. Далее следует поле флагов с длиной в два октета. Формат поля данных UDP-дейтограммы отклика показан на рис. 5.8.
(рис 5.8) Формат отклика на WINS-запросПоле флаги имеет следующую структуру (таблица 5.3.2.).
| 0 _ _ _ | _ _ _ _ | Команда |
| _ 000 | 0 _ _ _ | Запрос |
| _ _ _ _ | _ _ 0 _ | Не укорочено |
| _ _ _ _ | _ _ _ 0 | Рекурсия нежелательна |
| 1 _ _ _ | _ _ _ _ | Отклик |
| _ 000 | 0 _ _ _ | Запрос |
| _ _ _ _ | _ _ 0 _ | Не укорочено |
| _ _ _ _ | _ 1 _ _ | Официальный ответ |
Для поля флаги имени характерна следующая структура (таблица 5.3.3).
| 0 _ _ _ | _ _ _ _ | Уникальное имя NetBIOS |
| _ 10 _ | _ _ _ _ | Узел М-типа |
| _ _ _ _ | _ 1 _ _ | Активное имя |
| _ _ _ _ | _ _ 0 _ | Временное имя |
Для поля флагов имени группы характерно следующее назначение бит (таблица 5.3.4.).
| 1 _ _ _ | _ _ _ _ | Имя группы NetBIOS |
| _ 10 _ | _ _ _ _ | Узел М-типа |
| _ _ _ _ | _ 1 _ _ | Активное имя |
| _ _ _ _ | _ _ 0 _ | Временное имя |
В последнее время развивается технология
Еще одной проблемой, связанной со службой имен, являются атаки, которые сопряжены с имитацией DNS. Для преодоления таких атак разработан метод транзакционных подписей
Любое устройство, подключенное к локальной сети (Ethernet, FDDI и т.д.), имеет уникальный физический сетевой адрес, заданный аппаратным образом. 6байтовый Ethernet-адрес выбирает изготовитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Если у машины меняется сетевой адаптер, то меняется и ее Ethernet-адрес.
4-байтовый IP-адрес задает менеджер сети с учетом положения машины в сети Интернет. Если машина перемещается в другую часть сети Интернет, то ее IP-адрес должен быть изменен. Преобразование IP-адресов в сетевые выполняется с помощью ARP-таблицы. Каждая машина сети имеет отдельную ARP-таблицу для каждого своего сетевого адаптера. Нетрудно видеть, что существует проблема отображения физического адреса (6 байт для Ethernet) в пространство сетевых IP-адресов (4 байта) и наоборот.
Протокол ARP (address resolution protocol, RFC-826) решает именно эту проблему — преобразует IP в Ethernetадреса.
Рассмотрим процедуру преобразования адресов при отправлении сообщения. Пусть прикладная программа одной ЭВМ отправляет сообщение другой. Прикладной программе IP-адрес места назначения обычно известен. Для определения Ethernet-адреса просматривается ARP-таблица. Если для требуемого IP-адреса в ней присутствует Ethernet-адрес, то формируется и посылается соответствующий пакет. Если же с помощью ARP-таблицы не удается преобразовать адрес, то выполняется следующее:
Каждая машина, принявшая ARP-запрос, в своем ARP-модуле сравнивает собственный IP-адрес с IP-адресом в запросе. Если IP-адрес совпал, то прямо по Ethernet-адресу отправителя запроса посылается ответ, содержащий как IP-адрес ответившей машины, так и ее Ethernet-адрес. После получения ответа на свой ARP-запрос машина имеет требуемую информацию о соответствии IP и Ethernet-адресов, формирует элемент ARP-таблицы и отправляет IP-пакет, ранее поставленный в очередь. Если же в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Модуль IP будет уничтожать IP-пакеты, предназначенные для отправки по этому адресу.
Протоколы верхнего уровня не могут отличить случай повреждения в среде Ethernet от случая отсутствия машины с искомым IP-адресом. Во многих реализациях в случае, если IP-адрес не принадлежит локальной сети, внешний порт сети (gateway) или маршрутизатор откликается, выдавая свой физический адрес (режим проксиARP).
Функционально, ARP делится на две части. Одна определяет физический адрес при посылке пакета, другая отвечает на запросы других машин. ARP-таблицы имеют динамический характер, каждая запись в ней "живет" определенное время, после чего удаляется. Менеджер сети может осуществить запись в ARP-таблицу, которая там будет храниться "вечно". ARP-пакеты вкладываются непосредственно в Ethernetкадры. Формат ARP-пакета показан на рис. 5.9.
HALen — длина аппаратного адреса; PALen — длина протокольного адреса (длина в байтах, например, для IP-адреса PALen=4 ). Тип оборудования — это тип интерфейса, для которого отправитель ищет адрес; код содержит 1 для Ethernet. Ниже представлена таблица 5.4 кодов оборудования.
Поле код операции определяет, является ли данный пакет ARP-запросом (код = 1), ARP-откликом (2), RARP-запросом (3), или RARP-откликом (4).
ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода (таблица 5.5.1.).
В SUN и некоторых других ЭВМ имеется программа arp, которая позволяет отобразить ARP-таблицу на экране. С флагом a команда отображает всю таблицу, флаг d позволяет стереть запись, а s служит для внесения записей в таблицу (последние два флага доступны для операторов с
(рис 5.9) Формат пакета ARP | код типа оборудования | описание |
|---|---|
| 1 | Ethernet (10 Мбит/с) |
| 2 | Экспериментальный Ethernet (3 Мбит/с) |
| 3 | Радиолюбительская связь через X.25 |
| 4 | Proteon ProNET маркерная кольцевая сеть (Token Ring) |
| 5 | Chaos |
| 6 | Сети IEEE 802 |
| 7 |
arp 192.148.166.129 Name: semenov.itep.ru Address: 192.148.166.129 Aliases: yas
А команда
arp nb
выдаст запись
nb (193.124.224.60) at 0:80:ad:2:24:b7 (запись для NetBlazer ИТЭФ)
ARP запросы могут решать и другие задачи. Так при загрузке сетевого обеспечения ЭВМ такой запрос может выяснить, а не присвоен ли идентичный IP-адрес какомуто еще объекту в сети. При смене физического интерфейса такой запрос может инициировать смену записи в ARP-таблице.
| код типа протокола | описание | |
| Десятичное значение | Hex | |
| 512 | 0200 | XEROX |
| 513 | 0201 | |
| 1536 | 0600 | XEROX NS |
| 2048 | 0800 | |
| 2049 | 0801 | X.75 Internet |
| 2050 | 0802 | |
| 2051 | 0803 | ECMA Internet |
| 2052 | 0804 | Chaosnet |
| 2053 | 0805 | X.25 уровень 3 |
| 2054 | 0806 | Протокол трансляции адреса (ARP) |
| 2055 | 0807 | |
| 2560 | 0A00 | Xerox IEEE-802.3 |
| 4096 | 1000 | Bercley |
| 21000 | 5208 | BBN Simnet |
| 24577 | 6001 | DEC |
| 24578 | 6002 | DEC |
| 24579 | 6003 | DEC |
| 24580 | 6004 | DEC |
| 24582 | 6005 | DEC |
| 24583 | 6006 | DEC |
| 32773 | 8005 | HP Probe |
| 32784 | 8010 | Excelan |
| 32821 | 8035 | Реверсивный протокол ARP (RARP) |
| 32824 | 8038 | DEC LANbridge |
| 32923 | 8098 | Appletalk |
| 33100 | 814C | SNMP |
В рамках протокола ARP возможны самообращенные запросы (gratuitous ARP), когда инициатор формирует пакет, где в качестве IP используется его собственный адрес. Это бывает нужно, когда осуществляется стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса отправителя и получателя совпадают.
| ifindex | Физический порт (интерфейс), соответствующий данному адресу |
| Физический адрес | MAC-адрес, например Ethernet-адрес |
| IP-адрес | IP-адрес, соответствующий физическому адресу |
| Тип адресного соответствия | Это поле может принимать 4 значения: 1 — вариант нестандартный и не подходит ни к одному из описанных ниже типов; 2 — данная запись уже не соответствует действительности; 3 — постоянная привязка; 4 — динамическая привязка |
Самообращенный запрос позволяет ЭВМ решить две проблемы. Вопервых, определить, нет ли в сети объекта, имеющего тот же IРадрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Duplicate IP address sent from Ethernet address <...>. Вовторых, в случае смены сетевой карты производится корректировка записи в АRP-таблицах ЭВМ, которые содержали старый МАС-адрес инициатора. Машина, получающая ARP-запрос c адресом, который содержится в ее таблице, должна обновить эту запись.
Вторая особенность такого запроса позволяет резервному файловому серверу заменить основной, послав самообращенный запрос со своим МАС-адресом, но с IP вышедшего из строя сервера. Этот запрос вынудит перенаправлять кадры, адресованные основному серверу, на резервный. Клиенты сервера при этом могут и не знать о выходе основного сервера из строя. При этом возможны и неудачи, если программные реализации в ЭВМ не в полной мере следуют регламентациям протокола ARP.
Обычно IP-адреса хранятся на диске (в конфигурационных файлах), откуда они считываются при загрузке системы. Проблема возникает тогда, когда необходимо инициализировать рабочую станцию, не имеющую диска. Бездисковые системы часто используют операции типа TFTP для переноса из сервера в память образа операционной системы, а это нельзя сделать, не зная IP-адресов сервера и ЭВМ-клиента. Записывать эти адреса в ПЗУ не представляется целесообразным, так как их значения зависят от точки подключения ЭВМ и могут меняться. Для решения данной проблемы был разработан протокол обратной трансляции адресов (RARP – Reverse Address Resolution Protocol, RFC-0903, смотри также ниже описание протокола BOOTP). Форматы сообщений RARP сходны с ARP (см. рис. 5.10), хотя сами протоколы принципиально различны. Протокол RARP предполагает наличие специального сервера, обслуживающего RARPзапросы и хранящего базу данных о соответствии аппаратных адресов протокольным. Этот протокол работает с любой транспортной средой, в случае же кадра Ethernet в поле тип будет записан код 803516 (смотри таблицу 5.5).
(рис 5.10) Формат RARP-сообщенияЗдесь обозначения те же, что и в описании ARP-формата. Значение n определяется числом, записанным в поле HA-Len, а m — числом из поля PALen. Для Internet PA-Len=4 и тип протокола=2048, а для Ethernet равно HA-Len=6 и тип оборудования=1. В RARP используется два кода операции. Код операции=3 используется для RARP-запросов, а код операции=4 — для RARP-откликов. В первом случае поле протокольный адрес отправителя и протокольный адрес адресата не определены. Обычно локальная сеть имеет несколько RARP-серверов, что позволяет загрузиться бездисковым машинам, даже если какойто из серверов выключен или не исправен.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.