File Exchange Protocol
File Exchange Protocol ( FXP ) is the transfer in the File Protocol defined and there unnamed method that a client file transfers between two servers controls ( server-to- server). The files do not take this the way through the client, thereby saving time. Many current FTP clients support FXP.
FXP is a utilization of simultaneous active mode and passive mode. In the active mode, the client opens a random port and informs the server of this as well as its own IP address using the PORT command with. The server then connects to this goal, and then the data transfer can take place. In Passive Mode, this principle is reversed, the client sends a PASV command, the server opens a port and sends this together with the IP address to the client.
When FXP, the client sends to an FTP server a PASV command and receives the reply its IP address and open port. Now he sends a PORT command, which does not contain as an argument its own IP address and port, but the answer of the first FTP server to another FTP server. The second FTP server establishes a data connection to the first FTP server. The client can now be sent to the second FTP server RETR command to the first and a STOR command to start a file transfer.
If one of the FTP server problems with this constellation, so for example, the target server does not support passive mode, can also be performed on the source computer, the PASV command. One then speaks here of alternative fashion.
Typically FXP data connections between the FTP servers are unencrypted. To work around this problem, some FTP servers and clients support the CPSV command (instead of PASV) to establish an encrypted connection between the servers. Meanwhile, established for encrypted transfers another variant called SSCN due to good compatibility with obsolete FTP client. Both methods CPSV and SSCN, but may be vulnerable to man -in-the -middle attacks when no validation of the certificate of the remote site takes place.