Работает ли бесплатный ARP как обычный запрос ARP?
Почему безвозмездная ARP используется для HSRP?
Работает ли бесплатный ARP как обычный запрос ARP?
Почему безвозмездная ARP используется для HSRP?
Ответы:
Бесплатное ARP - это своего рода «предварительное уведомление», оно обновляет кэш ARP других систем, прежде чем они запрашивают его (без запроса ARP) или обновляют устаревшую информацию.
Когда речь идет о безвозмездной ARP, пакеты на самом деле являются специальными пакетами запроса ARP, а не ответными пакетами ARP, как можно было бы ожидать. Некоторые причины этого объясняются в RFC 5227 .
Бесплатный пакет ARP имеет следующие характеристики:
ff:ff:ff:ff:ff:ff
).
Бесплатная ARP используется по нескольким причинам:
Что касается второй части вашего вопроса, HSRP , VRRP и т. Д. Используют бесплатный ARP для обновления таблиц MAC-адресов на устройствах L2 (коммутаторах). Также есть возможность использовать сгоревший MAC-адрес для HSRP вместо «виртуального». В этом случае бесплатный ARP также обновит таблицы ARP на устройствах / хостах L3.
Безвозмездное ARP является ARP ответ , который не был вызван запрос ARP. Бесплатная ARP отправляется как широковещательный кадр, как способ для узла объявить или обновить свое сопоставление IP с MAC для всей сети.
Пакет ARP содержит поле « Код операции », которое указывает, является ли пакет запросом или ответом. В Gratuitous ARP поле Opcode установлено на 2
, что указывает Ответ:
Существует множество вариантов использования Gratuitous ARP , и все они обычно связаны с необходимостью обновления таблиц MAC-адресов ARP Mapping или Switchport.
HSRP (и многие другие протоколы резервирования) часто используют бесплатную ARP. Эта анимация проиллюстрирует, как:
Обратите внимание, что RouterA и RouterB совместно используют IP-адрес 10.0.0.1
и MAC-адрес 0053.ffff.1111
. Хосты настроены с использованием шлюза по умолчанию 10.0.0.1
, и каждый из них имеет сопоставление ARP, указывающее сопоставления 10.0.0.1
IP-адреса с 0053.ffff.1111
MAC-адресом. Поскольку MAC-адрес и IP-адрес совместно используются двумя маршрутизаторами, сопоставление ARP никогда не потребуется обновлять.
Однако , когда RouterA является активным маршрутизатором HSRP, MAC-адрес обслуживается устройством, подключенным к порту коммутатора 1. В случае сбоя RouterA RouterB отправляет бесплатный ARP для обновления таблицы MAC-адресов коммутатора, которой MAC-адрес 0053.ffff.1111
теперь обслуживается. устройство, подключенное к порту коммутатора 2.
Процесс происходит снова, если RouterB дает сбой, и RouterA необходимо вернуть обслуживание IP / MAC 10.0.0.1
/0053.ffff.1111
Захват пакетов переходов HSRP и пакетов GARP в приведенной выше анимации можно загрузить и изучить в Wireshark .
Хотя это не совсем то, о чем вы спрашивали, учитывая комментарии в этом разделе вопросов и ответов, я подумал, что стоит упомянуть кое-что об обнаружении повторяющихся адресов:
Часто возникает путаница в отношении обнаружения дублирующихся адресов и бесплатной ARP. Когда компьютер пытается определить, использует ли другой хост в сети определенный IP-адрес, он не отправляет бесплатный ARP .
Причиной этого является, по определению, бесплатный ARP, предназначенный для обновления сопоставлений ARP других устройств в сети. Если IP не является уникальным, мы бы не хотели, чтобы «тест на уникальность» приводил к обновлению неправильной записи ARP.
В действительности, для обнаружения дублирующихся адресов используется определенный набор сообщений ARP: ARP Probe и ARP Announcement .
Принципиальное различие между этими двумя пакетами и фактическим бесплатным ARP заключается в том, что ARP Probe не имеет полного сопоставления IP / MAC, поэтому ARP Probe не может случайно ошибочно обновить кэш ARP.
Общий процесс заключается в том, что ARP-зонд отправляется несколько раз, что побуждает владельца соответствующего IP-адреса отправить бесплатный ARP, если IP-адрес уже используется. Если ответ не получен, отправитель отправляет сообщение ARP, чтобы официально запросить IP-адрес в сети.
Объявление ARP еще больше похоже на бесплатный ARP, но технически оно (также) не является тем же, поскольку в сообщении ARP указан код операции1
, указывающий запрос (где в качестве бесплатного ARP код операции будет иметь код операции2
).
Если вы хотите видео, здесь есть отличное объяснение.