ftp and python

John Nagle nagle at animats.com
Thu Apr 8 15:08:36 EDT 2010

Anssi Saari wrote:
> John Nagle <nagle at animats.com> writes:
>>     In theory, the FTP spec supports "three-way transfers", where the
>> source, destination, and control can all be on different machines.
>> But no modern implementation supports that.
> I remember even using that way back when, Unix machines in the 1990s. 
> But, server to server transfers are supported even today, since it's
> part of the RFC. RFC959 explains how it's done in chapter 5.2. Usually
> this is called FXP now. 
> http://en.wikipedia.org/wiki/Comparison_of_FTP_client_software lists a
> bunch of clients with FXP support. I don't know about doing this with
> ftplib, though.

    Although the protocol allows setting up a 3-way transfer, many
FTP servers disallow data connections to an IP address different
from the control address.  It's a security risk.

    It's useful when you want to move data between machines with high
bandwidth connections, as within a server farm, and the control machine
has less bandwidth.  But there are more modern approaches for that.

				John Nagle

More information about the Python-list mailing list