RFC: 826
Оригинал: An Ethernet Address Resolution Protocol
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 826, Страница 9 из 10

Пример

Предположим, что имеется два компьютера X и Y, подключенных к одному сегменту Ethernet. Эти машины имеют Ethernet-адреса EA(X) и EA(Y) и IP-адреса IPA(X), IPA(Y). Пусть тип Ethernet для протокола Internet имеет значение ET(IP). После включения машины X она рано или поздно будет передавать пакеты IP, адресованные машине Y, которая находится в том же сегменте. X знает, что нужно передать пакет по адресу IPA(Y) и сообщает драйверу устройства (в нашем примере, драйверу Ethernet) адрес IPA(Y). Драйвер запрашивает модуль преобразования адресов (Address Resolution) о возможности преобразования значений <ET (IP), IPA(Y)> в 48-битовый адрес Ethernet, но поскольку компьютер X был включен недавно, он не имеет такой информации.

В результате пакет будет отброшен и взамен будет сгенерирован пакет ARP (ADDRESS RESOLUTION) с полями

  • (ar$hrd) = ares_hrd$Ethernet
  • (ar$pro) = ET(IP)
  • (ar$hln) = размер(EA(X))
  • (ar$pln) = размер(IPA(X))
  • (ar$op) = ares_op$REQUEST
  • (ar$sha) = EA(X)
  • (ar$spa) = IPA(X)
  • (ar$tha) = не имеет значения
  • (ar$tpa) = IPA(Y)

и передавать его в широковещательном режиме всем станциям сегмента Ethernet.

Машина Y получает такой пакет и видит, что она понимает этот тип оборудования (Ethernet), указанный протокол (Internet) и имеет адрес, для которого предназначен пакет (ar$tpa=IPA(Y)). В результате этот компьютер вносит принятую с пакетом информацию (возможно заменяя имевшуюся запись) в таблицу преобразования адресов, связывая пару <ET(IP), IPA(X)> с аппаратным адресом EA(X). После этого машина определяет, что пакет является запросом, меняет местами поля, помещая EA(Y) в поле адреса отправителя Ethernet (ar$sha), останавливает для кода операции значение отклика и передает пакет напрямую (без использования широковещания) по адресу EA(X). С этого момента Y знает, как передавать пакеты X, но X пока не знает, как передавать пакеты Y.

Машина X, получив отклик от Y, формирует отображение <ET(IP), IPA(Y)> на адрес EA(Y), узнает, что пакет является откликом и отбрасывает его. В следующий раз, когда IP-модуль компьютера X будет передавать пакеты машине Y, трансляция адресов завершится успешно и пакет может быть доставлен адресату. Если IP-модуль машины Y решит передать пакет компьютеру X, трансляция адресов также будет успешной, поскольку Y хранит информацию, полученную с запросом от X.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.