logo
Ответы Госы_3

Протокол arp

Любое устройство, подключенное к локальной сеты (Ethernet, FDDI и т.д.), имеет уникальный физический сетевой адресов, заданный аппаратным образом. 6 - байтовый Ethernet -адрес выбирает изготовитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Если в машины меняется сетевой адаптер, то меняется и ее Ethernet -адрес.

4 - байтовый IP -адрес задает менеджер сеты с учетом положения машины в сеты Интернет. Если машина перемещается в другую часть сеты Интернет, то ее IP -адрес должен быть изменен. Преобразование IP -адресов в сетевые выполняется с помощью arp - таблицы. Каждая машина сеты имеет отдельную ARP -таблицу для каждого своего сетевого адаптера. Не трудно видеть, что существует проблема отображения физического адрес (6 байт для Ethernet) в пространство сетевых IP -адресов (4 байта) и наоборот.

Протокол ARP (address resolution protocol, RFC - 826, std - 38) решает именно эту проблему - преобразует ARP - в Ethernet -адреса.

Рассмотрим процедуру преобразования адресов при отправлении сообщения. Пусть прикладная программа одной ЭВМ отправляет сообщение другой. Прикладной программе IP -адрес места назначения обычно известен. Для определения Ethernet -адреса просматривается ARP -таблица. Если для требуемого IP -адреса в ней присутствует Ethernet -адрес, то формируется и посылается соответствующий пакет. Если же с помощью ARP - таблицы не удается преобразовать адресов, то выполняется следующее:

1. Всем машинам в сеты посылается пакет с ARP -запросом (с широковещательным Ethernet -адресом места назначения).

2. Исходящий IP -пакет ставится в очередь.

Каждая машина, принявшая ARP -запрос, в своем ARP -модуле сравнивает собственный IP -адрес с IP -адресом в запросе. Если IP -адрес совпал, то прямо по Ethernet -адресу отправителя запроса посылается ответ, содержащий как IP -адрес ответившей машины, так и ее Ethernet -адрес. После получения ответа на свой ARP -запрос машина имеет требуемую информацию о соответствии IP и Ethernet -адресов, формирует соответствующий элемент ARP - таблицы и отправляет IP -пакет, ранее поставленный в очередь.

Если же в сеты нет машины с искомым IP -адресом, то ARP -ответа не будет и не будет записи в ARP -таблицу. Протокол IP будет уничтожать IP - пакеты, предназначенные для отправки по этому адресу.

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

Функционально, ARP делится на две части. Одна - определяет физический адрес при посылке пакета, другая отвечает на запросы других машин. ARP-таблицы имеют динамический характер, каждая запись в ней "живет" определенное время после чего удаляется. Менеджер сети может осуществить запись в ARP-таблицу, которая там будет храниться "вечно". ARP-пакеты вкладываются непосредственно в ethernet-кадры. Формат ARP-пакета показан на рис. 4.4.6.1.

ARP запросы могут решать и другие задачи. Так при загрузке сетевого обеспечения ЭВМ такой запрос может выяснить, а не присвоен ли идентичный IP-адрес какому-то еще объекту в сети. При смене физического интерфейса такой запрос может инициировать смену записи в ARP-таблице.

В рамках протокола ARP возможны самообращенные запросы (gratuitous ARP). При таком запросе инициатор формирует пакет, где в качестве IP используется его собственный адрес. Это бывает нужно, когда осуществляется стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса отправителя и получателя совпадают.

Самообращенный запрос позволяет ЭВМ решить две проблемы. Во-первых, определить, нет ли в сети объекта, имеющего тот же IР-адрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Dublicate IP address sent from Ethernet address <...>. Во-вторых, в случае смены сетевой карты производится корректировка записи в АRP-таблицах ЭВМ, которые содержали старый МАС-адрес инициатора. Машина, получающая ARP-запрос c адресом, который содержится в ее таблице, должна обновить эту запись.

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