у нас есть продукт, который работает на Windows XP со встроенным SP1. Добавляем поддельный (не существует) MAC-адрес для поддельного IP в таблицу ARP. Когда происходит обмен данными, Windows отправляет пакеты на поддельный MAC-адрес и поддельный IP-адрес, а позже мы меняем их на настоящие в драйвере. Так разработано программное обеспечение.
Проблема в том, что иногда Windows начинает отправлять запросы ARP для поддельного IP-адреса, даже если для этого есть запись в таблице ARP. Я понятия не имел, почему это происходит, и в слепой попытке воспроизвести проблему я написал сценарий, чтобы удалить запись ARP и добавить ее снова через несколько секунд. После некоторых попыток я увидел, что проблема возникает.
Есть идеи о том, что я должен проверить / изменить?
Большое спасибо!
Вы наблюдаете зонд ARP? (http://tools.ietf.org/html/rfc5227#section-2.1)
Вы также можете попробовать отключить беспричинные запросы ARP ... К сожалению, я не уверен, как это сделать с Embedded XP (вот как это сделать в Win2K8 / Vista - http://www.windowsreference.com/networking/set-gratuitous-arp-requests-in-windows-server-2008-and-windows-vista/). Это определенно может быть проблемой, если сетевые интерфейсы меняются вообще или если у вас есть дублирующиеся IP- и / или MAC-адреса в широковещательной передаче сетевого сегмента.
Удачи!
Грант