Advertisement

Download Accelerator-HOWTODO???

Started by July 23, 2002 04:41 PM
5 comments, last by snowball123 22 years, 6 months ago
Hi, I''m wondering how Download Accelerator works? Here is How I think it works -Gets the size of the file -divides the size of the by whatever number (2 or 4 or 8, whatever) -creates that many sockets with all different ports -each socket downloads a certain amount at a certain position But my question is how do it ask for a certain position? (ex. if we have a 1024KB file, with 4 sockets to download the file, 1024/4 = 256, how does it ask for to start one socket at 256 KB?) If I don''t know my head from my ass, please tell me. This is just how I thought DA may do it. Thanks
quote:
Original post by snowball123
Hi,

I''m wondering how Download Accelerator works?

Here is How I think it works
-Gets the size of the file
-divides the size of the by whatever number (2 or 4 or 8, whatever)
-creates that many sockets with all different ports
-each socket downloads a certain amount at a certain position

But my question is how do it ask for a certain position? (ex. if we have a 1024KB file, with 4 sockets to download the file, 1024/4 = 256, how does it ask for to start one socket at 256 KB?)

If I don''t know my head from my ass, please tell me. This is just how I thought DA may do it.


Thanks


The same way that file resuming is done, which is only supported in HTTP 1.2 (or was that HTTP 2.0) and higher. Read up on file resuming to learn how to get a file starting at a particular place.
Advertisement
actually thats http 1.1 with a range request. however using multiple sockets to download stuff is a bad idea. you most likly will get your ip banned from servers since many dont allow that behavior (ie not only will the server reject multiple requests for the same object, but maybe even not allow you anymore access to the server). plus you wont get much of a speed up anyway.

go read the http 1.1 protocal.
Thanks for the reply!

OK, http 1.1 protocol. I've been looking at it but its pretty long. It will take some time (i'm not really familiar with 1.0 protocol). I saw range request part but it didn't provide an example. I didn't know it was so easy just to download a file (GET *).

DA doesn't use multiple sockets? How does it download a file in multiple segments then?



Thanks

[edited by - snowball123 on July 24, 2002 1:30:21 AM]

[edited by - snowball123 on July 24, 2002 1:31:26 AM]
download accelertors probably do, thats why many servers say you cant use a download accelerator on them. they dont like the mulitple connections since other ppl cant connect, so they limit you to a single connection per file transfer.

though most ofthe time you wont notice the difference in speed since the point of a download accelerator is to try and beat the tcp window latency, it may work sometimes, but ussually its a waste. i wont go into the details since they are pretty specific and low level. if you are curious do some research on TCP windowing. it explains why mulitple connections may be faster sometimes.

the part i like about them is the ability to resume downloads. its nice when you need to shut the pc down or the download falters for some reason. i myself am working on a download resume utility that will support ftp and http. currently http is working though its not tested (and it requires a recompile to switch the file you are getting, heh). no user interfacea and text based output only (ie download speed, what its doing, how much time lefte, etc).

the range request is simple.

Range: bytes=startbytes-endbytes

so you can get from byte 1024 to byte 4765 by using
Range: bytes=1024-4765

now the server will respond with:
HTTP/1.1 206 Partial Content OK

and some other stuff like the length of what its sending, server, etc. dont forget you will also need to handle all of HTTP responses. basically if you get 40x where x is any number, it means you cant get the file. 30x means its a redirect, see the "Location:" field for where the file really is. 20x means OK and the server is going to send the content. be very sure you check and handle them othersue downloads may fail. be especially sure you handle 206 otherwise you will get corrupt downloads for servers that dont support resuming.
I don''t know about other programs, but I use getright and it allows you to segment a download to multiple connections (to either the same server or different ones if u have more than one link). Segmenting almost always speeds up the download, even if its multiple segments from the same server. The speed increase is often significant, going from 30k/s to 200k/s(my max d/l speed) with 8 segments, and most servers I''ve downloaded large files from allow multiple segment (only big server I can think of that doesnt would be fileplanet.com)

"The Requested Information Is Unknown Or Classified" -Anonymous
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Advertisement
when going from mulitple servers and the line not being saturated i can see some speed benifits. however i think its wise not to connnect to the same serevr mulltiple times. going from different servers sure, but even then most ppl run on modem connections and wont see a difference. on avg i get 200KB on a cable connection. a download accelerator wont help much. its possible that i tweaked my network setting better so i get faster speeds without the use of some accelerator.

you say most big servers allow it, except fileplanet. this may be true to a point, but there are some servers that dont. especially if you download from smaller foreign servers (which tend to not be as crowded on release days of popular patches and demos).

plus i think its a bit rude to download using mulitple connections to a server, you are disallowing other ppl from connecting and downloading. since all servers have a connect limit. also any ftp server will tend not to allow multiple logins as well.

i never said all servers are like that, but some are VERY strict about multiple connections to downloading popular resources. in fact fileplanet went to the format its using to help prevent the use of download accelerators as well as make it more fair for ppl to download things via a queue.

though i stay away from adware software anyway, and base this on expierments of downloading different files at the same time. sometimes you are saturating the server link and it wont go nay faster or you may be saturating your link so the extra connects dont help much.

i never said that you wont get benefits, i merely stated that some servers have punishments (ie bans) for multtiple connects or dont allow it. as well as stating that if your network settings are good (ie correct for your connection type, especially the TCP window) you wont see much of a difference as well. to different servers, maybe the difference can be more significnt. again my settings ussually max out the link to most servers i download from so i dont benefit as much as you may.

This topic is closed to new replies.

Advertisement