File eXchange Protocol
# File eXchange Protocol

File eXchange Protocol (FXP; deutsch Dateiaustauschprotokoll) ist das im File Transfer Protocol definierte und dort unbenannte Verfahren, wie ein Client Dateiübertragungen zwischen zwei Servern steuert (Server-zu-Server). Die Dateien nehmen dabei nicht den Weg über den Client, wodurch Zeit gespart wird. Viele aktuelle FTP-Clients unterstützen FXP.

FXP nutzt sowohl den Active Mode wie auch den Passive Mode von Servern. Beim Active Mode öffnet der Client einen zufälligen Port und teilt dem Server diesen sowie die eigene IP-Adresse mittels des PORT-Kommandos mit. Der Server verbindet dann zu diesem Ziel, worauf der Datentransfer stattfinden kann. Beim Passive Mode wird dieses Prinzip umgedreht, der Client sendet ein PASV-Kommando, der Server öffnet einen Port und übermittelt diesen mitsamt IP-Adresse an den Client.

Beim FXP sendet der Client an einen FTP-Server ein PASV-Kommando und erhält zur Antwort dessen IP-Adresse und geöffneten Port. Nun sendet er an einen anderen FTP-Server ein PORT-Kommando, welches als Argument nicht die eigene IP-Adresse und Port enthält, sondern die Antwort des ersten FTP-Servers. Der zweite FTP-Server baut eine Datenverbindung zum ersten FTP-Server auf. Der Client kann nun an den zweiten FTP-Server ein RETR-Kommando und an den ersten ein STOR-Kommando übermitteln, um eine Dateiübertragung zu starten.

Wenn einer der beiden FTP-Server Probleme mit dieser Konstellation hat, also zum Beispiel der Ziel-Server keinen Passive Mode unterstützt, kann auch auf dem Quellen-Rechner das PASV-Kommando ausgeführt werden. Man spricht dann vom Alternative Mode.

Typischerweise sind FXP-Datenverbindungen zwischen den FTP-Servern unverschlüsselt. Um das zu umgehen, unterstützen manche FTP-Server und Clients den Befehl CPSV (statt PASV), um eine verschlüsselte Verbindung zwischen den Servern aufzubauen. Mittlerweile etabliert sich für verschlüsselte Transfers eine weitere Variante namens SSCN (set secured client negotiation) aufgrund guter Kompatibilität mit veralteten FTP-Clients. Beide Methoden, CPSV und SSCN, können jedoch anfällig für Man-in-the-Middle-Attacken sein, wenn keine Überprüfung des Zertifikates der Gegenstelle stattfindet.

