Does my ISP know I'm downloading something?

Whenever I download something I always-- some could say compulsively :wink: – watch the “Kb/second” dialouge (or the pretty real-time picture on my downloader). It starts off with a bang, so very exciting, but then it always slows down.

Does my ISP know I’m not browsing and then somehow limits the speed of the connection? Doesn’t make sense to me.

Yes, your ISP has the ability to track exactly which websites you are browsing, and which files you may be downloading.

No, your ISP couldn’t care less whether you’re browsing websites or downloading a file. Generally, downloads start out fast and may slow down a bit because of site traffic- the site you’re downloading from, that is. Depending on other visitors and what they may be doing, the server has a certain bandwidth it can decide to allocate depending on its needs. Hence why downloads often run faster at 2 AM than at 7 PM.

I am more inclined to think that this is just a calculation error. Download speed estimates are just that, estimates. The estimate accuracy improves as more data comes in. Initial estimates are always innacurate.

Another reason why downloads start off really fast: as I understand it, at the outset the “pipe” begins to fill with the data, and thus it can pump out a lot more for a few seconds. After that point, there’s a constant stream, and therefore the speed is more normalized.

No, this doesn’t make much sense…but I done heard it someplace!

I’ve usually noticed the reverse: A download meter will start off by saying that there’s 17 hours left to the download, then quickly correct itself and proceed to finish in five minutes (numbers slightly exaggerated for effect). Since I’m on a faster than average connection (school LAN line, on a T3), I think that the initial estimate assumes an average connection, and doesn’t realize it’s faster (or slower) until it actually sees it going.

As for the limiting speed question, I seriously doubt your ISP is limiting the speed of your connection, but It is possible. If your ISP is really concerned with bandwidth issues they can always limit each user to a certain maximum kb/sec.

The on-screen indicators are a matter of programming, of course. Hard to say what values are used for the first few seconds until the program has some live values to compute.

Protocol-wise, TCP uses “slow start” to avoid wild speed fluctuations - the first TCP packets announce small “receive windows” (available receive buffers) and gradually raise them. This probably isn’t discernible to a download program.

OTOH, if the ISP in question is using some sort of fancy queueing to allocate bandwidth fairly, weird things can happen. A new download may start up with relatively high priority, but as it hogs more bandwidth, its priority gets notched down until it settles at about the same priority as all other downloads.

Weighted Fair Queueing, widely used, assigns priorities on packet size (small takes priority over large) and the relevant protocol address pair’s bandwidth use in the preceding seconds - bandwidth hogs get relegated to a lower priority. As downloads will attempt to grab all the bandwidth they can, the average one will start with a nice high priority, use it to grab more bandwidth than it should and immediately get taken down a notch or two, until an equilibrium is reached. Giving small packets priority over large ones is pretty smart because it generally speaking expedites control packets and interactive traffic over downloads.

S. Norman

This happened to me before when I was capturing to ram. It goes really fast, cause ram is fast, then the ram fills up & things slow down when it starts capturing to the HD. I haven’t done that for years though.

Now, if you were uploading, the answer would be simple… uploads seem to be much faster at first than they really are because the OS buffers data.

If you’re sending a file with ftp, your ftp client will see that it was able to send the first several kilobytes very quickly, so you’ll see a high estimated speed, but it doesn’t realize the data is being “sent” into the buffer instead of over the network. As the buffer fills up, the program will only be able to buffer new data as quickly as the OS can pull old data out of the buffer and send it over the network, so you’ll see a more reasonable estimate.

There is another process going on:

When you choose to download a file, it starts downloading to a temporary area, then a dialog box pops up asking you where you want to save it - the downloading process is continuing in a separate thread behind the dialog box, so when the progress meter shows up, it already has a few bars filled in.