GNU/Linux >> Linux の 問題 >  >> Linux

初期 TCP 再送信タイムアウトを調整するにはどうすればよいですか?

解決策 1:

いいえ、できません。カーネルにハードコードされています。そのため、カーネルを変更して再コンパイルしてください。

#define TCP_TIMEOUT_INIT ((unsigned)(3*HZ))     /* RFC 1122 initial RTO value   */

これは、include/net/tcp.h で取得する必要があるものです。

しかし、自分で試したことがなくても、誰かがパッチを提供しているのを見ることができます

解決策 2:

RTO はネットワークの状態に合わせて自動調整されるため、初期設定は全体的なパフォーマンスに大きな影響を与えることはありません。 RTO を変更する場合は、1 秒に設定できます (ただし、それ以下にすることはできません)。

これについては RFC 1122 で議論されています:

        The following values SHOULD be used to initialize the
        estimation parameters for a new connection:
        (a)  RTT = 0 seconds.

        (b)  RTO = 3 seconds.  (The smoothed variance is to be
             initialized to the value that will result in this RTO).

        The recommended upper and lower bounds on the RTO are known
        to be inadequate on large internets.  The lower bound SHOULD
        be measured in fractions of a second (to accommodate high
        speed LANs) and the upper bound should be 2*MSL, i.e., 240
        seconds.

        DISCUSSION:
             Experience has shown that these initialization values
             are reasonable, and that in any case the Karn and
             Jacobson algorithms make TCP behavior reasonably
             insensitive to the initial parameter choices.

RFC 6298 は提案された更新 (2011 年 6 月公開) であり、RTO より低い値 (ただし 1 秒以上) に初期化でき、適切な初期値として 1 秒を正当化するデータを含む付録が含まれています。


Linux
  1. 使用している Fedora のバージョンを確認するにはどうすればよいですか?

  2. Pythonのmatplotlibで「バックエンド」を設定するにはどうすればよいですか?

  3. wgetで最新のAnacondaをインストールするにはどうすればよいですか

  1. 実行中のプロセスの絶対パスを知るにはどうすればよいですか?

  2. Emacsでツールバーを永続的に非表示にするにはどうすればよいですか?

  3. 8G RAM と SSD - スワップの大きさはどれくらいですか?

  1. LinuxでMySQLのタイムアウト制限を変更するにはどうすればよいですか?

  2. スワップ パーティションのサイズはどれくらいですか?

  3. iptables でポート転送するにはどうすればよいですか?