Protocol | Performance on 10BaseT or 100BaseT | Performance on Gigabit | Encrypted? | Good for incremental transfers (transfer resumption) | Progress report | Works well in a pipeline? | Stable? |
NFS | Poor. Note that reads are faster than writes | Good, because it can take advantage of jumbo frames | Typically not, but can be combined with mcrypt or similar to a limited extent | No | None but can be combined with reblock or similar to a limited extent | Only as a source or sink, not both | If you get the right client/server pair, it can be very stable. However, there have been many interoperability problems historically |
rsh | Good | Can be rather poor, but perhaps if recompiled to use a larger block size it would be better | Typically not, but can be combined with mcrypt or similar | Quite good if combined with rsync | Typically none. OK if combined with rsync. Good if combined with reblock or similar | Yes | Yes |
ssh (OpenSSH) | Good | Poor. However, there are two or more sets of patches available for speeding it up somewhat (for example here). | Yes, normally | Quite good if combined with rsync | Typically none. OK if combined with rsync. Good if combined with reblock or similar | Yes | Yes |
ftp | Good | ? | Typically not, but can be combined with mcrypt or similar | If server and client support it, there is limited availability | Traditionally poor, but modern ftp clients like tnftp (formerly lukemftp) are good | Only as a source or sink, not both | Yes |
pnetcat | Good | Good - has an adjustable block size, maximizing the benefit of jumbo frames | Typically not, but can be combined with mcrypt or similar | No | None unless combined with reblock or similar | Can be a source and sink concurrently, but must be done as two different commands on the two different systems | Yes, but is relatively untested code |
You can e-mail the author with questions or comments: