Table des matières

FTP : File Transfert Protocol.

Introduction

Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication dédié à l’échange de fichiers sur un réseau.
Il permet, depuis un ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du réseau, d’administrer un site web, ou encore de supprimer ou modifier des fichiers sur cet ordinateur.

Protocole applicatif pour le transfert de fichiers sur Internet. Le recours à ce protocole est nécessaire pour transférer son site Web d’une machine locale au Web mondial.

Le FTP (File Transfert Protocol) est un protocole de transfert de fichiers à travers le réseau, il permet de charger les fichiers et pages de votre site internet ou à l’inverse de télécharger vos fichiers. FTP obéit à un modèle client-serveur, c’est-à-dire qu’une des deux parties, le client, envoie des requêtes auxquelles réagit l’autre, appelé serveur.

Le serveur est une machine analogue à votre ordinateur sur laquelle travaille un logiciel qui porte le même nom, aussi appelé serveur FTP, qui rend publique une arborescence de fichiers similaire à un système de fichiers Unix.

Pour accéder à un serveur FTP, on utilise un logiciel client FTP (possédant une interface graphique ou en ligne de commande)2).

Quelle différence entre NFS/FTP ?

FTP L’abréviation de File Transfer Protocol, le protocole utilisé sur l’Internet pour échanger des dossiers. Le FTP fonctionne comme le HTTP pour les pages Web de transfert d’un serveur au navigateur d’un utilisateur et le SMTP pour le courrier électronique de transfert à travers l’Internet. Pour cela, comme ces technologies, FTP utilise les protocoles du TCP/IP de l’Internet. Le FTP est le plus utilisé généralement pour télécharger un dossier d’un serveur utilisant l’Internet ou pour envoyer un dossier à un serveur.

NFS3) L’abréviation de Network File System, est un client/application serveur conçu par Sun Microsystems qui permet à tous les utilisateurs de réseau d’accéder à des fichiers centraux communs stockés sur des ordinateurs de différents types, par une interface appelée système de fichiers virtuel (VFS) qui fonctionne sur TCP/IP.
Les utilisateurs peuvent ainsi accéder aux fichiers centraux communs comme si ces derniers étaient stockés localement sur leurs propres disques durs.
Avec le NFS les ordinateurs reliés à un réseau fonctionnent comme clients en accédant aux dossiers à distance, et comme serveurs en permettant aux utilisateurs distants d’accéder aux fichiers centraux communs en local. Les normes de NFS sont publiquement disponibles et employées couramment.

Mais encore ?

Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication dédié à l’échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du réseau, d’administrer un site web, ou encore de supprimer ou modifier des fichiers sur cet ordinateur.

La variante sécurisée de FTP avec les protocoles SSL ou TLS s’appelle FTPS.

FTP obéit à un modèle client-serveur, c’est-à-dire qu’une des deux parties, le client, envoie des requêtes auxquelles réagit l’autre, appelé serveur. En pratique, le serveur est un ordinateur sur lequel fonctionne un logiciel lui-même appelé serveur FTP, qui rend publique une arborescence de fichiers similaire à un système de fichiers Unix. Pour accéder à un serveur FTP, on utilise un logiciel client FTP (possédant une interface graphique ou en ligne de commande).

Le protocole, qui appartient à la couche session du modèle OSI et à la couche application du modèle ARPA, utilise une connexion TCP.

Il peut s’utiliser de deux façons différentes :

Mode actif

C’est le client FTP qui détermine le port de connexion à utiliser pour permettre le transfert des données. Ainsi, pour que l’échange des données puisse se faire, le serveur FTP initiera la connexion de son port de données (port 20) vers le port spécifié par le client. Le client devra alors configurer son pare-feu pour autoriser les nouvelles connexions entrantes afin que l’échange des données se fasse. Ce mode est donc moins sécurisé que le FTP passif pour le client. De plus il peut s’avérer problématique pour les utilisateurs essayant d’accéder à des serveurs FTP lorsqu’ils sont derrière une passerelle NAT. Vu la façon dont fonctionne la NAT, le serveur FTP initie la connexion de données en se connectant à l’adresse externe de la passerelle NAT sur le port choisi. La passerelle NAT n’ayant pas de correspondance pour le paquet reçu dans sa table d’état le paquet sera ignoré et ne sera pas délivré au client.

Mode passif

Le serveur FTP détermine lui-même le port de connexion à utiliser pour permettre le transfert des données (data connexion) et le communique au client. Dans le cas de l’existence d’un pare-feu devant le serveur FTP celui-ci devra être configuré pour autoriser la connexion de données. L’avantage de ce mode, est que le serveur FTP n’initie aucune connexion. Dans le cas des clients FTP sur un réseau local, ce mode est beaucoup plus sécurisé que le FTP en mode actif, car le pare-feu ne devra laisser passer que les flux sortant vers internet pour permettre aux clients d’échanger des données avec le serveur. Il fonctionne donc sans problèmes avec une passerelle NAT. Deux ports sont standardisés (well known ports) pour les connexions FTP : le port 21 pour les commandes et le port 20 pour les données.

Types de connexions TCP

Le protocole utilise deux types de connexions TCP

  1. Une connexion de contrôle initialisée par le client, vers le serveur (port 21 en général), pour transmettre les commandes de fichiers (transfert, suppression de fichiers, renommer un fichier, liste des fichiers, …).
  2. Une connexion de données initialisée par le client ou le serveur pour transférer les données requises (contenu des fichiers, liste de fichiers).

Liens utiles vers le forum

Pour transférer des fichiers binaires (par opposition aux fichiers texte ascii, des archives *.tar dans mon cas), il faut passer ftp en mode binaire avec le mot clé “binary” avant le “get”ou le “put”, sinon les fichiers sont corrompus :

Merci de cette précision arnaud.trajets :-)

Exemple

Liens et remerciement

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
3)
Voir : nfs