3 ms·
Why can't you send the entire file? Because your LAN connection is probably 1000Mbps and your internet connection is likely <5Mpbs. Or the receiving sides inte
by johngalt 14y ago
Why can't you send the entire file?
Because your LAN connection is probably 1000Mbps and your internet connection is likely <5Mpbs. Or the receiving sides internet connection is 2Mbps. Your computer only sees 1000Mbps and would dump a 1tb file out at line rate. Then it would ask 'what pieces are missing?' And have to send 99% of the file again. Even worse if multiple people are trying to send to the same recipient.
So instead we ask the receiving side how big its buffer is and only send that much before awaiting a response (in many cases more than 10 at a time). If there is network congestion that response will take longer automatically slowing the transmission rate. The problem is that TCP can't tell the difference between congestion latency and distance latency.