3

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

Это время ожидания зависит от операционной системы и варьируется от нескольких секунд до пары часов.

У меня есть маршрутизатор в качестве шлюза для подсети, и если этот маршрутизатор выходит из строя, я подключаю другой маршрутизатор с тем же IP-адресом. Большинство устройств распознают в течение нескольких секунд, что IP-адрес теперь находится на другом доступном MAC-адресе, но у меня есть одно устройство, которое все еще пытается установить связь через старый MAC-адрес, который больше не доступен.

Я не думаю, что вам нужно ждать до нескольких часов (до истечения времени ожидания), чтобы установить связь, работающую с другим устройством с тем же IP-адресом, поэтому я предполагаю, что есть какой-то механизм, чтобы это работало быстрее.

Как протокол ARP справляется с этой ситуацией, когда я перемещаю IP-адрес с одного устройства на другое?

2 ответа2

2

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

В системах Linux вы также можете отправить его самостоятельно, используя arping .

2

Я полагаю, что время ожидания динамического ARP-кэша обычно составляет всего около 2 минут .

Кроме того, многие системы выполняют "бесплатную ARP" - незапрашиваемую, широковещательные объявления ARP - при загрузке, или начинают использовать новый IP-адрес, или осуществляют горячее переключение на другую сетевую карту (и, следовательно, новый MAC-адрес) для данного IP. адрес. Некоторые устройства используют эти объявления ARP (когда они их получают) для обновления своих таблиц ARP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .