The currently used TCP congestion control, TCP Reno, has two weaknesses. To solve this TCP Reno drawback, HighSpeed TCP and Scalable TCP were proposed. However, the fairness between these proposed TCP and TCP Reno is not considered, when both connections coexist. Secondly, TCP Reno connections share bandwidth unfairly, when TCP flows with different RTTs use the same link. Many researches have been proposed to solve this issue. However, no single method has been proposed to solve both issues. This paper proposes a new TCP congestion control algorithm, which is based on the generalized Additive Increase Multiplicative Decrease (AIMD) rules. Our algorithm (1) sends packets efficiently in high-speed networks, (2) is TCP-friendly with TCP Reno and (3) shares fair bandwidth between flows with different RTTs. We evaluate the capabilities of our proposal by computer simulations and compare it with existing TCP.