File Transfer Protocol

Norme utilisée par Up ! File Transfer Service

La norme File Transfer Protocol (FTP) décrit comment envoyer un fichier d'un client vers un serveur ou recevoir un fichier depuis un serveur vers un client.

La communication au format File Transfer Protocol (FTP) s'effectue sur deux flux dont le transport est TCP-IP :

La communication sur le flux de contrôle est à l'initiative du client : il pose une requête et le serveur répond. Une requête est une ligne de texte comportant une des commandes suivantes :

La ligne de la requête est terminée par les caractères saut de ligne \r et retour chariot \n.

La réponse à la requête est une ou plusieurs lignes de texte comportant :

Les lignes de la réponse sont terminées par les caractères retour chariot \r et retour chariot \n.

Codifications utilisées par Up ! File Transfer Service

Commande MODE

CodeSémantique
SMode flux.
BMode bloc.
CMode compressé.

Commande STRU

CodeSémantique
FStructure flux.
PStructure page - obsolète.
RStructure enregistrement.

Commande TYPE

CodeSémantique
AType texte en Ascii.
A NType Ascii sans impression.
A TType Ascii pour Telnet.
A CType Ascii pour Fortran.
EType texte en Ebcdic.
E NType Ebcdic sans impression.
E TType Ebcdic pour Telnet.
E CType Ebcdic pour Fortran.
IType binaire.
L 8Type texte dans la page de code locale.

Messages de File Transfer Protocol

Voici les messages déclarés dans la norme :

110 Restart marker reply. 120 Service ready in nnn minutes. 125 Data connection already open; transfer starting. 150 File status okay; about to open data connection. 200 Command okay. 202 Command not implemented, superfluous at this site. 211 System status, or system help reply. 212 Directory status. 213 File status. 214 Help message. 215 ${NAME} system type. 220 Service ready for new user. 221 Service closing control connection. 225 Data connection open; no transfer in progress. 226 Closing data connection. 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 230 User logged in, proceed. 250 Requested file action okay, completed. 257 "${PATHNAME}" created. 331 User name okay, need password. 332 Need account for login. 350 Requested file action pending further information. 421 Service not available, closing control connection. 425 Can't open data connection. 426 Connection closed; transfer aborted. 450 Requested file action not taken. 451 Requested action aborted. Local error in processing. 452 Requested action not taken. 500 Syntax error, command unrecognized. 501 Syntax error in parameters or arguments. 502 Command not implemented. 503 Bad sequence of commands. 504 Command not implemented for that parameter. 530 Not logged in. 532 Need account for storing files. 550 Requested action not taken. 551 Requested action aborted. Page type unknown. 552 Requested file action aborted. 553 Requested action not taken.

Syntaxe d'une conversation au format File Transfer Protocol

Commandes : Commande : SuiteTaille : SuiteAide : SuiteListe : SuiteSite : SuiteStatistiques :

Exemple d'une conversation au format File Transfer Protocol

Cette conversation ne concerne que le flux de contrôle :

USER scott\r\n PASS tiger\r\n SITE\r\n PORT 192,15,8,8,16,120,0\r\n CWD "/pub"\r\n NLST "essai.*"\r\n LIST "essai.doc"\r\n LIST "essai.txt"\r\n REFR essai.txt\r\n RETO essai2.txt\r\n STOR essai.txt\r\n RETR essai.doc\r\n QUIT\r\n