I have the following questions about TCP:
I. net.ipv4.tcp_rmem II. net.core.rmem_max The first parameter contains 3 values (Min, Default and Max). Whereas the second one contains only one value.
I only get reno. Even-though I have Linux Kernel 3.14.0 , should not I get Cubic too? Or do I need to have specific configuration while compiling the Kernel? asked 08 Jul '15, 10:49 Hany Assasa |
One Answer:
http://www.psc.edu/index.php/networking/641-tcp-tune explains that TCP Autotuning automatically adjusts socket buffer sizes as needed to optimally balance TCP performance and memory usage... Autotuning is now enabled by default in current Linux releases (after 2.6.6 and 2.4.16). net.core.rmem_max defines the TCP max buffer size that and application can set using setsockopt() net.ipv4.tcp_rmem define the Linux autotuning TCP buffer limits min, default, and max number of bytes Let me start with 3) If the desired algorithm is not yet available the following command can be used to see which algorithms are installed:
and you can issue a modprobe command to activate those
2) Does the two ends agree on one MSS to use during the handshake? Or each side can his own MSS? Each side has has its own MSS that it offers in its SYN packet, it is based on the MTU size of the route towards the destination and tries to avoid ip fragmentation by substracting 40 bytes. 1) As per http://www.cdnplanet.com/blog/tune-tcp-initcwnd-for-optimum-performance/ If TCP timestamp option was negotiated you will see 10X1448 or 3X1448 bytes ... answered 08 Jul '15, 11:38 mrEEde edited 08 Jul '15, 12:14 |
Valueable links, thanks @mrEEde