Fluctuating download speed

May 1, 2018
19
0
20
Sometimes when downloading a large file (larger than 1Gb) using Chrome, the download speed goes to 0 B/s for some time and then slowly goes back to its original speed, is this behavior affects the files being downloaded? for instance will some files become corrupted if it is an important ISO or ZIP file or can TCP (or whatever protocol being used) recover from that? Thanks
 
Solution

TCP is a reliable protocol. That is, the server sends a data packet to your computer, and your computer has to acknowledge to the server that it's received the data packet, before the server will send more packets. There's a small buffer so interruptions aren't instantaneous. But if the server doesn't get this ack reply from your computer, then it will assume your computer didn't get the previous packet, and try to resend it. (Hence the transfer is reliable - packets which failed to arrive are resent.)

So if...
Uhhhhm. If you're downloading on wifi then this is called packet loss. On ethernet that issue is significantly less common. But it basically means on wifi you're not close enough to the router or the signal is going through a bunch of solid objects so it loses parts of it. It may not be that though. I've had that problem in chrome before but I changed to firefox.
 


No, it is on Ethernet, so I keep seeing online that it is a Chrome problem, my biggest concern is the integrity of the downloaded file. Thanks
 

TCP is a reliable protocol. That is, the server sends a data packet to your computer, and your computer has to acknowledge to the server that it's received the data packet, before the server will send more packets. There's a small buffer so interruptions aren't instantaneous. But if the server doesn't get this ack reply from your computer, then it will assume your computer didn't get the previous packet, and try to resend it. (Hence the transfer is reliable - packets which failed to arrive are resent.)

So if there's any packet loss between you and the server, or if your upload bandwidth is saturated, it can cause the symptoms you're describing. The ack package gets lost or delayed, the server stops sending subsequent data packets while it waits for the ack, and your download speed drops to zero. When the ack packet finally arrives, the server resumes sending data packets, and your download speed climbs again. (The speed is measured as moving average - the average download speed of a sliding time window - so speed increases and decreases are gradual.)

A common cause of saturating upload bandwidth is file sharing. If that's what's happening, you need to figure out some way to prevent your file sharing app(s) from using all the available upload bandwidth.

for instance will some files become corrupted if it is an important OSO or ZIP file or can TCP (or whatever protocol being used) recover from that? Thanks
It shouldn't affect the download. Even if the interruption is long enough for the download to fail, the HTTP standard supports resuming downloads of files which are partially downloaded. Your browser will tell the server how much of the file has already been successfully downloaded, and the server will continue the download where it left off.

The catch is that the server has to support this functionality. If it doesn't, it will just start sending you the file from the beginning as if it were a new download.
 
Solution
A great answer, but as a measure of precaution I canceled the download each time it dropped to zero and then restarted, but this puts my mind to rest.