File eXchange Protocol

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

File eXchange Protocol (FXP) est un protocole de transfert de fichiers dérivé de FTP. Il permet de transférer des données d'un serveur à l'autre depuis un client, sans faire passer les données par le client.

FXP n'est pas standardisé en tant que tel par l'IETF, mais il est mentionné sous le nom de server-server interaction dans la RFC 959.

Applications[modifier | modifier le code]

  • Le FXP permet par exemple de réaliser un miroir.
  • Il est beaucoup utilisé pour diffuser du contenu rapidement, par exemple dans le domaine du warez

Fonctionnement[modifier | modifier le code]

Le protocole FXP est une technique particulière d'utilisation du protocole FTP.

Par défaut, un serveur FTP est serveur pour les échanges au regard de la signalisation (on vient se connecter à lui) mais paradoxalement client au regard des transferts de données (c'est lui qui vient se connecter pour procéder aux téléchargements montant ou descendant).

Il est cependant possible d'utiliser un serveur FTP en serveur pur (signalisation et données), pour cela, on bascule la session en mode dit "passif". Au moment d'établir la connexion de données, le client demande à un serveur d'attendre la connexion (commande PASV), et capture l'adresse IP et le port TCP écouté. Ces deux paramètres sont envoyés à l'autre serveur en utilisant la commande PORT. À partir de là, la connexion de données est établie entre les deux serveurs.

La possibilité de transférer directement un fichier, entre deux serveurs FTP sans passer par le client, vient notamment du fait que l'on puisse basculer l'un de ces deux serveurs en mode passif alors que l'autre se trouvera par défaut en mode actif.

Le client est informé de la fin du transfert en recevant une réponse positive de chaque serveur.

Prenons le cas d'un transfert de fichier entre le serveur FTP A et le serveur FTP B :

  1. Le client se connecte aux deux serveurs
  2. Le client bascule alors en mode passif l'un des deux serveurs et obtient les coordonnées de connexion (couple IP + port)
  3. Le client fourni au second serveur, qui est encore en mode actif, les coordonnées de connexion du premier serveur

À partir de ce moment-là, pour faire passer un fichier d'un serveur à l'autre, le client n'a plus qu'à informer le serveur destinataire qu'il envoie un fichier puis le serveur expéditeur qu'il souhaite récupérer un fichier donné. Le fichier est alors directement échangé entre les deux serveurs FTP distant.

Il est important de noter que la transmission des données est possible dans les deux sens, du serveur actif vers le passif et vice-versa.

Sécurité[modifier | modifier le code]

FXP peut rendre un serveur vulnérable à un exploit connu sous le nom « FTP bounce ». C'est pourquoi il est souvent désactivé par défaut.

Il est possible de sécuriser l'échange de données entre serveurs par SSL ou TLS.

Logiciels prenant en charge le protocole FXP[modifier | modifier le code]