How to check the TCP congestion control algorithm flavour in Ubuntu

There aren't TCP variants; there are TCP congestion control algorithms:

sysctl net.ipv4.tcp_congestion_control

cat /proc/sys/net/ipv4/tcp_congestion_control

The default is usually cubic or reno, although plenty others are available, and programs can set the preferred algorithm for individual connections (e.g. Transmission enables lp if available).

(The same knob affects both IPv4 and IPv6, despite its name.)


Adding to @grawity answer, it is possible to check all TCP congestion control algorithms available with the following command:

sysctl net.ipv4.tcp_available_congestion_control

A list of some of the possible output (i.e.- availble flavours) is:

reno: Traditional TCP used by almost all other OSes. (default)

cubic: CUBIC-TCP

bic: BIC-TCP

htcp: Hamilton TCP

vegas: TCP Vegas

westwood: optimized for lossy networks

YeAH: delay-aware/state-enabled to keep a pipe at or below a threshold

NOTE: If cubic and/or htcp are not listed when you do 'sysctl net.ipv4.tcp_available_congestion_control', try the following, as most distributions include them as loadable kernel modules:

/sbin/modprobe tcp_htcp
/sbin/modprobe tcp_cubic

For more detailes you can have look here:

TCP tuning Details

Hope it helps.

Cheers,

Guy.

Tags:

Linux

Ubuntu

Tcp