損失が発生する可能性のあるネットワークを介して、あるホストから別のホストにパケットを送信する必要があります。パケットの遅延を最小限に抑えるために、TCP/IP は考慮していません。しかし、UDP を使用してスループットを最大化したい。使用する UDP パケットの最適なサイズは?
ここに私の考慮事項のいくつかがあります:
ネットワーク内のスイッチの MTU サイズは 1500 です。8192 などの大きなパケットを使用すると、断片化が発生します。1 つのフラグメントが失われると、パケット全体が失われますよね?
小さいパケットを使用すると、UDP および IP ヘッダーのオーバーヘッドが発生します
非常に大きなパケットを使用する場合、使用できる最大サイズは? データグラムの最大サイズは 65507 であると読みました。このようなサイズを送信できるようにするには、どのくらいのバッファ サイズを使用すればよいですか? それは私のスループットを上げるのに役立ちますか?
一般的な OS (Windows、Linux など) でサポートされる典型的な最大データグラム サイズは?
更新しました:
データの受信者の一部は、TCP/IP スタックが実装されていない組み込みシステムです。
この場所には、利用可能なものを使用することに非常に熱心な人がたくさんいることを私は知っています. しかし、MTU だけに注目するよりも、より良い答えが得られることを願っています。