Размер буфера UDP Windows 10 / Многоадресный прием

#java #windows #networking #buffer #multicast

Вопрос:

У меня есть java-клиент, который прослушивает многоадресную рассылку (которая отправляется сервером java). У меня буфер сокета на стороне приема установлен примерно на 10 мегабайт. В настоящее время приемник находится как в системе Linux, так и в системе Windows. У меня возникли проблемы с отбрасыванием пакетов на уровне операционной системы, но я понял, что буфер приема был слишком мал. Я смог очень легко исправить это в linux, увеличив значения в

 sysctl net.core.rmem_max
sysctl net.core.rmem_default
 

Однако, похоже, я не могу получить те же результаты с Windows. Я попытался увеличить параметры DefaultReceiveWindow ADP/Parameters в разделах реестра и попытался увеличить настройки буфера на сетевой карте. Ни одна из этих настроек не сработала, и я все еще сбрасываю много пакетов на стороне клиента в Windows.

Я подтвердил с помощью захвата pcap, что это не мое приложение отбрасывает пакеты, так как файлы pcap также не генерируют пакеты. Существуют ли другие параметры, которые я неправильно настраиваю в Windows? Что-то еще я должен проверить, чтобы убедиться, что Windows действительно сбрасывает пакеты?

Ответ №1:

Вы проверили использование процессора/сети/памяти в диспетчере задач Windows? Также можете ли вы оценить процент пакетов, полученных получателем? Например, получатель получает 30% пакетов?