Linuxカーネルバージョン3.13.0-34でUbuntu14.04LTSを使用しています。
デフォルトまたは現在使用されているTCP輻輳制御アルゴリズム)を確認するにはどうすればよいですか?
ありがとう。
TCPバリアントはありません; TCP 輻輳制御アルゴリズム:
sysctl net.ipv4.tcp_congestion_control
cat /proc/sys/net/ipv4/tcp_congestion_control
デフォルトは通常cubic
またはreno
ですが、他にもたくさんあり、プログラムは個々の接続の優先アルゴリズムを設定できます(たとえば、送信によりlp
可能な場合は)。
(同じノブは、その名前にもかかわらず、IPv4とIPv6の両方に影響します。)
@ grawityの回答に加えて、で使用可能なすべてのTCP輻輳制御アルゴリズムをチェックすることができます。次のコマンド:
sysctl net.ipv4.tcp_available_congestion_control
可能な出力のいくつかのリスト(つまり、利用可能なフレーバー)は次のとおりです。
reno:他のほとんどすべてのOSで使用される従来のTCP。 (デフォルト)
cubic:CUBIC-TCP
bic:BIC-TCP
htcp:ハミルトンTCP
vegas:TCPベガス
westwood:損失の多いネットワーク用に最適化
YeAH:パイプをしきい値以下に保つための遅延認識/状態有効
注:'sysctl net.ipv4.tcp_available_congestion_control'
を実行してもcubicおよび/またはhtcpが表示されない場合は、ほとんどのディストリビューションにロード可能なカーネルモジュールとして含まれているため、次のことを試してください。
/sbin/modprobe tcp_htcp
/sbin/modprobe tcp_cubic
詳細については、こちらをご覧ください。
それが役に立てば幸い。
乾杯、
男。
各接続で使用されている現在の輻輳制御アルゴリズムを確認したい場合は、ss
コマンド( iproute2 package/toolsの一部)を使用できます。
ss -ti
出力例を次に示します。接続の詳細の下にあるパラメーター出力の最初の項目は、輻輳制御アルゴリズム(この場合はcubic
-)で、その後にTCP接続に関連するさまざまなパラメーターが続きます。
ESTAB 0 0 192.168.56.102:ssh 192.168.56.1:61795
cubic wscale:6,7 rto:201 rtt:0.218/0.038 ato:40 mss:1448 rcvmss:1392
advmss:1448 cwnd:10 bytes_acked:8753 bytes_received:3945 segs_out:40
segs_in:63 send 531.4Mbps lastsnd:1 lastrcv:2 lastack:1
pacing_rate 1059.1Mbps rcv_rtt:2 rcv_space:28960
注:アプリケーションは、 TCP_CONGESTION
setsockopt()呼び出しを使用して、使用する輻輳制御アルゴリズムを選択できます。