1. INTRODUCTION
2. VUE D’ENSEMBLE
2.1. HISTORIQUE
2.2. TERMINOLOGIE
2.3. LE MODELE FTP
3. FONCTIONS DE TRANSFERT DE DONNEES
3.1. REPRESENTATION DES DONNEES ET STOCKAGE
3.1.1. TYPES DE DONNEES
3.1.2. STRUCTURES DE DONNEES
3.2. ETABLISSEMENT DU CANAL DE DONNEES
3.3. GESTION DU CANAL DE DONNEES
3.4. MODES DE TRANSMISSION
3.4.1. MODE « FLUX »
3.4.2. MODE BLOC
3.4.3. MODE COMPRESSE
3.5. RECUPERATION D’ERREUR ET REPRISE DE TRANSMISSION
4. FONCTIONS DE TRANFERT DE FICHIERS
4.1. COMMANDES FTP
4.1.1. COMMANDES DE CONTROLE D’ACCES
4.1.2. COMMANDES DE PARAMETRAGE DU TRANSFERT
4.1.3. COMMANDES DE SERVICE FTP
4.2. REPONSES FTP
4.2.1 CODES DE REPONSE PAR GROUPES DE FONCTIONS
4.2.2 CODES REPONSE PAR ORDRE NUMERIQUE
5. SPECIFICATIONS DECLARATIVES
5.1. IMPLEMENTATION MINIMALE
5.2. CONNEXIONS
5.3. COMMANDES
5.3.1. COMMANDES FTP
5.3.2. ARGUMENTS DE COMMANDES FTP
5.4. SEQUENCEMENT DES COMMANDES ET REPONSES
6. DIAGRAMMES D’ETAT
7. SCENARIOS FTP TYPIQUE
8. ETABLISSEMENT DE LA CONNEXION
APPENDICE I – STRUCTURE DE PAGE
APPENDICE II – COMMANDES DE REPERTOIRE
APPENDICE III – RFC À PROPOS DE FTP
REFERENCES
1. INTRODUCTION
Les objectifs de FTP sont 1) de promouvoir le partage de fichiers (programmes informatiques et/ou données), 2) d’encourager l’utilisation indirecte ou implicite (via des programmes) d’ordinateurs distants, 3) de prémunir l’utilisateur contre les variations de formats de stockage de données entre les différents hôtes, et 4) de transférer les données d’une façon efficace et fiable. FTP, bien que directement utilisable par un utilisateur depuis un terminal, est néanmoins conçu essentiellement pour être utilisé par des programmes.
2. VUE D’ENSEMBLE
Dans cette section, l’historique, la terminologie, et le modèle FTP sont traités.
Les termes définis dans cette section sont seulement ce qui ont une signification particulière pour FTP. Certaines terminologies sont très spécifiques au modèle FTP;
2.1. HISTORIQUE
FTP a subi une grande évolution au fil des ans. L’appendice III est une compilation chronologique des RFC se rapportant à FTP. Elle inclue la première proposition de mécanisme de transfert de fichiers de 1971 qui avait été développée pour une application sur les hôtes du M.I.T. (RFC 114), plus des commentaires et discussions dans la RFC 141. La RFC 172 proposait un protocole de niveau utilisateur pour le transfert de fichiers entre ordinateurs (y compris des terminaux IMPs). Une révision de celui-ci (RFC 265), redonnait un état du FTP pour évolution ultérieure, tandis que la RFC 281 suggérait encore d’autres modifications. L’usage d’une transaction « Set Data Type » a été proposée dans la RFC 294 en Janvier 1982.
La RFC 354 a rendu les RFC 264 et 265 obsolètes. Le File Transfer Protocol était désormais défini comme un protocole de transfert de fichiers entre des hôtes d’un ARPANET, et dont la fonction première était définie comme le transfert efficace et fiable entre des hôtes pour profiter de l’utilisation d’une capacité de stockage de données distante. La RFC 385 apporte un correctif à certaines erreurs, développe certains points, et ajoute certaines notions au protocole, tandis que la RFC 414 définit le rapport d’état sur le serveur de travail et les « clients » FTP. La RFC 430 de 1973, (parmi d’autres trop nombreuses pour être mentionnées toutes) donnait des commentaires supplémentaires quant à FTP. Finalement, une documentation « officielle » FTP a été publiée sous la référence RFC 454.
2.2. TERMINOLOGIE
ASCII
Le jeu de caractères ASCII est celui défini par l’ARPA-Internet Protocol Handbook. Pour FTP, les caractères ASCII sont définis comme la moitié de l’ensemble donnée par un codage à huit bits (le bit de poids fort est toujours à 0).
Contrôle d’accès
Le contrôle d’accès définit les privilèges utilisateur nécessaires pour utiliser un système, et pour accéder à des fichiers dans ce système. Le contrôle d’accès est nécessaire pour éviter un usage accidentel ou non autorisé de ressources fichiers. Il est dans les prérogatives d’un processus serveur FTP d’invoquer ce contrôle d’accès.
Tailles d’octets
Deux tailles d’octets intéressent FTP: la taille des octets logiques du fichier, et la taille utilisée pour la transmission des données. La taille d’octet pour le transfert est toujours de 8 bits. Cette taille de transfert n’est pas nécessairement l’unité d’enregistrement logique du fichier dans le système, ni la taille des unités logiques permettant l’interprétation des structures de données.
Canal de contrôle
Le chemin de communication entre le USER-PI et le SERVER-PI pour l’échange de commandes et de réponses à commandes. Cette connexion utilise le protocole Telnet.
3. FONCTIONS DE TRANSFERT DE DONNEES
Seul le canal de données permet le transfert effectif des fichiers. La canal de contrôle n’est utilisé que pour le contrôle des commandes, qui indiquent les fonctions qui doivent être exécutées, ainsi que les réponses à ces commandes (voir la Section traitant des Réponses FTP). Plusieurs commandes concernent le transfert de données entre hôtes. Ces commandes de transfert incluent la commande MODE qui spécifie comment les bits de données doivent être transmis, ainsi que les commandes STRUcture et TYPE, qui sont utilisées pour définir la manière avec laquelle sont représentées les données.
Les fonctions de transfert de données et de fichiers (FTP) (267 KO) (Cours PDF)