Changes between Version 2 and Version 3 of ThirdPartyDataTransfer


Ignore:
Timestamp:
13/04/06 11:32:05 (14 years ago)
Author:
spascoe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ThirdPartyDataTransfer

    v2 v3  
    1 Since GridFTP is supposed to do 3rd party data transfer I decided to take a look at 
    2 [http://www.globus.org/alliance/publications/papers/GFD-R.0201.pdf the specification] and was surprised to discover that the FTP protocol already supports 3rd party transfer in theory, it is just rarely implemented. 
     1The issue of whether we need 3rd-party data transfer, and how it could be implemented in the DeliveryService, has been raised in ticket #107. 
     2 
     3Assuming we need some sort of 3rd-party transfer I see 3 options: 
     4 
     5 1. Live without dedicated 3rd-party transfer support in the DeliveryService. 
     6    Server to server data transfer can be implemented on a per service basis using 
     7    the DeliveryService in the standard client-server manner. 
     8 
     9 2. Implement 3rd-party transfer as a high-level service which calls the low-level data 
     10    transfer (presumably bbFTP) underneath.  Such a service would act as the server to a 
     11    controling client and a client to the other party to the data transfer. 
     12 
     13 3. Implement 3rd-party transfer at the xFTP protocol level.  See below for details about this. 
     14 
     15== Option 3. == 
     16 
     17Since GridFTP is supposed to do 3rd party data transfer I decided to take a look at the 
     18[http://www.globus.org/alliance/publications/papers/GFD-R.0201.pdf GridFTP specification] and was surprised to discover that the FTP protocol already supports 3rd party transfer in theory, it is just rarely implemented. 
    319 
    420Here is the relevant extract from [http://www.faqs.org/rfcs/rfc959.html RFC 959]: 
     
    3450I.e. One server is put in passive mode and one in active mode.  A good explanation of the difference can be found [http://slacksite.com/other/ftp.html here].  GridFTP states support for 3rd-party transfer in the specification.  In practice this means that both passive and active FTP commands are extended to support striping across multiple data ports. 
    3551 
    36 On a casual read of the specifications it appears that provided a server supports active mode, the main issue is with the client.  It must support making control connections to 2 servers simultaniously  and issueing the necessary PASV, PORT, STOR and RETR commands. 
     52On a casual read of the specifications it appears that, provided a server supports active mode, the main issue is with the client.  It must support making control connections to 2 servers simultaniously  and issueing the necessary PASV, PORT, STOR and RETR commands. 
    3753 
    38 Unlike GridFTP, bbFTP is not an extension of RFC-959.  However, it claims to support both passive and "non-passive" mode.  Therefore, it may be possible to adapt the client to do 3rd party transfer along the line shown above.  This may be a significant ammount of work and any consideration of it should be balenced against the work required to make GridFTP support NDG Security. 
     54Unlike GridFTP, bbFTP is not an extension of RFC-959.  However, it claims to support both passive and "non-passive" mode.  Therefore, it may be possible to adapt the client to do 3rd party transfer along the lines shown above.  This may be a significant ammount of work and any consideration of it should be balanced against the work required to make GridFTP support NDG Security.