ai28 :
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?
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.