Debian – Which TCP congestion control algorithm is best for low speed radio modems

debianembeddedmobilemodemtcp

On my project we have remote Linux nodes that communicate over the Internet via very low speed CDMA cell modems. The bandwidth on these modems is about 2kbyte/second and the RTT back to the server is about 800ms.

Based on these limitations, would there be any benefit in trying to tune the Linux TCP stack to match this performance? E.g. I recently found out about the pluggable congestion control algorithms and am wondering if there's a different one to the default that might work better. Sometimes I've seen downloads on these modems crawl to 800 bytes/second. I ran some UDP tests and packet loss was about 25%.

Linux is 2.6.35.3 with Debian Wheezy on ARMHF.

Best Answer

"I've seen downloads on these modems crawl to 800 bytes/second."

You've not given loss measurements, so it is impossible to tell if you are seeing congestion or merely smaller-than-spec channel capacity.

It is important to note that TCP was designed on hardware much slower and probably with a greater error rate than your equipment. For slower connections, TCP makes extremely good use of available capacity.

You can try different congestion control mechanisms but I'd be surprised if you get better throughput than you do currently. Measuring real channel capacity over real networks is staggeringly more complicated than it seems it should be.

Related Question