2

4MBitsのネットワークがあり、データスループットを計算したい場合、これは最大転送速度からイーサネット/ IP/TCPヘッダーからのオーバーヘッドを差し引いたものを考慮しています。Webで読むと、TCPセグメントのMSS(最大セグメントサイズ)は576-20-20であり、これらの最後の2つはTCPおよびIPヘッダーのオーバーヘッドであり、データの93%になります。つまり、使用するのは私の4MBの93%はデータ転送にリンクしています。さて、リンクayerのオーバーヘッドはどこにありますか?それも追加すべきではありませんか?間違っていない場合、イーサネットヘッダーは約46バイトなので、最終的な合計は576-20-20-46 = 490になり、85%のデータスループットになりますが、何か間違ったことをしていますか?

4

2 に答える 2

4

ボトムアップで作業してください。通常のイーサネットフレーム(ジャンボフレームなし、VLANタグなし)は1542 bytes合計で、ペイロードは1500 bytes。です。オプションのないIpv4ヘッダーは20 bytesであり、オプションのないTCPヘッダーも20 bytesです。したがって、リンク層フレーム1460 bytesの可能なペイロードになります。1542 byteしたがって、効率は1460/1542=0.9468223086900129であり、最大スループットは。になり3.7872892347600517Mbpsます。

ただし、これは通常は低くなることに注意してください。これは、TCPセッションが確立された後、そのリンクの唯一のユーザーである場合に、全二重リンクで取得できる連続ストリームの理論上の最大レートです。また、しばらくの間、わずかに高いレートで送信すると、リンクが混雑し、スロースタートのために実際のTCPスループットが大幅に低下する可能性があることに注意してください。

リンクがワイヤレス(802.11)の場合、RTS / CTSメカニズムのために計算ははるかに複雑になりますが、/2アクティブなユーザーは1人だけであり、損失を組み込むことはできません。これは非現実的です。

于 2012-12-04T20:53:09.473 に答える
2

一般に、プロトコルはネットワークスループットに影響を与える可能性があり、単なるパケットオーバーヘッドだけではありません。イーサネット/IP/ TCPネットワークのスループットを測定したいとおっしゃっていますが、これらのプロトコルのパケットオーバーヘッドの影響だけを考慮する必要はありません。TCPはコネクション型プロトコルであり、ACKを使用してパケットが受信されたかどうかを通知します。user1777914は、ACKについてのマークを見逃しましたが、何かに取り組んでいました。これ以上スペースを占有しませんが、パケットの送信を遅らせることができます。遅延が増加すると、アプリケーションまたはホスティングOSが応答を期待する頻度に基づいて、全体的なネットワークスループットが低下する可能性があります。

W.リチャードスティーブンスはTCP/IPに関する驚くべき本を書いています。 これは、理論上のTCPパフォーマンス、それに影響を与えるもの、およびその計算方法を説明する例外です。

Nagleアルゴリズムもレイテンシーに役立ちますが、無効にするとスループットが低下する可能性があります。

于 2012-12-07T00:25:50.190 に答える