2

もしそうなら、アイドリングの長さがウィンドウを縮小させる原因を決定するために、アプリケーションが行うことができる合理的な推測、またはより良いのはAPI呼び出しはありますか?

低遅延を必要とするアプリケーションは、ウィンドウサイズを維持するために、アイドル時に不要なトラフィックを定期的に送信しますか?

質問を表現する別の方法-Googleは何をしますか(tcp自体を避けてip / udpだけを使用する以外に)?

4

1 に答える 1

2

[RFC2581]は、次のことを推奨しています。「TCPが再送信タイムアウトを超える間隔でデータを送信しなかった場合、TCPは送信を開始する前にcwndをRW[初期ウィンドウ]以下に設定する必要があります。」再送信のタイムアウトは、おそらく数回のラウンドトリップ時間のオーダーになるため、これを回避するには、かなり高い送信速度を維持する必要があります。これは、使用している実装がこの推奨事項に従っていることを前提としています。今日の一般的な慣習が何であるかはわかりません。

プラットフォームを制御する場合は、おそらくtcp構成パラメーターを使用してこれを設定できます。Linuxの場合:tcp_slow_start_after_idleただし、オフにすると、アイドル後にバーストが非常に大きくなる可能性があることに注意してください。送信がアクティブな場合、送信ウィンドウがいっぱいになるため、新しいセグメントはackの到着時にのみネットワークに計測されます。アイドル期間の後、ウィンドウを1回のバーストで埋めることができます。

于 2017-12-12T17:51:59.360 に答える