web-dev-qa-db-ja.com

低スループットネットワーク用のLinuxTCP / IPチューニング?

無線モデムで接続された2台のLinuxマシンがあります。帯域幅は約2kbpsで、ping時間は約400ms(パケット損失5%)です。

現在、sshセッションには5秒程度の遅延がありますが、これは異なります。生のtelnetも同様で、tcp接続を開くだけでも永遠にかかるようです。

このような場合にIPパラメータを最適に調整する方法を知っている人はいますか?

5
John K

可能であれば、十分に低いMTUで実行していることを確認してください。 1つの1500バイトのパケットがリンクで送信するのに最大6秒かかります(バイトではなく、1秒あたり2キロビットを意味すると仮定します)。そして、かなりの数のパケットが失われ(おそらく、ping remote-endではなくping -s «MAX-SIZE» remote-endでのパケット損失の場合、5%以上)、パケット全体を再送信する必要があります。

厳密に言えば、IPv4は68のMTU(とにかく小さすぎる)まで下がることができますが、LinuxのPMTU検出は552以上に制限されており、スタックの他の部分が128バイト程度未満で失敗する可能性があります。

TCPの設計者 1973年に戻った の帯域幅の10分の1で十分に動作していることに注意してください。

2
derobert

損失は​​TCPスループットを低下させます。そして、その遅れは人間が知覚できる遅延の原因になります。

遅延と切断の許容範囲に使用するプロトコルとアプリケーションを再考することを検討してください。例えば:

  • mosh は、それ自体を「モバイルシェル」と呼び、接続の変更後も存続し、ローカルでエコーを予測してより高速なエクスペリエンスを実現します。
  • Citrixには、接続不良の場合に(Windows)GUIアプリを表示するためのインテリジェンスがあります。 2 kbpsでGUIの多くを取得できるとは思えませんが。
0
John Mahowald