Protocole FTP
Le protocole FTP (File Transfert Protocole) a pour objectifs de permettre :
un partage de fichiers entre machines distantes
une indépendance aux systèmes de fichiers des machines clientes et serveur
de transférer des données de manière efficace
Le protocole FTP s'inscrit dans un modèle client-serveur, c'est-à-dire qu'une machine envoie des ordres (le client) et que l'autre attend des requêtes pour effectuer des actions (le serveur).
Lors d'une connexion FTP, deux canaux de transmission sont ouverts :
Un canal pour les commandes (canal de contrôle) (port 21)
Un canal pour les données
Ainsi, le client comme le serveur possèdent deux processus permettant de gérer ces deux types d'information :
le DTP (Data Transfer Process) est le processus chargé d'établir la connexion et de gérer le canal de données.
le PI (Protocol Interpreter) est l'interpréteur de protocole permettant de commander le DTP à l'aide des commandes reçues sur le canal de contrôle.
L'échange de fichiers par un serveur FTP peut utiliser l'un de ces deux modes :
Mode actif : c'est le client FTP qui détermine sur quel port se feront les échanges de fichiers. Cette technique est la plus ancienne et pose bien souvent des problèmes à cause du pare-feu.
Mode passif : c'est le serveur FTP qui détermine le port d'échange des fichiers. C'est la technique recommandée aujourd'hui.
Remarque : Commandes FTP
Toutes les communications effectuées sur le canal de contrôle suivent les recommandations du protocole Telnet. Ainsi les commandes FTP sont des chaînes de caractères Telnet terminées par le code de fin de ligne Telnet (<CR> +<LF> )
Les commandes FTP permettent de préciser : le port utilisé, le mode de transfert des données, la structure des données, la nature de l'action à effectuer ...
On distingue trois types de commandes FTP : les commandes de contrôle d'accès, les commandes du paramétrage de transfert, les commandes de service FTP
Conseil :
L'utilisation du FTP peut se faire simplement à l'aide de clients FTP tel que :
navigateur web en mode ftp : ftp://......
clients spécifiques : Filezilla...