I have two distant hosts. Packet loss is always 19% until the rate exceeds 210 kB/s. The RTT is about 220 ms. The TCP congestion control algorithm is "cubic". "f_rto" is enabled. The actual speed of a TCP connection can only reach 14 kB/s. It's really slow.

Is there any idea about how to optimize TCP connections between the two hosts?

  • Have you tried to use smaller packets over the route? It should decrease number of "packets with transmission errors". See mss option of route command. – AnFi Nov 5 '16 at 9:48
  • @AndrzejA.Filip Yes, I've tried. But it seems the packet loss is just random. – Sherwood Wang Nov 5 '16 at 9:53
  • Have it affected packet loss ratio and effective transmission speed of single TCP connection? Have you used "full size" (1500 Bytes) packets to measure packet loss? HOW are the hosts connected? [direct modem link, multi hop link, ....] – AnFi Nov 5 '16 at 10:11
  • If there any reason why you are seeing 19% packet loss? That is fairly catastrophic for functional TCP. – Mark Riddell Nov 5 '16 at 14:45

Use iptables TEE target to duplicate packets on both direction. You will have a much more chance to avoid packet loss, but the it costs: the traffic will also doubled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.