4. FILE TRANSFER (Transfert de fichiers)
Cette section discute de deux protocoles de transfert de fichiers : le protocole de transfert de fichiers (File Transfer Protocol, FTP) et le protocole de transfert de fichiers trivial (Trivial File Transfer Protocol, TFTP).
4.1 FILE TRANSFER PROTOCOL -- FTP (Protocole de transfert de fichiers)
4.1.1 Introduction
Le protocole de transfert de fichiers (FTP) est un protocole pour le transfert de fichiers entre hôtes. FTP utilise deux connexions TCP parallèles : une connexion de contrôle pour les commandes et les réponses, et une connexion de données pour le transfert de fichiers.
Chaque hôte Internet qui supporte le transfert de fichiers DOIT implémenter FTP (MUST). Cependant, la capacité client FTP PEUT être implémentée (MAY) dans les hôtes qui ne nécessitent pas de services généraux de transfert de fichiers.
4.1.2 Protocol Walk-Through (Parcours du protocole)
Connexion de contrôle (Control Connection)
La connexion de contrôle FTP est une connexion Telnet utilisée pour envoyer des commandes FTP du client (USER-PI) au serveur (SERVER-PI) et pour retourner les réponses du serveur au client.
Les commandes FTP incluent :
- USER: Nom d'utilisateur
- PASS: Mot de passe
- ACCT: Compte
- CWD: Changer de répertoire de travail
- CDUP: Changer vers le répertoire parent
- SMNT: Montage de structure
- QUIT: Déconnexion
- RETR: Récupérer un fichier
- STOR: Stocker un fichier
- STOU: Stocker unique
- APPE: Ajouter
- ALLO: Allouer
- REST: Redémarrer
- RNFR: Renommer depuis
- RNTO: Renommer vers
- ABOR: Abandonner
- DELE: Supprimer
- RMD: Supprimer le répertoire
- MKD: Créer le répertoire
- PWD: Afficher le répertoire de travail
- LIST: Lister les fichiers
- NLST: Liste de noms
- SITE: Paramètres du site
- SYST: Système
- STAT: Statut
- HELP: Aide
- NOOP: Pas d'opération
Connexion de données (Data Connection)
La connexion de données FTP est utilisée pour le transfert de fichiers et les listes de répertoires. FTP supporte les modes actif (PORT) et passif (PASV) pour établir les connexions de données.
4.1.3 Specific Issues (Problèmes spécifiques)
4.1.3.1 FTP Restart Mechanism (Mécanisme de redémarrage FTP)
La commande FTP REST permet de redémarrer le transfert de fichier à un point de contrôle spécifié. Un serveur FTP DEVRAIT implémenter la commande REST pour RETR (SHOULD).
4.1.3.2 FTP TYPE Command (Commande TYPE FTP)
La commande TYPE spécifie le type de représentation (ASCII, EBCDIC, Image/Binaire, Local). Une implémentation FTP DOIT supporter au moins les commandes TYPE suivantes (MUST) :
- ASCII Non-print (TYPE A N)
- Image (TYPE I)
4.1.3.3 FTP PASV Command (Commande PASV FTP)
La commande PASV demande au serveur d'écouter sur un port de données et d'attendre une connexion. Un serveur FTP DEVRAIT implémenter PASV (SHOULD).
4.1.3.4 FTP PORT Command (Commande PORT FTP)
La commande PORT spécifie le port de données auquel le serveur doit se connecter. Un serveur FTP DOIT implémenter PORT (MUST).
4.1.4 FTP Requirements Summary (Résumé des exigences FTP)
| Fonctionnalité | Section | MUST | SHOULD | MAY | Remarque |
|---|---|---|---|---|---|
| Implémenter FTP | 4.1.1 | ✓ | |||
| Supporter TYPE A N | 4.1.3.2 | ✓ | |||
| Supporter TYPE I | 4.1.3.2 | ✓ | |||
| Implémenter PORT | 4.1.3.4 | ✓ | |||
| Implémenter PASV | 4.1.3.3 | ✓ | |||
| Implémenter REST pour RETR | 4.1.3.1 | ✓ |
4.2 TRIVIAL FILE TRANSFER PROTOCOL -- TFTP (Protocole de transfert de fichiers trivial)
4.2.1 Introduction
Le protocole de transfert de fichiers trivial (TFTP) est un protocole simple de transfert de fichiers construit sur UDP. TFTP est conçu pour les applications qui ne nécessitent pas la sophistication de FTP.
Un hôte Internet à usage général DEVRAIT implémenter la capacité client TFTP (SHOULD). Un hôte Internet à usage général PEUT implémenter la capacité serveur TFTP (MAY).
4.2.2 Protocol Walk-Through (Parcours du protocole)
TFTP utilise cinq types de paquets :
- Read Request (RRQ): Demande de lecture d'un fichier
- Write Request (WRQ): Demande d'écriture d'un fichier
- Data (DATA): Paquet de données de fichier
- Acknowledgment (ACK): Accusé de réception des données
- Error (ERROR): Condition d'erreur
4.2.3 Specific Issues (Problèmes spécifiques)
4.2.3.1 TFTP Timeout (Délai d'attente TFTP)
TFTP utilise un protocole stop-and-wait simple avec timeout et retransmission. Une implémentation TFTP DOIT utiliser un timeout adaptatif (MUST).
4.2.3.2 TFTP Options (Options TFTP)
TFTP supporte des extensions optionnelles incluant la négociation de la taille de bloc et la négociation du timeout. Ces options PEUVENT être implémentées (MAY).
4.2.4 TFTP Requirements Summary (Résumé des exigences TFTP)
| Fonctionnalité | Section | MUST | SHOULD | MAY | Remarque |
|---|---|---|---|---|---|
| Implémenter le client TFTP | 4.2.1 | ✓ | |||
| Implémenter le serveur TFTP | 4.2.1 | ✓ | |||
| Utiliser un timeout adaptatif | 4.2.3.1 | ✓ | |||
| Supporter les options TFTP | 4.2.3.2 | ✓ |