パケット サイズを考慮すると、UDP パケット損失率は増加する可能性がありますか? たとえば、100'000 パケットを送信する場合、最初に試行する byte[] サイズは 30 ですが、2 回目は 300です。
3 に答える
パケット損失は、パケットのサイズによって異なります。これにはいくつかの理由があります。
IP パケットはおよそ 64k まで移動できますが、それらはイーサネットの MTU までフラグメント化され、それらのパケットの 1 つが失われると、IP パケット全体がドロップされます。大きなパケットの場合、トラフィックが多い場合、大きなパケットがドロップされる可能性が高くなります。MTU は約 1500 バイトです。
それだけではありません。内部的には、プロトコル スタックは、mtu よりもはるかに小さい内部バッファーを使用して実装されます。これは、300 バイト以上から変化する可能性があります。ただし、重要なのは、これらのバッファーも限られたリソースであるということです。ネットワーク デバイスのバッファが不足すると、パケットもドロップされます。
より大きなパケットを送信しているため、パケットがドロップされる可能性が高くなる可能性があります.
ここで、30 バイトの 100000 パケットまたは 300 バイトの 10000 パケットの送信を比較すると、ユーザー データが同じであっても、ヘッダーのためにパケットの合計サイズが大きくなります。
以下のリンクに従って、問題のネットワーク上の MTU がわからない場合、512 バイトの UDP ペイロードは、予想していなかった可能性のある他のヘッダー情報に余裕を持たせるのに妥当であると考えられます。