1

I have access to a LAN network with about 20 computers and I want to download a file with large size which will take ages to download with my current download speed ( 50 kilo-byte/s ) So, I am wondering if there were a way or software to use to download separate parts of the same file with different computers in order to finish faster. Any help is appreciated.

4 Answers 4

5

Since you say that the limit is per computer, you can download the file in, say, ten chunks from ten computers.

Actually, I'd start downloading from one computer, then add another, and another... until I would notice that the actual download speed has fallen below the theoretical maximum rate allowed of 50 Kb/s. That would mean that the uplink is now saturated, and there's no reason to continue adding clients (actually, that would slightly decrease transfer efficiency).

To download a single piece of a file, you need a utility such as curl (curl.haxx.se)

curl -r 0-10000000 -o Block1.bin http://www.site.com/path/to/largefile.zip

this will download the first ten megabytes into Block1.bin.

If you already know in advance that you can use at most, say, seven clients, you divide the file length by seven and download seven large chunks. That will make optimum use of TCP connection. If you don't know the size, 10M is a reasonable chunk size: just keep monitoring the clients and start another download as soon as one is finished.

To reassemble the chunks, you can use cat. They say that COPY /B works as well in Windows, but I never dared. If you feel adventuresome, try

copy /b Block1.bin+Block2.bin+Block3.bin+... mylargefilereconstructed.zip

Important: whatever you say, if there is a 50K/s per PC policy, it means that bandwidth is at a premium and/or there have been bandwidth hogging problems. What you are doing now will recreate those problems, therefore you had better first clear this out with the network admins and maybe agree on some time frame to perform the download with minimum disruption to the network (at night, during lunch break, at weekends and so on). This could spell the difference between a quick download and a quick termination of your work position.

0

You could do this in theory, yes. I would really like to know why though.

What is the limiting factor of your bandwidth? The ISP, or Network Policy?

If the ISP is the limiting factor, no matter how many computers you use, your pipe wont get any wider. If it is a local network policy to throttle each computers bandwidth, you may have a valid reason...but this would most likely break your companies acceptable use policy, don't get fired!

If you were to do this, you would still need to re-assemble the file. I would like to give you a better solution, but I don't really understand the logic.

Do you have control of the source file, or is it something you are downloading publically. If you maintain the source, a multi-part archive like .rar would be very beneficial to you.

1
  • Well I'm on a LAN with policy of download speed up to max 50 KB/s for each computer but no policy conflict with downloading from several computers. And yes I am downloading a file from another website, I don't own the source, so I can't split it and download it from different locations.
    – ehsan0x
    Apr 21, 2013 at 12:43
0

If you have different computers on different networks (e.g one at home, one at your parent house, one computer at school) then you can use FTP to download parts of the file. (FTP usually has a resume option, so you can tell it to resume partway into the file and later concatenate the files back into one part. Of on windows copy /b the files back to one part.

If you have access to the source of the file you can improve this by splitting the file at the source, avoiding the need to tricky stuff. Most unix like computers have a command to split (1) a files into different pieces. On windows you might try Rar or zip to create multiple files.

However if the 50KiB/sec limit is the max speed at the site where you want to download from then it will not speed things up. You would end up like this:

  • Single download at 50 KiB/sec.
  • Two downloads at 25 KiB/sec each (total 50 KiB/sec).
  • Three downloads at 16 KiB/sec each (total 50 KiB/sec).
  • ....

If the site is limiting each single upload to 50 KiB/sec but has much more bandwidth then two things can happen.

  1. There are hundreds of downloads and the cap is to set to give fair access to everybody. If you start downloading multiple parts at 50KiB/sec each then you are cheating. If that cheating gets out of hand the source will take measures (e.g. ban your IP)
  2. If the limit is set at your work or by your ISP then these will take a dim view of your actions. You can expect a IT'er from work to walk up to your desk and ask to explain what you are doing, why you are doing it. And that is the gentle outcome.


A lot of these answers assume things. IF you want a clearer answer please add more information to your post. Right now all we can do is guess at many things.

2
  • My download speed is imposed by the network policy, the total download speed can exceed 3 M Byte/s if no restrictions imposed, so the 50 KB/s will not decrease even if all computers download simultaneously, and the website which I'm downloading from is not limiting my downloads either.
    – ehsan0x
    Apr 21, 2013 at 12:56
  • Best add that information to the original post where it will be more visible then here in a comment.
    – Hennes
    Apr 21, 2013 at 13:01
0

Just use common software such as CuteFTP, FileZilla or whatever. There is an option like multiple link or multiple sessions – as long as the FTP server supports FTP resume. Multiple link can speed up the download. It effectively multiples the speed by the number of sessions.

There is no use to do with more computers, since your outgoing IPs are the same, for which most download sites have set limits on the number of sessions per IP address.

Alternatively, use the FileZilla cloud or Torrent options, which actually download the file not from the primary source, but also from others who download the file. You are at risk of hitting trojans and viruses though. Be careful if you are doing that.

Actually I got most of my Windows and Unix packages using that, since they are signed packages and thus are safe after downloading. Checking certificate and MD5 hashes should prevent you from installing anything harmful, but about 6–8% are from bad sources.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .