TCP転送とNICへの実際の書き込みとの間の遅延

TCP転送とNICへの実際の書き込みとの間の遅延

Pythonを使用して説明したソケットプログラミングの問題に対する解決策を探していますここ(つまり、問題は、~ 25 BytesクライアントがTCPソケットを介して送信されたメッセージ()をすぐに予約(フラッシュ)したいということです。)これ記事。

「設定された接続のしくみ」セクションのセクション6の記事は次のとおりです。

ネットワークの使用量が多い場合、TCP転送ウィンドウがいっぱいになった場合、またはトラフィック調整ポリシーが適用されている場合など、ユーザーが実際にwrite(2)を呼び出した時点からNICへの実際のデータ転送が遅れることがあります。

私の質問は次のとおりです

  • 非常に高速なプライベートネットワークがあり(可用性を保証できます)、TCPトランスポートウィンドウがいっぱいになりません。 25バイト程度の小さなメッセージはすぐに送信されますか?
  • 最近のUbuntu(例:14、16、18)では、これらのトラフィック調整ポリシーはデフォルトで何ですか?

答え1

トラフィック調整ポリシーはUbuntuではなくISPのバックボーンに設定されているため、非常に高速なプライベートネットワークがあり、自分で管理する場合は問題になりません(たとえば、会社ではない:会社の場合はその会社に連絡)、使用されるポートのネットワークエンジニア) 。

最新のオペレーティングシステムでは、TCPウィンドウは64Kなので、DOS(8K)またはカーネル2.16で実行されていない限り、メモリが正常(16K)の場合は問題になりません。

はい、プライベートネットワークを使用してUbuntuから25バイトがすぐに送信されると思います。

関連情報