У меня проблемы с получением пакетов UDP, превышающих максимальный безопасный размер UDP. Я использую python с asyncio, где я создал класс UdpReceiver, который реализует базовый класс для реализации протоколов дейтаграмм (UDP) (asyncio.DatagramProtocol). Данные принимаются следующим способом:
def datagram_received(self, raw_data: bytes, addr: Tuple[str, int]) -> None
Однако, если отправляемые данные превышают максимально безопасную полезную нагрузку UDP, они фрагментируются в разные пакеты. Кто-нибудь знает, можно ли преодолеть максимально безопасную полезную нагрузку UDP в сети? Мне не нужно получать каждое отдельное сообщение, поэтому мне не нужно получать все отправляемые посылки. Если нет, то как я могу буферизовать данные для объединения всех фрагментов из одного сообщения?
Максимальный размер полезной нагрузки: максимальная безопасная полезная нагрузка UDP составляет 508 байтов, тогда как размер пакета составляет 576, с максимальным IP-заголовок байта и UDP-заголовок 8 байтов.
Asyncio: https://docs.python.org/3/library/asyncio-protocol.html