Захват пакета трассировки событий Netsh показывает пакеты; приложение не получает их
У меня много похожих машин с Windows 10, на которых запущен похожий набор приложений. Ряд приложений являются многоадресными прослушивателями UDP. Каждый из них имеет массивные буферы сокетов (они могут содержать 10 секунд + данных). Иногда многие приложения на данном компьютере сообщают о потере в одно и то же время.
Когда я запускаю захват пакета ETL, пакеты, отсутствующие в приложении, присутствуют в захвате, который выполняется на той же принимающей машине. Пакеты в захвате имеют правильные контрольные суммы и правильные MAC-адреса. Другие приложения на других машинах могут получать эти точные пакеты, но могут отбрасывать другие пакеты.
Источник отправил ретрансляцию, которая была получена приложением. Сравнивая шестнадцатеричные дампы в Wireshark, единственные различия включали идентификацию IP, контрольную сумму IP, контрольную сумму UDP и бит повторной передачи, установленный в части сообщения на уровне приложения. Последние три, безусловно, правильны, хотя я не могу говорить за IP.Identification (кроме того, что он вырос по сравнению с его предыдущим значением и зная, что другие потребители обрабатывали его правильно).
Захват монитора производительности Windows на компьютере не показывает ничего классического (показывает низкую загрузку ЦП, низкое использование памяти, отсутствие сбросов / ошибок NIC, отсутствие отбрасывания Winsock BSP).
Брандмауэр отключен. Нет подключения к интернету - только локальная сеть. На компьютере запущены другие приложения, в том числе TCP и одноадресные прослушиватели UDP.
Потеря пакетов является периодической, и очень небольшая часть пакетов теряется, но может достигать миллиона за день. UDP естественно ненадежен. Но вопрос в том, где и почему эти пакеты отбрасываются.
Предполагая, что захват ETL находится в драйвере NIC, это оставляет драйвер NIC, ОС, сокет и приложение. Я твердо верю, что потеря до сокета.
Как я могу определить, где теряются пакеты? Как я могу найти местоположение капли и узнать, какой предел я превышаю? Как я могу сузить круг возможных проблем? Существует ли общий буфер ОС для всех сокетов, у которого нет счетчика потерь?
Благодарю. Любые советы будут оценены.
0 ответов на вопрос
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
2
Повышенные привилегии для запуска приложений в Windows?
-
14
PDF Viewer в Windows
-
-
7
Какие службы Windows можно безопасно отключить?
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
1
Windows теряет макет экрана
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
6
Просмотр журнала в Windows
-
3
Фоновая проблема Windows с двумя экранами