Мне нужно отправить пакеты с одного хоста на другой через сеть потенциально потерять. Чтобы минимизировать латентность пакетов, я не рассматриваю TCP/IP. Но я хочу максимизировать пропускную способность UDP UDP. Каким должен быть оптимальный размер пакета UDP?
Вот некоторые из моих соображений:
-
Размер MTU коммутаторов в сети - 1500. Если я использую большой пакет, например 8192, это приведет к фрагментации. Потеря одного фрагмента приведет к потере всего пакета, верно?
-
Если я использую меньшие пакеты, я буду нести накладные расходы на UDP и IP-заголовок
-
Если я использую действительно большой пакет, то какой из них я могу использовать? Я читал, что самый большой размер датаграммы - 65507. Каков размер буфера, который я должен использовать, чтобы позволить мне отправлять такие размеры? Будет ли это способствовать увеличению пропускной способности?
-
Каков типичный максимальный размер дейтаграммы, поддерживаемый общими операционными системами (например, Windows, Linux и т.д.)?
Обновлено:
Некоторые из получателей данных представляют собой встроенные системы, для которых стек TCP/IP не реализован.
Я знаю, что это место заполнено людьми, которые очень любят использовать то, что доступно. Но я надеюсь получить ответы лучше, чем просто сосредоточиться только на MTU.