TCP 遅延肯定応答 (ACK) タイマーのタイムアウト値をミリ秒単位で指定します。
RFC 1122, 4.2.3.2 を参照してください。
100 ミリ秒
1 ミリ秒から 1 分
はい
このパラメータには、500 ミリ秒を超える値を設定しないでください。
ネットワークリンクが遅く (57.6 Kbps 未満)、最大セグメントサイズ (MSS) が 512 バイトを超え、この間隔が複数の TCP セグメントを受信するには短すぎるような状況では、この値を増やします。
変更の可能性あり
TCP セグメントを最大でいくつ (個々の接続ごとに最大セグメントサイズ MSS の単位で) 受信したら肯定応答 (ACK) を生成するかを指定します。このパラメータに 0 か 1 を設定すると、すべてのセグメントが 1 MSS の長さであるとみなされ、遅延 ACK はないことになります。
直接的に接続されていないリモート宛先の場合は、このパラメータの値が何であれ、最大値は 2 に固定されます。実際の数は、接続ごとに動的に計算されます。この値はデフォルトの最大値です。
8
0 から 16
はい
この値は変更しないでください。ただし、遅延 ACK の影響でネットワークトラフィックが著しく混雑するような状況では、この値を減らします。ただし、2 より小さくしないでください。
変更の可能性あり
1 が設定されていると、TCP は、オプションの値が 0 であっても、常にウィンドウスケールオプションを指定して SYN セグメントを送信します。TCP は、ウィンドウスケールオプションの指定された SYN セグメントを受信すると、このパラメータに 0 が設定されていても、ウィンドウスケールオプションを指定して SYN セグメントに応答し、またオプションの値は受信ウィンドウサイズに従って設定されることに留意してください。
ウィンドウスケールオプションについては、RFC 1323 を参照してください。
0 (無効)
0 (無効)、1 (有効)
はい
高速ネットワーク構成でウィンドウスケールオプションを使用したい場合は、このパラメータを有効にします。
変更の可能性あり
1 が設定されていると、TCP は常に、タイムスタンプオプションを指定して SYN セグメントを送信します。TCP は、タイムスタンプオプションの指定された SYN セグメントを受信すると、このパラメータに 0 が設定されていても、タイムスタンプオプションを指定して SYN セグメントに応答することに留意してください。
0 (無効)
0 (無効)、1 (有効)
はい
要約すると、往復時間 (RTT) や TCP シーケンス番号ラップアラウンドを正確に測定したい場合に、これを有効にします。
このオプションを有効にする理由についての詳細は、RFC 1323 を参照してください。
変更の可能性あり
デフォルトの送信ウィンドウサイズをバイト数で指定します。ルートごとに異なる値を設定する方法については、後で述べるルート別のメトリックの説明を参照してください。「tcp_max_buf」も参照してください。
16,384 バイト
4096 から 1,073,741,824
はい
これはデフォルト値です。アプリケーションでは、setsockopt(3SOCKET) SO_SNDBUF を使用して、送信バッファを接続ごとに変更できます。
変更の可能性あり
デフォルトの受信ウィンドウサイズをバイト数で指定します。ルートごとに異なる値を設定する方法については、後で述べるルート別のメトリックの説明を参照してください。「tcp_recv_hiwat_minmss」と 「tcp_max_buf」も参照してください。
24,576
2048 から 1,073,741,824
はい
これはデフォルト値です。アプリケーションでは、setsockopt(3SOCKET) SO_RCVBUF を使用して、受信バッファを接続ごとに変更できます。
変更の可能性あり
バッファサイズの最大値をバイト数で指定します。これは、アプリケーションが setsockopt(3SOCKET) を使用して設定する送信バッファや受信バッファのサイズの最大値を制御します。
1,048,576
8192 から 1,073,741,824
はい
高速ネットワーク環境で TCP 接続を行う場合は、ネットワークリンクの速度に合わせて値を増やします。
変更の可能性あり
TCP 輻輳ウィンドウ (cwnd) のサイズの最大値をバイト数で指定します。
TCP 輻輳ウィンドウについては、RFC 1122 と RFC 2581 を参照してください。
1,048,576
128 から 1,073,741,824
はい
これは、TCP cwnd をどこまで拡張できるかを示す最大値です。アプリケーションが setsockopt(3SOCKET) を使用してウィンドウサイズに tcp_cwnd_max より大きい値を設定しようとしても、使用される実際のウィンドウが tcp_cwnd_max を超えることはありません。したがって、一般には、tcp_max_buf は tcp_cwnd_max より大きくなければなりません。
変更の可能性あり
輻輳ウィンドウ (cwnd) の初期サイズの最大値を TCP 接続の MSS 単位で指定します。
輻輳ウィンドウの初期サイズがどのように計算されるかについては、RFC 2414 を参照してください。
4
1 から 4
はい
この値は変更しないでください。
特殊な状況下で cwnd の初期サイズがネットワークの輻輳を招く場合は、この値を減らします。
変更の可能性あり
輻輳ウィンドウが 1 再送タイムアウト (RTO) の間遊休にされた (セグメントを全く受信しなかった) 後の、輻輳ウィンドウのサイズを TCP 接続の MSS 単位で指定します。
この計算については、RFC 2414 を参照してください。
4
1 から 16,384
はい
詳細は、「tcp_slow_start_initial」を参照してください。
変更の可能性あり
2 が設定されていると、TCP は常に、選択的肯定応答 (SACK) 許可オプションを指定して SYN セグメントを送信します。TCP は、SACK 許可オプションを指定した SYN セグメントを受信し、かつこのパラメータに 1 が設定されていると、SACK 許可オプションを指定して応答します。このパラメータに 0 が設定されていると、着信セグメントに SACK 許可オプションが指定されているかどうかにかかわらず、TCP は SACK 許可オプションを送信しません。
SACK オプションについては、RFC 2018 を参照してください。
2 (アクティブに有効にする)
0 (無効)、1 (パッシブに有効にする)、2 (アクティブに有効にする)
はい
SACK 処理を行うと TCP 再送のパフォーマンスが向上するため、アクティブに有効にすべきです。SACK オプションをアクティブに有効にすると相手方が混乱するおそれがあるような場合は、1 を設定します。それによって SACK 処理は、着信接続で SACK 処理が許可されているときだけ行われます。
変更の可能性あり
0 が設定されていると、TCP は、セキュリティ上の理由により、着信接続に対し IP ソースルーティングオプションを逆方向に使用しません。1 が設定されている場合は、TCP は通常どおりソースルーティングを逆方向に使用します。
0 (無効)
0 (無効)、1 (有効)
はい
診断のために IP ソースルーティングが必要な場合は、有効にします。
変更の可能性あり
TCP 接続を TIME-WAIT 状態に保つ時間をミリ秒で指定します。
詳細は、RFC 1122, 4.2.2.13 を参照してください。
4 分
1 秒から 10 分
はい
負荷の高い Web サーバーでは、あまりに多くの TCP 接続が TIME-WAIT 状態になっているために、メモリーが過度に使用されていることがあります。このような場合には、パフォーマンスの向上のために、この値を減らすことができます。ただし、この値は 60 秒より小さくしないでください。
詳細は、RFC 1122, 4.2.2.13 を参照してください。
変更の可能性あり
accept(3SOCKET) によって受け付けられるのを待っている保留状態の TCP 接続を 1 つの TCP リスナー当たり最大でいくつ持てるかのデフォルト数を指定します。「tcp_conn_req_max_q0」も参照してください。
128
1 から 4,294,967,296
はい
いくつかの接続要求を受信することがある Web サーバーのようなアプリケーションでは、着信頻度に応じてこのデフォルト値を増やすことができます。
このパラメータに著しく大きい値を設定しないでください。保留状態の TCP 接続はメモリーを過度に使用することがあります。さらに、保留状態の TCP 接続の数が多すぎて接続要求を適時に処理できるほどアプリケーションが速くない場合は、新しい着信要求が拒否されることがあります。
tcp_conn_req_max_q を増やしても、アプリケーションでそれだけの数の保留状態の TCP 接続を持てるとは限りません。アプリケーションでは、listen(3SOCKET) を使用して、保留状態の TCP 接続の最大数をソケットごとに変更できます。このパラメータは、アプリケーションが listen() を使用して設定できる最大値を表しています。つまり、このパラメータに非常に大きな値を設定しても、あるソケットに対する実際の最大数は、listen() に指定された値によっては tcp_conn_req_max_q よりもはるかに少ないことがあります。
変更の可能性あり
不完全な (3 段階ハンドシェークがまだ終わっていない) 保留状態の TCP 接続を 1 つの TCP リスナー当たりいくつ持てるかのデフォルトの最大数を指定します。
TCP の 3 段階ハンドシェークについての詳細は、RFC 793 を参照してください。さらに、「tcp_conn_req_max_q」も参照してください。
1024
0 から 4,294,967,296
はい
極めて多くの接続要求を受信することがある Web サーバーのようなアプリケーションでは、着信頻度に応じてこのデフォルト値を増やすことができます。
tcp_conn_req_max_q0 と、各ソケットについて保留状態にある接続の最大数との関係は、次のとおりです。
接続要求を受信すると、TCP はまず、受け付けられるのを待っている保留状態の TCP 接続 (3 段階ハンドシェークが終わっている) の数 (N) が、そのリスナーに対する最大数を超えていないかをチェックします。接続数が超えていると、その要求は拒否されます。超えていなければ、TCP は、不完全な保留状態の TCP 接続の数が、N と tcp_conn_req_max_q0 の合計を超えていないかをチェックします。超えていなければ、その要求は受け付けられます。超えていると、最も古い不完全な保留状態の TCP 要求がドロップされます。
変更の可能性あり
受け付けられるのを待っている保留状態の TCP 接続の最大数 (1 つの リスナーについての) の、デフォルトの最小値。これは、1 つのアプリケーションが使用できる listen(3SOCKET) の最も低い最大値です。
1
1 から 1024
はい
このパラメータにより、listen(3SOCKET) を使用するアプリケーションが保留状態の TCP 接続の最大数を過度に小さく設定するのを防ぐことができるます。この値を着信接続要求の頻度に応じて増やしてください。
変更の可能性あり
これらのパラメータは、/etc/system ファイルでしか設定できません。ファイルを変更してからシステムをリブートする必要があります。
次のエントリは tcp_conn_hash_size の設定例です。
set tcp:tcp_conn_hash_size=1024 |
符号付き整数
512
512 から 1,073,741,824
この値には 2 のべき乗を指定すべきです。
いいえ。このパラメータはブート時にのみ変更できます。
パラメータの値が 2 のべき乗でないと、一番近い 2 のべき乗に丸められます。
何万に上る TCP 接続が継続的にあるシステムでは、この値をそれに応じて増やします。TCP は、デフォルト値で 2 〜 3 千のアクティブ接続までは十分にサポートできます。ハッシュテーブルのサイズを増やすと、それだけ多くのメモリーが必要になりますので、適切な値を指定するようにしてメモリーが不必要に使用されるのを防いでください。
変更の可能性あり
すべてのアクティブ (ESTABLISHED 状態にある) TCP 接続に対する、IP モジュールのハッシュテーブルサイズを制御します。
符号なし整数
512
512 から 2,147,483,648
この値は 2 のべき乗を指定すべきです。
いいえ。このパラメータはブート時のみ変更することができます。
パラメータの値が 2 のべき乗でないと、一番近い 2 のべき乗に丸められます。
何万に上るアクティブ TCP 接続が継続的にあるシステムでは、この値をそれに応じて増やします。TCP は、デフォルト値で 2 〜 3 千までのアクティブ接続を十分にサポートできます。ハッシュテーブルのサイズを増やすと、それだけ多くのメモリーが必要になりますので、適切な値を指定するようにしてメモリーが不必要に使用されるのを防いでください。
変更の可能性あり
各パラメータで記述する特別な状況である場合以外は、次のパラメータを変更することは推奨されません。
TCP 接続に対するデフォルトのトータルの再送タイムアウト値をミリ秒で指定します。1 つの TCP 接続について、TCP が tcp_ip_abort_interval の間再転送を行ってもこの間に相手側のエンドポイントから肯定応答を全く受け取らないと、TCP はこの接続をクローズします。
TCP 再送タイムアウト (RTO) の計算については、RFC 1122, 4.2.3 を参照してください。「tcp_rexmit_interval_max」も参照してください。
8 分
500 ミリ秒から 1193 時間
はい
この値は変更しないでください。例外については、「tcp_rexmit_interval_max」を参照してください。
変更の可能性あり
1 つの TCP 接続に対するデフォルトの初期再送タイムアウト値 (RTO) をミリ秒で指定します。ルートごとに異なる値を設定する方法については、後で述べるルート別メトリックの説明を参照してください。
3 秒
1 ミリ秒から 20 秒
はい
この値は変更しないでください。この値を少なくすると、不要な再転送が行われるおそれがあります。
変更の可能性あり
デフォルトの最大再送タイムアウト値 (RTO) をミリ秒で指定します。すべての TCP 接続に対して、計算された RTO がこの値を超えることはできません。「tcp_ip_abort_interval」も参照してください。
60 秒
1 ミリ秒から 20 秒
はい
通常のネットワーク環境では、この値を変更しないでください。
1 つの接続に対する往復時間 (RTT) が数 10 秒になるような特別な状況では、この値を増やすことができます。この値を変更する場合は、これに合わせて tcp_ip_abort_interval パラメータも変更すべきです。tcp_ip_abort_interval には、tcp_rexmit_interval_max の 4 倍以上の値を指定します。
変更の可能性あり
デフォルトの最小再送タイムアウト値 (RTO) をミリ秒で指定します。すべての TCP 接続に対して、計算された RTO がこの値を下回ることはできません。「tcp_rexmit_interval_max」も参照してください。
400 ミリ秒
1 ミリ秒から 20 秒
はい
通常のネットワーク環境では、この値を変更しないでください。
TCP の RTO 計算は、RTT の最も大きい変動に対処できなければなりません。1 つの接続に対する往復時間 (RTT) が数 10 秒になるような特別な状況では、この値を増やすことができます。この値を変更する場合は、これに合わせて tcp_rexmit_interval_max パラメータも変更すべきです。tcp_rexmit_interval_max には、tcp_rexmit_interval_min の 8 倍以上の値を指定します。
変更の可能性あり
0 ミリ秒
0 から 2 時間
はい
この値は変更しないでください。
計算された RTO が接続に対して適切でないような状況では、不要な再転送を避けるためにこの値を変更することができます。
変更の可能性あり
このパラメータに 1 が設定され、かつ、ある接続に対するウィンドウスケールオプションが有効になっていると、TCP は、その接続の timestamp オプションも有効にします。
1 (有効)
0 (無効)、1 (有効)
はい
この値は変更しないでください。一般に、TCP を高速ネットワークで使用する場合は、シーケンス番号のラップアラウンドに対するプロテクションが必要なため、timestamp オプションの使用が必要になることがあります。
変更の可能性あり
デフォルトの最小受信ウィンドウサイズを制御します。最小値は、tcp_recv_hiwat_minmss に、接続の最大セグメントサイズ (MSS) を掛けたものです。
4
1 から 65,536
はい
この値は変更しないでください。この値を変更する必要がある場合は、4 より小さい値にしないでください。
変更の可能性あり
1 が設定されていると、メモリーを節約するために、TIME-WAIT 状態にある TCP 接続のプロトコル制御ブロックが圧縮されます。0 が設定されていると、圧縮は行われません。「tcp_time_wait_interval」も参照してください。
1 (有効)
0 (無効)、1 (有効)
はい
圧縮機能はオフにしないでください。
変更の可能性あり