Добрый день.
Разрабатываем устройство собирающее данные в режиме реального времени непрерывно и выдающее по TCP в локалку поток (хитрый Ethernet - ADC 500kHz).
Для этого используем LPC1786, поначалу нам казалось что у него достаточно памяти для буферов ethernet, окна TCP, и фифо буфера данных АЦП.
Но возникла проблема что когда данное устройство работает в крупных сетях и на него начинают приходить слишком много широковещательных пакетов то буфер приёма переполняется и часть пакетов теряется что приводит к сбоям по TCP - входящий поток управления подвисает на 200-500мс пока не произойдет перепосылка потерянного блока, что критично. После разбора логов было выяснено что большинство широковещательных пакетов это ARP запросы на определение IP адреса. Т.к. устройство работает только в режиме одного соединения с одним сервером - то возникла идея
игнорировать все приходящие ARP пакеты и любые другие не IP пакеты и обрабатывать только IP если соединение уже установлено и так делать до дисконекта.
Но не понятно - будет ли нормально работать такой режим когда при установленном соединении игнорируются все не IP пакеты?
И как ещё можно бороться с переполнением буфера приёма для устройств с малым объёмом ОЗУ (64кбайта)?