RFC: 1180
Оригинал: A TCP/IP Tutorial
Категория: Информационный
Дата публикации:
Авторы: ,
Перевод: Николай Малых

4.3. Пара ARP Request/Response (запрос — отклик)

Откуда же появляются записи об адресах в таблице ARP?

В процессе работы специальная программа (демон) заполняет таблицу по мере появления информации об адресах.

Если нужного адреса нет в таблице ARP, выполняются следующие операции:

  1. Передается запрос ARP с широковещательным адресом Ethernet.
  2. Исходящий пакет IP помещается в очередь.

Интерфейс Ethernet каждого из компьютеров получает широковещательный кадр Ethernet с запросом ARP. После этого каждый из интерфейсов Ethernet проверяет значение поля Type (тип) в полученном кадре и передает пакет ARP модулю ARP. Пакет запроса ARP говорит: «Если ваш IP-адрес соответствует IP-адресу получателя пакета, скажите мне свой Ethernet-адрес». Пакет запроса ARP выглядит следующим образом:

IP-адрес отправителя 223.1.2.1
Ethernet-адрес отправителя 08-00-39-00-2F-C3
IP-адрес получателя 223.1.2.2
Ethernet-адрес получателя <blank>

Каждый модуль ARP проверяет локальные адреса IP и адрес получателя на предмет их совпадения. Если адреса совпадают, модуль шлет отклик на запрос, содержащий искомый адрес, по Ethernet-адресу отправителя запроса ARP. Пакет с откликом ARP говорит: «Да, искомый адрес IP принадлежит мне и я сообщаю свой адрес Ethernet». Пакет отклика ARP меняет значения адресов отправителя/получателя в соответствии с направлением передачи отклика:

IP-адрес отправителя 223.1.2.2
Ethernet-адрес отправителя 08-00-28-00-38-A9
IP-адрес получателя 223.1.2.1
Ethernet-адрес получателя 08-00-39-00-2F-C3

Отклик приходит обратно на компьютер, пославший запрос. Драйвер Ethernet просматривает поле Type в кадре Ethernet и передает пакет ARP модулю ARP. Модуль ARP проверяет пакет и добавляет адреса IP и Ethernet в таблицу ARP.

Пример обновленной таблицы показан ниже:

IP addressEthernet address
223.1.2.108-00-39-00-2F-C3
223.1.2.208-00-28-00-38-A9
223.1.2.308-00-5A-21-A7-22
223.1.2.408-00-10-99-AC-54
2007 - 2017 © Русские переводы RFC, IETF, ISOC.