downloading with curl using multiple connections
It's possible. Fetch the total file size with -I
option in curl.
Then you can fork many process in a shell, every curl
connection with a different Content-Length
header to download different part of the file.
After all the tasks finish, then merge all the download slices to a big file.
I have written a simple script and it's available here mcurl.sh, with -s
option you can specify how many tasks you create to download the big file.
No, the curl tool has no such ability built-in. To do it with curl, you need to invoke it multiple times with range downloads.
(oh and btw, a large RTT is very rarely the explanation to why a plain TCP transfer is slow)