Я нахожусь в локальной локальной сети с только 8 подключенными компьютерами, используя сетевой гигабитный коммутатор netgear 24 порта, сетевая нагрузка действительно низкая, а буферы отправки/получения на всех задействованных узлах (запуск slackware 11) были установлены в 16 мб. Я также запускаю tcpdump на каждом узле для отслеживания трафика.Отсутствие фрагментов UDP при мониторинге трафика с помощью tcpdump
Передающий узел отправляет большой пакет UDP длиной 10044 байт, который чаще всего (3/4 раза) не попадает в приложение принимающей стороны, в этих случаях я замечаю (используя tcpdump), что первые х фрагменты отсутствуют и только 3 последних (все с смещениями> 0 и по порядку) пойманы tcpdump. Поэтому фрагментированный пакет UDP не может быть повторно собран и, скорее всего, выброшен.
Я нахожу недостающие фрагменты странными, так как я также пробовал простой тест нагрузки, вырывающий 10000 UDP-сообщений одного размера, получающее приложение отправляет ответ, и все тесты до сих пор дают 100% ответы.
Какие-нибудь подсказки?
как и на каком хосте вы вызываете tcpdump? – p00ya
В случае фрагментированного мониторинга UDP на стороне отправки. tcpdump -vv src atonce и dst athena. – Kristofer
Обновление: теперь, когда проводящий проводник на приемном конце и tcpdump при отправке, на стенде отображаются только 3 последних фрагмента из предполагаемого 7. – Kristofer