FTP vs. HTTP Download Speeds?

Discussion in 'Green Room' started by greggustin, Jan 29, 2007.

  1. greggustin

    greggustin OSNN Addict

    Messages:
    166
    I have a 2.7 gb file I want to Xfer to a friend
    http is easier for me, but I CAN make a ftp site for him
    (I have a server with plenty of space and Bandwidth)

    how much faster for him to DL with FTP vs HTML
    or is there any difference?

    he has a 3Mbit DSL
     
  2. madmatt

    madmatt Bow Down to the King Political User

    Messages:
    13,312
    Location:
    New York
    Thread moved/renamed.

    Please be more specific with thread titles.
     
  3. Brad

    Brad Moderator Political User Folding Team

    Messages:
    2,280
    Location:
    Cary, NC
    FTP would be faster due to less overhead. Fastest would probably be burn the file to a DVD and then give the disc to him.
     
  4. j79zlr

    j79zlr Glaanies script monkey Political User

    Messages:
    2,725
    Location:
    Chicago
    Doesn't matter what his download speed is, if you are hosting the http/ftp server the limit will be your upload speed.
     
  5. Brad

    Brad Moderator Political User Folding Team

    Messages:
    2,280
    Location:
    Cary, NC
    A bit more information for you. TCP (http) uses a checksum after every packet to ensure the packet was received, UDP (FTP) does not use this checksum, so you can squeeze a little bit more throughput out of the connection.

    Yes, j79zlr, you are correct. The bottleneck is going to be the lowest connection speed. If the OP has an offsite webhost, most likely the bottleneck is going to be the downloader's connection. However, if the OP is hosting the file on his own computer, then the bottleneck is most likely going to be OP's connection.
     
  6. greggustin

    greggustin OSNN Addict

    Messages:
    166
    thanks guys
    here is more info
    I am in Florida
    he is in Japan
    so, sending DVD is LAST resort

    I have 8Mbit DL to my home office and only .8Mbit upload
    so, yes - THAT is the limit when I Upload to my company server

    hmmm . ..
    is there a way I get "Act" as a server here at home for him?
    ( I do not use any of the P2P programs - and Do not want anyone (even him) to have open access to my computer)
    is there a way to do that? or just be simple and upload to my public server 1st
    ( I do have Wampser here at home)

    and to those that say FTP is faster because of no checksums
    ok - got it - but how much faster in THIS case?

    thanks
     
  7. American Zombie

    American Zombie Moderator Staff Member Political User

    Messages:
    2,934
    Location:
    Seattle
    You could run Filezilla Server then setup your friend with a name and password so only they could login and download files.
     
  8. greggustin

    greggustin OSNN Addict

    Messages:
    166
    hmm
    looks ok
    I went to filezilla
    not much info
    guess I am turning my home cpu into a ftp server?
    I have run bullttproofFTP - guess it is similar?
    then I guess I make a folder and assign him a username/pwd?
    hmm
    my ip is to my router
    will I need to port fwd?
    or how else will he get into 'his folder"

    thanks
     
  9. American Zombie

    American Zombie Moderator Staff Member Political User

    Messages:
    2,934
    Location:
    Seattle
  10. fitz

    fitz Just Floating Along Staff Member Political User Folding Team

    Messages:
    4,076
    Location:
    Chicagoland
    You'll need to give him an account to login with (assuming you don't want anonymous logins) and yes.. you'll have to forward yoru ports. Unless you are using PassiveFTP (which I would suggest doing) you will have to open up port 20 and 21 for full FTP functionality/connectivity (again, unless you use PASV FTP mode - which, I again suggest using so you don't have to open/forward multiple ports on your firewall).

    Actually, FTP is also TCP driven. Unless you are doing a TFTP which is UDP based and much less secure, FTP is also TCP packets since it needs to guarantee packet delivery.

    edit: honestly, if you are going to host it off your machine and all you want to do have the user download (ie: he's not going to send you any files), it would probably be easier just to setup a basic web site with anonymous access turned off and a single page with a link to the file you want him to download.
    I don't think there will be a significant speed difference - the biggest bottleneck (as has been pointed out) is your upload speed. Not much going to make it any better FTP/TFTP/HTTP/etc.. going across an overseas link will introduce a lot of latency in the transfer as well.

    edit2:
    a 800kb/s link equates to ~5.5MB/min transfer rate upload. Which means your 2.7GB file will take over 8 hours to upload in a best case scenario. If you are hosting this on your machine at your place, you need to make sure your link and computer stay up for the entire transfer (Not sure if you are one that shuts off their machines at the end of the day or not)
     
    Last edited: Jan 29, 2007
  11. greggustin

    greggustin OSNN Addict

    Messages:
    166
    I looked in router setup
    did not see this PASV thing,
    is that in the Router (linksys WRT54G) or in the ftp program?

    this is what I have awalys done in the past
    but my new hoster is so LAME
    I used to give out a URL/sub-folder link with nothing in the folder but the target file (ie no index.html) and the surfer would get a file listing and then just download the file
    but NOW - I have to actually make a web page with a linked-text to the DL file (yes - only about 5-10 minutes to make, etc, but a pain - nonetheless)

    the latency is not an issue - once connected :p

    edit2:
    I predicted 10 hours, and so far - seems to be right on track
    I am actually getting 73-75 KB/s on my upload ( for past 3.5 hours)

    part of the logic was - if he could fetch right from my computer, he would have the file in 10 hours, but this way, it is 20 hours
    (ie 10 for my upload and 10 for his download)

    but as that is not critical, I figured - better to have it own my server (vs my home computer), in case others needed it, or he gets an interruption

    thanks
    ps
    as you have all given such good advice
    my original question remains -
    how much faster is FTP vs HTML DL at a given Bandwidth?
    1% 5% 10% ?? just curios
     
  12. American Zombie

    American Zombie Moderator Staff Member Political User

    Messages:
    2,934
    Location:
    Seattle
    Here is how to forward the ports on your router for FTP.
     
  13. fitz

    fitz Just Floating Along Staff Member Political User Folding Team

    Messages:
    4,076
    Location:
    Chicagoland
    Beyond forwarding ports on routers, setting PASV mode FTP is really a two step process:

    1) Making sure yoru FTP Server program supports it (I believe most modern ones will support it out of the box without making any changes to the default settings - it's been a while since I played with smaller FTP Server programs)
    2) Directing the end user to setup their FTP Client to use it (depends greatly on what client they are using. Internet Explorer will support PASV FTP mode by default i believe)

    This would be a function of the server allowing directory browsing. I'm surprised you had a host that had it enabled. Most will disable it for security issues. you might ask them if they can enable it for you on your site..

    Latency is still an issue as an overseas trip will generally require more hops over more routers meaning greater trip time for each packet sent as well as longer trip times for the ACK (remember, this is TCP connection and requires the ACK) to come back which means possible missed windows requiring possible retransmission of packets/data meaning longer transfer times.

    You said the person you are sending it to as a 3mbs downstream connection - assuming your hosting provider has a better upload speed of 800kbs, it shouldn't take him 10 hours to download it of your hosting provider.

    Well, my personal observations would be that there is little speed gained on an HTTP download vs. an FTP download. All cases being equal (ie: an HTTP server and an FTP server only serving a single connection/transfer on an equal network connection) the speed differences would be negligible. I have no hard evidence to back up this claim.. just my own observations. From a technical perspective, since they both use TCP, the underlying transport mechanism is the same.. so assuming all other things being equal (similar configured systems, TCP settings, window size, no use of download accelerators, etc) the data transfer should be about the same. It becomes an application implementation issue. On a single really large file transfer, I can see how FTP may gain some speed the larger the transfer required since an FTP header I believe is slightly smaller than an HTTP header allowing it to squeeze a little more.. but on a small file transfer, HTTP may be faster since there is more overhead in establishing an FTP session compared to an HTTP session.

    This is also assuming your ISP isn't filtering FTP traffic as some of the more draconian service providers don't like seeing FTP transfers.
     
    Last edited: Jan 29, 2007
    Aprox likes this.
  14. greggustin

    greggustin OSNN Addict

    Messages:
    166
    thanks to all
    as I have just uploaded the whole file to my server
    I will make an http page for him to make easier on him

    and I tried to get the server hosting company to allow the directory listing
    but they refused (I used to keep all my potentially needed files in a remote folder when I traveled - now I cannot)
     
  15. fitz

    fitz Just Floating Along Staff Member Political User Folding Team

    Messages:
    4,076
    Location:
    Chicagoland
    well.. you could write a quick/dirty asp/php page to generate a dynamic directory listing..