- •А. М. Шабалин
- •Предисловие
- •Введение
- •1 Современные классификации операционных систем
- •1.1 Основные аспекты изучения современных операционных систем
- •1.2 Определение сетевых операционных систем
- •1.3 Характеристика популярных операционных систем по различным классификационным критериям
- •1.3.1 Операционные системы компании Microsoft
- •1.3.2 Альтернативные операционные системы
- •2 Современные сетевые протоколы
- •2.1 Стандартная семиуровневая эталонная модель взаимодействия открытых систем и стек протоколов tcp/ip
- •2.2 Протоколы межсетевого взаимодействия семейства ip
- •2.2.1 Протокол iPv4
- •2.2.2 Протокол iPv6
- •2.3 Основы адресации в ip-сетях
- •2.3.1 Адресация iPv4
- •2.3.2 Адресация iPv6
- •2.4 Проблема установления соответствия между адресами различных типов
- •00-18-F3-4a-a1-55
- •192.168.200.199
- •194.85.135.75 – 008048Ев7е60.
- •2.5 Протоколы транспортного уровня стека tcp/ip
- •2.5.1 Протокол udp
- •2.5.2 Протокол tcp
- •2.6 Протоколы маршрутизации
- •2.6.1 Классификации протоколов маршрутизации
- •2.6.2 Внутренние протоколы маршрутизации rip и ospf
- •2.6.3 Внешний шлюзовый протокол bgp
- •2.6.4 Дополнительные протоколы маршрутизации icmp и igmp
- •Заключение
- •Библиографический список
- •Приложение а
- •Синтаксис:
- •Приложение б Настройка iPv6 в операционной системе ms WindowsXp
- •Приложение в Контрольно-измерительные материалы
- •Словарь терминов и определений
- •Часть ip-адреса, соответствующая сетевой части адреса.
- •Алфавитно-предметный указатель
- •Часть 71
- •Список сокращений
- •Учебное издание
MAC-адрес
сетевой карты ARP00-18-F3-4a-a1-55
ARP
Сетевой
адрес
(IP-адрес)
192.168.200.199
Широковещательные запросы
DNS-служба
Символьное имя
NetBIOS-имя
Admin
DNS-имя
Admin.sham.local
Рис. 2.10 – Соответствие адресов различных типов в одноранговых и доменных сетях
Никакой зависимости между адресами различных типов не существует. Например, единственный способ установления соответствия для адресов MAC и IP – ведение таблиц. В результате конфигурирования сети каждый интерфейс знает свои IP-адрес и локальный адрес, что можно рассматривать как таблицу, состоящую из одной строки. Проблема состоит в том, как организовать обмен имеющейся информацией между узлами сети.
Для определения локального адреса по IP-адресу используется протокол разрешения адресов ARP (Address Resolution Protocol). Протокол разрешения адресов реализуется различным образом в зависимости от того, работает ли в данной сети протокол локальной сети с возможностью широковещания или же какой-либо из протоколов глобальной сети, которые, как правило, не поддерживают широковещательный доступ [10].
Рассмотрим работу протокола ARP в локальных сетях с широковещанием.
Допустим, существует локальная сеть Ethernet1, соcтоящая из n-го количества компьютеров. Каждый сетевой интерфейс имеет IP-адрес и МАС-адрес. Пусть в какой-то момент IP-модуль компьютера 1 (протоколы IP1 и MAC1) направляет пакет компьютеру 2 (протоколы IP2 и MAC2). Протокол IP1 определил IP-адрес компьютера 2. Теперь, прежде чем упаковать пакет в кадры Ethernet и направить компьютеру 2, необходимо определить соответствующий МАС-адрес. Для решения этой задачи протокол IP1 «обращается» к протоколу ARP1. Протокол ARP поддерживает на каждом интерфейсе сетевого адаптера отдельную ARP-таблицу, в которой в ходе функционирования сети накапливается информация о соответствии между IP-адресами и МАС-адресами других интерфейсов данной сети. Первоначально, при включении компьютера в сеть, все его ARP-таблицы пусты.
На первом шаге происходит передача от протокола IP1 протоколу ARP1 сообщения с запросом МАС-адреса для компьютера с указанным IP2.
Работа протокола ARP начинается с просмотра ARP-таблицы соответствующего интерфейса. Предположим, что среди содержащихся в ней записей отсутствует запрашиваемый IP-адрес.
В этом случае исходящий IP-пакет, для которого оказалось невозможным определить локальный адрес из ARP-таблицы, запоминается в буфере, а протокол ARP формирует ARP-запрос, вкладывает его в кадр протокола Ethernet и широковещательно рассылает.
Все интерфейсы сети Ethernet1 получают ARP-запрос и направляют его «своему» протоколу ARP. ARP сравнивает указанный в запросе адрес IP2 с IP-адресом интерфейса, на который поступил этот запрос. Протокол ARP, констатирующий совпадение, формирует ARP-ответ.
В ARP-ответе компьютер 2 указывает локальный адрес МАС2 своего интерфейса и отправляет его запрашивающему узлу, используя его локальный адрес. Широковещательный ответ в этом случае не требуется, так как формат ARP-запроса предусматривает поля локального и сетевого адресов отправителя.
На рис. 2.11 показан кадр Ethernet с вложенным в него ARP-сообщением. ARP-запросы и ARP-ответы имеют один и тот же формат [12].
Рисунок 2.11 – Инкапсуляция ARP-сообщения в кадр Ethernet
В табл. 2.13 в качестве примера приведены значения полей реального ARP-запроса, переданного по сети Ethernet1.
Таблица 2.13 – Пример ARP-запроса
Поле |
Значение |
Тип сети |
1 (0x1) |
Тип протокола |
2048 (0x800) |
Длина локального адреса |
6 (0x6) |
Длина сетевого адреса |
4 (0x4) |
Операция |
1 (0x1) |
Локальный адрес отправителя |
008048ЕВ7Е60 |
Сетевой адрес отправителя |
194.85.135.75 |
Локальный (искомый) адрес получателя |
000000000000 |
Сетевой адрес получателя |
194.85.135.65 |
В поле Тип сети для сетей Ethernet указывается значение 1. Поле Тип протокола позволяет использовать протокол ARP не только с протоколом IP, но и с другими сетевыми протоколами. Для IP значение этого поля равно 0x800. Длина локального адреса для протокола Ethernet равна 6 байт, а Длина сетевого адреса (IPv4) – 4 байта. В поле Операция для ARP-запросов указывается значение 1, для ARP-ответов – значение 2.
Из этого запроса видно, что в сети Ethernet узел с IP-адресом 194.85.135.75 пытается определить, какой МАС-адрес имеет другой узел той же сети, сетевой адрес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями.
Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет: протокол IP уничтожает IP-пакеты, направляемые по этому адресу. В табл. 2.14 показаны значения полей ARP-ответа, который мог бы поступить на приведенный в таблице 2.13 ARP-запрос.
Таблица 2.14 – Пример ARP-ответа
Поле |
Значение |
Тип сети |
1 (0x1) |
Тип протокола |
2048 (0x800) |
Длина локального адреса |
6 (0x6) |
Длина сетевого адреса |
4 (0x4) |
Операция |
2 (0x2) |
Локальный адрес отправителя |
00E0F77F1920 |
Сетевой адрес отправителя |
194.85.135.65 |
Локальный (искомый) адрес получателя |
008048ЕВ7Е60 |
Сетевой адрес получателя |
194.85.135.75 |
В результате обмена ARP-сообщениями модуль IP, пославший запрос с интерфейса, имеющего адрес 194.85.135.75, определил, что IP-адресу 194.85.135.65 соответствует МАС-адрес 00E0F77F1920. Этот адрес будет затем помещен в заголовок кадра Ethernet, ожидавшего отправления IP-пакета.
Чтобы уменьшить число ARP-обращений в сети, найденное соответствие между IP-адресом и МАС-адресом сохраняется в ARP-таблице соответствующего интерфейса, в данном случае это запись: 194.85.135.65 – 00E0F77F1920.
Данная запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как модуль ARP проанализирует ARP-ответ. Теперь, если вдруг вновь возникнет необходимость послать пакет по адресу 194.85.135.65, то протокол IP, прежде чем посылать широковещательный запрос, проверит, нет ли уже такого адреса в ARP-таблице. ARP-таблица пополняется не только за счет поступающих на данный интерфейс ARP-ответов, но и в результате извлечения полезной информации из широковещательных ARP-запросов. Действительно, в каждом запросе, как это видно из предыдущих таблиц, содержатся IP-адрес и МАС-адрес отправителя. Все интерфейсы, получившие этот запрос, могут поместить информацию о соответствии локального и сетевого адресов отправителя в собственную ARP-таблицу. В частности, все узлы, получившие рассмотренный выше ARP-запрос, пополняют свою ARP-таблицу записью: