Was ist die optimale Größe eines UDP-Pakets für maximalen Durchsatz?

Ich muss Pakete von einem Host über ein @ an einen anderen sende möglicherweise verlustbehaftet Netzwerk. Um die Paketlatenz zu minimieren, berücksichtige ich TCP / IP nicht. Aber ich möchte den Durchsatz mithilfe von UDP maximieren. Was sollte die optimale Größe des zu verwendenden UDP-Pakets sein?

Hier sind einige meiner Überlegungen:

Die MTU-Größe der Switches im Netzwerk beträgt 1500. Wenn ich ein großes Paket verwende, z. B. 8192, wird dies zu einer Fragmentierung führen. Der Verlust eines Fragments führt zum Verlust des gesamten Pakets, richtig?

Wenn ich kleinere Pakete verwende, entsteht der Overhead für den UDP- und IP-Header

Wenn ich ein wirklich großes Paket verwende, welches ist das größte, das ich verwenden kann? Ich habe gelesen, dass die größte Datagrammgröße 65507 ist. Welche Puffergröße sollte ich verwenden, um solche Größen senden zu können? Würde das helfen, meinen Durchsatz zu steigern?

Was ist die typische maximale Datagrammgröße, die von den gängigen Betriebssystemen (z. B. Windows, Linux usw.) unterstützt wird?

Aktualisiert

Einige der Empfänger der Daten sind eingebettete Systeme, für die der TCP / IP-Stack nicht implementiert ist.

Ich weiß, dass dieser Ort voller Leute ist, die es sehr lieben, das zu nutzen, was verfügbar ist. Aber ich hoffe, bessere Antworten zu haben, als mich nur auf die MTU zu konzentrieren.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage