Isn't TCP a lossless protocol? I thought it ended the session if the packets were dropped.
Edit: downvoted for asking a question. Thanks reddit.
Edit: downvoted for asking a question. Thanks reddit.
This is used for congestion control: Imagine you have a computer with a 1gbps LAN hooked up to a 100mbps network. You can send packets at 1gpbs over the LAN, but 90% of them would be dropped at the speed change point. The TCP stack will notice it is losing packets, and will throttle itself accordingly.
TCP is actually more complicated than just this, but this is one of the more important parts.