なお、以下は Linux のものです。
>cat /proc/sys/net/ipv4/tcp_retrans_collapse 1 >cat /proc/sys/net/ipv4/tcp_keepalive_probes 9 >cat /proc/sys/net/ipv4/tcp_keepalive_time 10800 >cat /proc/sys/net/ipv4/tcp_syn_retries 10 >cat /proc/sys/net/ipv4/tcp_sack 1 >cat /proc/sys/net/ipv4/tcp_timestamps 1 >cat /proc/sys/net/ipv4/tcp_stdurg 0 >cat /proc/sys/net/ipv4/tcp_syncookies 0 >cat /proc/sys/net/ipv4/tcp_window_scaling 1 >cat /proc/sys/net/ipv4/tcp_fin_timeout 180 >cat /proc/sys/net/ipv4/tcp_max_ka_probes 5 >cat /proc/sys/net/ipv4/tcp_max_syn_backlog 128 >cat /proc/sys/net/ipv4/tcp_retries1 7 >cat /proc/sys/net/ipv4/tcp_retries2 15
以下に機能別のチューニング・パラメータを列挙します。
時間間隔の単位はミリ秒で、サイズの単位はバイトです。
![]() |
![]() |
パラメータ | 意 味 | 既定値 | 推奨値 |
---|---|---|---|
tcp_retrans_collapse | いくつかの壊れたプリンタのためにバグ=バグ互換を保持するための ものです。 そのような TCP スタックのバグを回避するために、再送信 する場合はより大きなパケットを送るように試みます。ゼロに設定す ることでこの機能をオフにできます。 | 1 | 1 |
tcp_keepalive_probes | キープアライブ(keep alive) 設定された TCP 接続において、ここに設 定した数だけ確認パケットを送っても応答がない場合には切断されたと判断します。 | 9 | 9 |
tcp_keepalive_time | キープアライブ(keep alive)が有効な時に、どれくらいの頻度でキープアライブ・ メッセージを TCP が送信するかを示します。デフォルトは 2 時間です。 | 10800 | 7200 |
tcp_syn_retries | TCP 接続を行うために最初の SYN パケットの再送信を試みる回数です。 255 以上に設定してはいけません。これは外向きの接続に対しての 時間切れを設定します。内向きの接続に対する再送信回数は tcp_retries1 で定義されます。 | 10 | |
tcp_sack | RFC2018 による選択的確認応答 (SACK) を有効にします。 | 1 | 1 |
tcp_timestamps | RFC1323 に定義されたタイムスタンプを有効にします。 | 1 | 1 |
tcp_stdurg | TCP 緊急ポインタ(urgent pointer)フィールドを厳密に RFC793 に従って解釈します。 デフォルトは BSD 互換の解釈で緊急ポインタは緊急データの直後を指しています。 RFC793 の解釈では緊急データの最後を指すことになっています。このオプションを 有効にすると実装の違いによる問題が出てくるかもしれません。デフォルトは無効です。 | 0 | 0 |
tcp_syncookies |
カーネルが CONFIG_SYNCOOKIES オプション付きでコンパイルされてい
る場合にのみ使用できます。 ソケットの SYN 蓄積キューが溢れた場合
に syncookie を送信します。 これは一般的な「syn flood 攻撃」を防ぎ
ます。デフォルトは無効です。
ソケット蓄積の概念は放棄されることに注意してください。これは syncookies が設定されたサーバが過負荷になった場合に相手側は信頼 できるエラーメッセージを受けとれないかもしれないことを意味します。 |
0 | 0 |
tcp_window_scaling | RFC1323 に定義された通信ウィンドウのスケーリングを有効にします。 | 1 | 1 |
tcp_fin_timeout | 最終 FIN を何秒間待つかを設定します。これだけ待っても FIN が来な ければソケットは無条件に閉じられます。 これは厳密に言えば TCP の 規格には違反しています。しかしサービス不能攻撃を防ぐために必要です。 | 180 | 180 |
tcp_max_ka_probes | slow timer が切れるごとに、キープアライブ検査を何回送るかを示し ます。バーストを防ぐためにこれを大きな値に設定してはいけません。 | 5 | 5 |
tcp_max_syn_backlog | ソケットごとの蓄積キューの長さです。Linux 2.2 から listen(2) で指定した backlog の値は既に接続したソケットの蓄積キューのみを指定します。 この値以上の接続要求を受けた場合 Linux はそのパケットを捨て始めます。 syncookies が有効になっている場合はそれでもパケットへの返信が行われ、 キューの最大値は効果的に無視されます。 | 128 | 128 |
tcp_retries1 | TCP 接続要求に対する応答の再送を試みる回数を指定します。 | 7 | 7 |
tcp_retries2 | TCP パケットの再送を試みる回数を指定します。 | 15 | 15 |
尚これらのパラメータを変更する際は、/etc/sysctl.conf にも記載しないと、
ブート後にデフォルトに再設定されます。
![]() |
![]() |