Структура ARP-протокола.

Июнь 30, 2011

А вы знаете что автомобили Форд делали даже инвалиды? А вы знаете что сам Форд сделал не только первый контейнер, но фактически первым смог собрать двигатель на топливе, тогда это был уголь? Все это Форд описывает в своей книги. То что этому человеку удалось сделать за всю жизнь потрясает. Так что автомобили Форд всегда останутся американской классикой.

_______________________________________

Структура сообщения следующая:
Заголовок Ethernet-кадра
48 бит: Ethernet-адрес получателя
48 бит: Ethernet-адрес отправителя
16 бит: код протокола (0x0806 для ARP)
Тело Ethernet-кадра:
16 бит: код физической сети (1 для Ethernet)
16 бит: код сетевого протокола (0x0800 для IP)
8 бит: длина физического адреса в октетах (6 для Ethernet)
8 бит: длина сетевого адреса в октетах (4 для IP)
16 бит: код операции
n октетов: физический адрес отправителя
m октетов: сетевой адрес отправителя
n октетов: физический адрес получателя
m октетов: сетевой адрес получателя
Поле код протокола используется для распознавания протокола, сообщение которого содержится в теле кадра физического уровня. Это поле используется драйвером сетевого оборудования. В технологии Ethernet для протокола ARP предусмотрены значения 0x0806, но в других сетевых технологиях для него м.б. предусмотрено другое значение. Здесь важно то, что заголовочная часть кадра физического уровня в любой сетевой тех-нологии содержит в том или ином поле код протокола более высокого уровня и все сетевые технологии поддерживает протокол ARP.
Код физической сети указывает сетевую технологию, в терминах которой будет выполняться преобр-е сетевых адресов в физические.
Код сетевого протокола указывает протокол сетевого уровня, адреса кото-рого преобразуются в физические.
Поля длина физического адреса и длина сетевого адреса содержат соответственно размер полей необходимых для представления физических и сетевых адресов. В принципе эти поля избыточны, поскольку длины фи-зических и сетевых адресов определяются кодами физической сети и сетевого протокола. В протоколе ARP эти поля используются для дополн. контроля целостности запросов и ответов.
Физические адреса отправителя и получателя в ARP-сообщении дублируют соответствующие значения из заголовка кадра физического уровня. Это оказывается необходимым в определённых случаях поскольку, например, некоторые реализации технологии Ethernet не позволяют ОС извлечь информацию из заголовочной части кадра физического уровня. Аналогичная ситуация м.б. и в других сетевых технологиях.
Код операции используется, для того чтобы отличить ARP-запрос от ARP-ответа. Для запроса предусмотрен код 1, для ответа код 2.
При формировании физич. кадра для IP-датаграммы IP-адрес следующей точки перехода преобразуется в физич. адрес. При этом сначала рассматривается кэш-таблица, поддерживаемая драйвером протокола ARP, которая содержит ранее определённые соответствия IP-адресов физич. адресам. Если запись, соотв. протоколу IP и IP-адресу ближайшей точки перехода найдена, то используется соотв. физич. адрес. В противном случае формируется ARP-запрос. При этом в качестве физич. адреса получателя указывается широковещательный адрес, предусмотренный данной сетевой топологией. Для Ethernet таким адресом является: 0 x FF FF FF FF FF FF.

Начало про АRP — https://seregaborzov.wordpress.com/2011/06/30/arp-1/