I would like to know about the overall latency of the TCP congestion control for adapting to varying network conditions. Specifically, my questions are:
- How fast can the system react after a change of available bandwidth and/or roundtrip time (RTT)? By reacting, I mean modifying the send rate to match the new network conditions?
- How long does it take for the system to measure a change in the network conditions? As I understand, TCP by default only measures RTT by looking at the sequence numbers in the ACKs. Does it mean that it will take one RTT for the system to react to any changes in the network conditions?
- Are there any specific TCP congestion control algorithms developed for low-latency applications? I believe this is going to be important with new generation of applications (e.g. teleoperation, virtual reality) assuming that TCP can be used for such applications. A quick search on recent congestion control algorithms brought me to BBR from Google. However, it seems that the main purpose of BBR is to maximize the TCP throughput by operating closer to the optimal operation point (as defined by Kleinrock). I didn't see any considerations regarding latency in their paper.
Sorry if some questions do not make much sense. Networking newbee here, just starting to learn about the details of TCP congestion control. I would appreciate any help or direction which can help me understand the topic better. Thanks!