XIX. Fast download protocol

Hints

This is roughly a list of hints you must know about FAST download protocol:

  • When you start a FAST download, GHX creates 3 files. The data file (let’s call it filename),
    the ressource file (filename.rsrc) and a file named filename.fmp.
    NEVER erase the FMP file.
    The FMP file is automatically erased when the download is done.
  • Just after you start a FAST download, data and ressource files have their final size (when you do ‚ls‘) but doesn’t use the required amount of disk space (when you do ‚df‘, nothing has change). This is normal. The disk space will be progressively used.
  • You can perform a FAST download to resume either a FAST download or a normal download, there is no problem.
  • You can’t resume a FAST download using a normal download.
  • During a download, you can suddenly receive this message bad reference, transfer cancelled.
    This message appears only when the server doesn’t receive any information from client during 8 minutes. Just resume the FAST download as usual.

Download Speed

During all our tests we have found a relation between packet loss rate and packet transfer delay. This is the result we have obtained.

File size packet transfer delay(in ms) Report
According to ping result, no packets are lost during transfers.
any size <10ms Don’t use FAST download protocol, you will gain nothing but a speed reduction
< 2MB >30ms FAST download protocol doesn’t provide a significant speed change.
> 2MB >30ms FAST download protocol provides a significant speed change. During the test, the speed has
been multiplied by 13 (5MB file, 50-80ms delay)
Ping reports a 25% packet loss rate during transfers.
any size <10ms FAST download protocol doesn’t provide a significant speed change.
> 2MB >30ms FAST download protocol provides a significant speed change. During the test, the speed has
been multiplied by approximately 23 (5MB file, 120-150ms delay)
 

To conclude, you’d better use FAST download protocol to download big files if you have a big packet transfer delay and/or some packet loss. The protocol slows down when there is some packet loss (there is no miracle here) but compared to a normal transfer, the performance remains quite high.