I The need of Change TCP Congestion Control in Android
" TCP was originally designed for wired networks. Packet loss is considered to be the result of network congestion and the congestion window size is reduced dramatically as a precaution. However, wireless links are known to experience sporadic and usually temporary losses due to fading, shadowing, hand off, interference, and other radio effects, that are not strictly congestion. After the (erroneous) back-off of the congestion window size, due to wireless packet loss, there may be a congestion avoidance phase with a conservative decrease in window size. This causes the radio link to be underutilized. Extensive research on combating these harmful effects has been conducted. Suggested solutions can be categorized as end-to-end solutions, which require modifications at the client or server,[41] link layer solutions, such as Radio Link Protocol (RLP) in cellular networks, or proxy-based solutions which require some changes in the network without modifying end nodes.[41][42]
A number of alternative congestion control algorithms, such as Vegas, Westwood, Veno, and Santa Cruz, have been proposed to help solve the wireless problem.[citation needed] "
-- From WIKIPEDIA
http://forum.xda-developers.com/showpost.php?p=28152737&postcount=2
and
http://forum.xda-developers.com/showpost.php?p=48088128&postcount=1884
Have listed differences between these control algorithms in Android.
II Step
config linux kernel to build All TCP Congestion Module -> add busybox to android -> sysctl -w net.ipv4.tcp_congestion_control=cubic
list tcp config: sysctl -a | grep tcp