Моя программа сервера UDP не может получать сообщения UDP из сокета.
После проверки файла PCAP я понял, что ошибка связана с:
[BAD UDP LENGTH 736 > IP PAYLOAD LENGTH] Len=728
Я подозреваю, что дейтаграммы, которые слишком велики для приемного буфера сокета, полностью отбрасываются.
Разве пакет не должен быть просто фрагментирован, если длина UDP превышает длину полезной нагрузки IP?
Как дальше отлаживать эту проблему? Есть ли проблема с правилом iptables или мне нужно включить фрагментацию UDP?
). Длина полезной нагрузки UDP 736 меньше MTU (1500), поэтому я получаю эту ошибку передачи. Только если длина пакета> MTU (максимальная длина полезной нагрузки IP), тогда проблема с передачей может возникнуть только в том случае, если большой пакет не фрагментируется. Итак, в чем проблема. Почему пакет отбрасывается? Как отладить эту проблему? Как проверить длину полезной нагрузки IP?