Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Сети ЭВМ Кузин.doc
Скачиваний:
86
Добавлен:
13.05.2015
Размер:
3.82 Mб
Скачать
    1. Протокол разрешения адресаArp

Так как IP-адрес узла, назначаемый администраторомне зависитот локального адреса (MAC-адреса) этого узла, то каждый раз при доставкеIP-пакета средствами канального уровня необходимо ответить на вопрос «по какомуMAC-адресу должен быть отправлен кадр, содержащий в себеIP-пакет?» или иначе «какойMAC-адрес имеет узел сIP-адресом назначения, указанным в пакете?». Для определения локального адреса по IP-адресу используетсяпротокол разрешения адреса (Address Resolution Protocol, ARP).ПротоколARPработает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети — протокол локальной сети (Ethernet,TokenRing,FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети или же протокол глобальной сети (Х.25,framerelay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу — нахождение IP-адреса по известному локальному адресу. Он называется реверсивнымARP(ReverseAddressResolutionProtocol,RARP) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

Необходимость в обращении к протоколу ARP возникает каждый раз, когда модуль IPпередает пакет на уровень сетевых интерфейсов, например драйверуEthernet. IP-адрес узла назначения известен модулюIP. Требуется на его основе найти МАС-адрес узла назначения.

Arp-таблица

Работа протокола ARP начинается с просмотра так называемой ARP-таблицы. Каждая строка таблицы устанавливает соответствие между IP-адресом и МАС-адресом. Для каждой сети, подключенной к сетевому адаптеру компьютера или к порту маршрутизатора, строится отдельная ARP-таблица. Ниже приведен примерARP-таблицы.

N:\>arp-a

Интерфейс: 192.168.36.16 onInterface0x1000003

Адрес IP Физический адрес Тип

192.168.36.1 00-50-ba-b0-d5-2c динамический

192.168.36.3 00-e0-18-03-ac-22 динамический

192.168.36.13 00-50-ba-00-d2-2c динамический

192.168.36.60 00-50-ba-b0-d5-3e динамический

Поле «Тип записи» может содержать одно из двух значений — «динамический» или «статический». Статические записи создаются вручную с помощью утилиты агр и не имеют срока устаревания. Динамические же записи создаются модулем протокола ARP, использующим широковещательные возможности локальных сетевых технологий. Запись в ARP-таблице считается устаревшей, если она не использовалась какой-либо исходящей датаграммой в течение определенного интервала времени (обычно несколько минут). Устаревшая запись удаляется из таблицы автоматически. Статические записи не устаревают. Таким образом, в ARP-таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях. Поскольку такой способ хранения информации называют кэшированием, ARP-таблицы иногда называют ARP-кэш.

После того как модуль IPобратился к модулюARPс запросом на разрешение адреса, происходит поиск в ARP-таблице указанного в запросе IP-адреса.

Запросы и ответы arp

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

Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес, а затем отправляет его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Ниже приведены значения полей примера ARP-запроса для передачи по сетиEthernet.

Поле запроса

Значение

Тип сети

1

Тип протокола

2048

Длина локального адреса

6

Длина сетевого адреса

4

Операция

1

Локальный адрес отправителя

008048ЕВ7Е60

Сетевой адрес отправителя

194.85.135.75

Локальный адрес получателя (искомый)

000000000000

Сетевой адрес получателя

194.85.135.65

В поле «тип сети» для сетей Ethernetуказывается значение 1. Поле «тип протокола» позволяет использовать протокол ARP не только для протоколаIP, но и для других сетевых протоколов. ДляIPзначение этого поля равно 2048.

Длина локального адреса для протокола Ethernetравна 6 байт, а длина IP-адреса — 4 байт. В поле операции для ARP-запросов указывается значение 1, если это запрос, и 2, если это ответ.

Из этого запроса видно, что в сети Ethernetузел с IP-адресом 194.85.135.75 пытается определить, какой МАС-адрес имеет другой узел той же сети, сетевой адрес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями.

Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет. Протокол IPуничтожает IP-пакеты, направляемые по этому адресу. (Заметим, что протоколы верхнего уровня не могут отличить случай повреждения сетиEthernetот случая отсутствия машины с искомым IP-адресом.). Ниже приведены значения полей ARP-ответа, который мог бы поступить на приведенный выше пример ARP-запроса.

Поле ответа

Значение

Тип сети

1

Тип протокола

2048

Длина локального адреса

6

Длина сетевого адреса

4

Операция

2

Локальный адрес отправителя

00E0F77F1920

Сетевой адрес отправителя

194.85.135.65

Локальный адрес получателя (искомый)

008048ЕВ7Е60

Сетевой адрес получателя

194.85.135.75

Этот ответ получает машина, сделавшая ARP-запрос. Модуль ARPанализирует ARP-ответ и добавляет запись в свою ARP. В результате обмена этими двумя ARP-сообщениями модуль IP-узла 194.85.135.75 определил, что IP-адресу 194.85.135.65 соответствует МАС-адрес OOEOF77F1920. Новая запись в

ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась.