Vous êtes sur la page 1sur 27

Administration des

1
Services Réseaux

TR 811
Administration des Services Réseaux

Chapitre V
Les services de messagerie (SMTP)
et transfert de fichiers (FTP)

Dr. H. Zerrouki
<zerrouki.hadj@gmail.com>

UABBT, Faculté de Technologie


2016 – 2017

DÉPARTEMENT
Télécommunications

Administration des
2
Services Réseaux

Plan de cours

Partie I : Simple Mail Transfer Protocol (SMTP)

Serveurs de messagerie
Fonctionnement et Architecture
Le protocole SMTP
Remise et réception des messages

Partie II : File Transfer Protocol (FTP)

Serveurs FTP
Protocole FTP
Fonctionnement du FTP

1
Administration des
3
Services Réseaux

Partie I :

Simple Mail Transfer Protocol (SMTP)

• Le courrier ou la messagerie électronique est aujourd’hui l’une des applications


les plus populaires du réseau.

• Utilisé pour des applications très variées - personnelles, professionnelles,


associatives, politiques, etc., celui-ci tend à prendre une place de plus en plus
prépondérante par rapport aux moyens de communication traditionnels.

• La messagerie électronique s’appuie principalement sur des serveurs de


messagerie, des protocoles de transport ainsi que sur des protocoles de
contenu..
Dr. H. Zerrouki

Administration des
4
Services Réseaux

Serveurs de messagerie
Introduction
• SMTP (Simple Mail Transfer Protocol): protocole simple de transfert de courrier.
• Il a été créé dans les années 1970, aux débuts d'Internet.
• en 1982 qu'il est spécifié par la RFC 821 et devient un standard.
• SMTP a commencé à être massivement utilisé au début des années 1980.
• Il sert principalement à envoyer des mails.
• Il s'agit d'un protocole de transmission et non de réception. Cependant, les
serveurs de messagerie utilisent SMTP pour faire les deux.
• Tandis que les clients de messagerie utilisent SMTP pour l'envoi et un autre
protocole (POP ou IMAP) pour la réception.
Dr. H. Zerrouki

2
Administration des
5
Services Réseaux

Serveurs de messagerie
Introduction
• La messagerie électronique n’est pas un service point à point , ce qui signifie
que les machines émettrices et réceptrices des messages n’ont pas besoin d’être
reliées ensemble directement pour pouvoir communiquer.
• Les messages sont transmis d’une machine à l’autre à travers le réseau Internet
jusqu’à leur destination finale. Ces machines qui sont chargées d’acheminer et
de réceptionner le courrier électronique sont appelées serveurs de messagerie.
• Transmission asynchrone : Pour recevoir ses courriers électroniques, il n’est
donc pas nécessaire d’être connecté en permanence. A chaque nouvelle
connexion, il sera possible de récupérer tous les derniers messages envoyés sur
son adresse électronique..
• Chaque e-mail est stocké sur un serveur avant d’être lu. Même si chaque boîte
aux lettres est protégée par un identifiant et un mot de passe.
• Lorsqu’un correspondant interroge sa boîte aux lettres électronique, il rapatrie
(ramène) ses messages qui se trouvent sur son serveur de courrier.
Dr. H. Zerrouki

• Il utilise le service de transfert de données fiable TCP pour transférer le courrier.

Administration des
6
Services Réseaux

Fonctionnement de messagerie Internet


Système de messagerie internet
• L’e-mail modern a de nombreuses fonctionnalités puissantes, y compris les
messages avec pièces jointes, des hyperliens, au format HTML et photos
intégrées.
• Les User Agent, UA (agents d’utilisateurs) permettent aux utilisateurs de lire,
répondre, transférer, enregistrer et composer des messages. Microsoft Outlook,
Google mail (Gmail), Yahoo Mail et Apple Mail sont des exemples d'agents
utilisateurs pour l’e-mail.
• Quand user1 fini de composer son message, son UA envoie le message à son
serveur de messagerie, où le message est placé dans le message sortant du
serveur de messagerie la file d'attente. Quand user2 veut lire un message, son
agent utilisateur récupère le message à partir de sa boîte aux lettres dans son
serveur de messagerie.
• Quand user2 veut accéder aux messages dans sa boîte aux lettres, le serveur
de messagerie contenant sa boîte aux lettres authentifie user2 (avec les noms
Dr. H. Zerrouki

d'utilisateur "login" et mots de passe "password").

3
Administration des
7
Services Réseaux

Fonctionnement de messagerie Internet

Trois grandes composantes :


• les agents utilisateurs (User Agent en anglais),
• serveurs de messagerie (Mail Servers en anglais),
• et le Simple Mail Transfer Protocol (SMTP).
Dr. H. Zerrouki

Administration des
8
Services Réseaux

Fonctionnement de messagerie Internet


Architecture modulaire d’un système de messagerie
Dr. H. Zerrouki

4
Administration des
9
Services Réseaux

Fonctionnement de messagerie Internet


Système de messagerie internet

Explication :

• Etape 1 : Un usager user1 compose, avec l’aide de son client de messagerie du


domaine1.fr (MUA Mail User Agent) un message.

• Etape 2 : Le message est transmis au MTA (Mail Transfer Agent) de l’usager


user1 (son serveur de messagerie en SMTP).

• Etape 3 : Le message est transmis au serveur de messagerie du destinataire


par le protocole (SMTP).

• Etape 4 : Le serveur du destinataire transmet le message à un agent : notion


d’agent MDA (Mail Delivery Agent).
Dr. H. Zerrouki

Administration des
10
Services Réseaux

Fonctionnement de messagerie Internet


Système de messagerie internet

Explication :

• Etape 5 : Le MDA stocke le courrier dans la boite à lettres du destinataire.

• Etape 6 : Sur requête du destinataire dans le cadre d’un protocole de relève POP
ou IMAP les messages sont extraits de la boite à lettre par un agent :
MAA (Mail Access Agent).

• Etape 7 : Les messages sont transmis au client de messagerie utilisateur


(protocoles POP ou IMAP). Ils sont stockés dans des boites à lettre client.

• Etape 8 : Le destinataire user2 consulte ses messages en utilisant son client de


messagerie (MUA) du domaine2.com.
Dr. H. Zerrouki

5
Administration des
11
Services Réseaux

Fonctionnement de messagerie Internet


Principes d'envoi
• Le transfert de messages entre serveurs de messagerie électronique se fait
généralement sur le port 25 qui est le port standard enregistré auprès de l'IANA. Les
serveurs utilisent les enregistrements MX des serveurs DNS pour acheminer le courrier.
• Les clients de messagerie utilisaient aussi le port 25 (SMTP) pour soumettre des
messages en utilisant le protocole SMTP. Mais la nécessité de mieux contrôler les envois
des clients, en particulier par l'authentification, a conduit à l'attribution du port 587
(submission) sécurisé.
• Les administrateurs de serveur peuvent choisir
– si les clients utilisent le port TCP 25 (SMTP)
– ou le port 587 (soumission),
• pour relayer le courrier sortant vers
un serveur de messagerie.

• Les spécifications et de nombreux


serveurs supportent les deux..
Dr. H. Zerrouki

Administration des
12
Services Réseaux

Fonctionnement de messagerie Internet


Exemple d'envoi d’un e-mail
Supposons qu'Alice souhaite envoyer un message Bob ASCII simple.
1) Alice invoque son agent utilisateur pour le courrier électronique, fournit l'adresse e-
mail de Bob (pour Ainsi, bob@someschool.edu), compose un message, et charge
l'agent utilisateur pour envoyer le message.
2) L’agent utilisateur d'Alice envoie le message à son serveur de messagerie, où il
est placé dans un Message Queue.
3) Le côté client du protocole SMTP, fonctionnant sur le serveur de messagerie
d'Alice, voit dans le message la file de messages. Il ouvre une connexion TCP vers
un serveur SMTP, fonctionnant sur le serveur de messagerie de Bob.
Dr. H. Zerrouki

6
Administration des
13
Services Réseaux

Fonctionnement de messagerie Internet


Principes d'envoi d’un e-mail

4) Après quelques traitements SMTP initiaux, le client SMTP envoie le message


d'Alice dans la connexion TCP.
5) AU serveur de messagerie de Bob, le côté serveur SMTP reçoit le message. Le
serveur de messagerie de Bob met alors le message dans la boîte aux lettres de
Bob.
6) Bob invoque son agent utilisateur pour lire le message à sa convenance.
Dr. H. Zerrouki

Administration des
14
Services Réseaux

Le protocole SMTP
Le format des messages SNMP
Le corps du message est séparé de l’en-tête par une ligne vide ce qui correspond aux deux
caractères ASCII Carriage Return (CR, 0x0D) et LineFeed (LF, 0x0A).

MIME (Multipurpose Internet Mail Extension) : permet de


Dr. H. Zerrouki

définir une structure et des règles d’encodage pour le corps du


message permettant de faire transiter des informations dans
un format autre que ASCII.

7
Administration des
15
Services Réseaux

Le protocole SMTP
Le format des messages SNMP
Un mécanisme de partage du message en différentes zones délimitées par une chaîne de
caractères définie dans le paramètre « boundary » permet d’inclure plusieurs éléments de
différentes natures, par exemple texte, image, vidéo, audio ou application.
Dr. H. Zerrouki

Exemple de message au format MIME

Administration des
16
Services Réseaux

Le protocole SMTP
Format d'adressage
• SMTP base son adressage sur la structure d’un réseau IP.
• Un utilisateur est identifié par son nom, associé à un nom de machine hébergeant
sa boîte aux lettres.
• La machine est identifiée par son adresse IP, respectivement par son nom DNS
(Domain Name System).
• Une adresse d’utilisateur a la forme suivante :

utilisateur@nom_DNS_de_machine

hadj.zerrouki@mail.univ-tlemcen.dz
Dr. H. Zerrouki

8
Administration des
17
Services Réseaux

Le protocole SMTP
Les commande SMTP
Les commandes sont des chaînes de caractères transmises sur la connexion établie
entre agents de transfert de messages. Elles sont constituées d'un code de commande,
éventuellement suivi d’un ou de plusieurs arguments.

Réponses SMTP
Les réponses aux commandes SMTP servent à assurer la synchronisation des
requêtes et des actions dans le processus de transfert de courrier, afin de garantir que
le client SMTP connaisse toujours l'état du serveur SMTP.

Une réponse SMTP est constituée d'un nombre à trois chiffres suivis d'un texte.
- Le nombre est destiné à être utilisé par les serveurs pour déterminer la prochaine étape.
- Le texte est utile uniquement pour l'utilisateur humain.
• le premier chiffre indique si la réponse est bonne, mauvaise ou incomplète. Un client SMTP
sera capable de déterminer sa prochaine action par l'examen de ce premier chiffre.
• Le second et le troisième chiffre fournissent des informations complémentaires.
Dr. H. Zerrouki

Administration des
18
Services Réseaux

Le protocole SMTP
Commande
Les commande SMTP Signification
<paramètre>
HELO Permet à l’expéditeur de s’identifier auprès du destinataire. L’argument
<host name> contient le nom de la machine de l’expéditeur.
EHLO Idem à HELO pour un client qui souhaite exploiter le mode Extended SMTP
<host name> (ESMTP) qui propose des fonctionnalités supplémentaires, en particulier
pour faciliter l’envoi de fichiers en format MIME binaire.
MAIL FROM: Permet d’initier l’envoi d’un message en spécifiant l’adresse de l’expéditeur.
<reverse-path>
RCPT TO: Indique la destination du message. Cette commande est utilisée autant de
<forward-path> fois qu’il y a de destinataires du message.
DATA Le récepteur traite les lignes de texte qui suivent cette commande comme le
corps du texte à envoyer. Pour terminer le message, une ligne ne contenant
qu’un point est envoyée.
RSET Indique que la transaction de messagerie courante doit être abandonnée. Le
récepteur quittance par un message OK.
VRFY <string> Vérifie si l’argument correspond à un utilisateur. Dans l’affirmative, le nom et
l’adresse complète de celui-ci sont retournés.
EXPN <string> Demande au récepteur si l’argument correspond à une liste d’adressage.
Dans l’affirmative, le récepteur retourne les noms et les adresses des
membres de cette liste.
Dr. H. Zerrouki

HELP <string> Génère l’envoi de messages d’aide par le récepteur.


QUIT Demande au récepteur de fermer la session.

9
Administration des
19
Services Réseaux

Le protocole SMTP
Les réponses
Codes SMTP
Détails Actions
réponse

Message d'état du système ou


211 Le message est suivi de plus d'informations
réponse d'aide

Contient des informations sur votre serveur, et redirige


214 Message d'aide
normalement vers une page de FAQ

220 Le serveur est prêt Il s'agit d'un message indiquant que le serveur est prêt

Cela signifie que le serveur ferme la connexion suite à


221 Canal de transmission fermé
la communication réussie

Transmission du message
250 Votre mail a bien été transmis
terminée

Utilisateur final non présent sur


Cela signifie que le message sera transmis sur un autre
251 ce serveur, mais il va être
serveur (redirection, autre serveur MX, ...)
transmis

Le serveur a bien reçu les


Dr. H. Zerrouki

Cela veut simplement dire qu'il attend à présent de


354 adresses d'expédition et de
recevoir le contenu du mail pour le transmettre
réception

Administration des
20
Services Réseaux

Codes réponse Détails Actions

Ce message d'erreur est retourné uniquement par les serveurs


Délai dépassé, problème de
420 mail GroupWise. Contactez l'administrateur du serveur de
connexion
messagerie de destination

Provenance de l'erreur indéterminée, assurez-vous que l'envoi


Service non disponible, canal de
421 vers un autre domaine fonctionne. Si oui, veuillez réessayer
transmission en cours de fermeture
l'envoi initial plus tard

Patientez quelque temps puis effectuez une nouvelle tentative.


Serveur incapable de recevoir les
455 En cas d'échec, contactez l'administrateur du serveur de
paramètres
messagerie du destinataire

Cela est souvent causé par une adresse e-mail de destinataire


Erreur de syntaxe dans les erronée ou un problème d'antivirus ou firewall côté expéditeur.
501
paramètres ou les arguments Veuillez vérifier l'adresse de destination ainsi que votre antivirus
ou firewall

Les paramètres ou les options utilisées lors de l'envoi de l'e-mail


502 Commande non implémentée avec votre serveur SMTP sont reconnus mais désactivés dans sa
configuration. Veuillez contacter votre fournisseur de service

Cela est généralement dû un problème d'authentification,


Le serveur à rencontré une mauvaise
503 assurez-vous d'être bien authentifié sur le serveur SMTP au
séquence de commandes
niveau de la configuration de votre logiciel de messagerie
Dr. H. Zerrouki

Action demandée non effectuée : Cela est en général causé par une adresse e-mail de destination
553 incorrecte. Veuillez vérifier que l'adresse e-mail en question est
adresse e-mail non autorisé bien correcte

10
Administration des
21
Services Réseaux

Remise et réception des messages


L’architecture SMTP suppose que les utilisateurs travaillent sur des machines capables
d’envoyer et de recevoir des messages électroniques. Ce modèle requiert que les UA soient
en permanence en ligne, exigence qui sera remplie par les serveurs de messagerie sur
lesquels sont stockés les messages reçus. Pour résoudre cette problématique, des
protocoles de remise de courrier tels que POP et IMAP sont mis en œuvre.
Le protocole POP
Le protocole POP (Post Office Protocol) est encore aujourd’hui encore utilisé.
La dernière version est la version 3 (on parle ainsi de POP3), a été conçu pour vous
permettre de récupérer votre courrier sur une machine distante quand vous n’êtes pas
connecté en permanence à Internet.

• POP va relever votre courrier et vous l’apporte sur ton PC, c’est à dire dans votre logiciel
de messagerie.
• Le protocole POP gère l’authentification, c’est-à-dire la vérification de vos identifiant et
mot de passe.
• Il bloque, également, votre boîte aux lettres pendant que vous y accédez, ne permettant
pas à une autre connexion d’accéder en même temps à votre courrier.
• Le protocole POP gère également l’envoi, ainsi que la réception de messages d’erreur
Dr. H. Zerrouki

(ERR) ou d’acquittement (OK).

Administration des
22
Services Réseaux

Remise et réception des messages


• Dans votre logiciel de courrier vous devrez donner l’adresse de votre serveur POP,
généralement du type : pop.nom_de_domaine
Exemples : pop.orange.fr, pop.free.com, pop.gmail.com, pop.sfr.fr
Dr. H. Zerrouki

11
Administration des
23
Services Réseaux

Remise et réception des messages


• Le protocole POP, est relativement simple et n’est pas sécurisé. La communication des
mots de passe n’est pas cryptée. L’évolution du courrier électronique vers le
nomadisme et le manque de flexibilité de POP ont cependant favorisé l’émergence d’un
autre protocole : l’IMAP
Le protocole IMAP
L’IMAP (Interactive Mail Access Protocol) est un protocole qui vous permet, depuis un
programme installé sur votre ordinateur ou votre Smartphone, d’accéder aux messages
de votre boîte aux lettres électronique.
• Il est présenté comme le successeur du protocole POP.
• L’attente de la généralisation de l’Internet mobile pour l’offrir à leurs usagers.

A la différence du protocole POP qui transfère les messages de votre boîte aux lettres
sur votre ordinateur puis les efface du serveur.
• IMAP effectue une synchronisation des messages et des dossiers (boîte de réception,
messages envoyés, brouillons, archives, etc.) entre le serveur et votre terminal.
• Votre messagerie reste stockée dans son intégralité sur le serveur : vous pouvez donc y
accéder par différents terminaux, vous aurez accès aux mêmes données.
Dr. H. Zerrouki

• Toute action que vous effectuez depuis un terminal sera automatiquement reportée sur le
serveur.

Administration des
24
Services Réseaux

Remise et réception des messages


• Depuis leur ordinateur de bureau, leur ordinateur portable, leur tablette tactile ou eur
Smartphone. Les clients de messagerie peuvent lire, supprimer ou déplacer le courrier
sur le serveur.
• Les noms et les mots de passe sont cryptés pendant leurs transferts pour empêcher leur
lecture au passage.
Dr. H. Zerrouki

12
Administration des
25
Services Réseaux

Remise et réception des messages


Vous pouvez mettre en œuvre l’IMAP pour votre courriel à 2 conditions :
• La première est que votre fournisseur d’adresse e-mail mette à disposition un
serveur IMAP. A ce jour, de nombreux fournisseurs le proposent : Gmail, Yahoo! Mail,
LaPoste.net, GMX, Free ou SFR par exemple.
• La seconde est que votre logiciel de messagerie gère le protocole IMAP. C’est
aujourd’hui le cas pour la quasi-totalité des courrielleurs. Ainsi Windows Live Mail,
Outlook Express, Outlook, Thunderbird, IncrediMail, Foxmail, Eudora, The Bat!, Opera,
Pegasus Mail, PocoMail, Wikmail, Lotus Notes, Becky, Mail et PowerMail (pour MacOS),
Evolution, Kmail et Pine (pour Linux) permettent de relever les boîtes IMAP.
• IMAP est également supporté par les applications messageries des téléphones mobiles
iPhone, Android et Windows Phone.
• Pour relever votre boîte aux lettres selon le protocole IMAP, il vous suffit de créer un
nouveau compte dans votre logiciel de messagerie, en choisissant l’option IMAP. Au lieu
d’entrer une adresse du serveur POP, vous préciserez alors l’adresse du serveur IMAP
de votre service de mail, du type imap.nom_de_domaine).
Exemples : imap.orange.fr, imap.free.com, imap.gmail.com, imap.sfr.fr
Dr. H. Zerrouki

Administration des
26
Services Réseaux

Accès à la messagerie par le WEB


Les applications de type "Webmail" servent d’intermédiaires entre le navigateur de
l’utilisateur et le serveur de messagerie en livrant un contenu dynamique représentatif
des contenus de la boîte de messagerie.

Le lien entre le serveur Web, qui contient également un client de messagerie et le


serveur de messagerie, est réalisé usuellement avec IMAP ou à l’aide d’une interface
interne si les deux instances se trouvent sur la même machine.
Dr. H. Zerrouki

13
Administration des
27
Services Réseaux

Partie II :

File Transfer Protocol (FTP)

• Pour transférer les fichiers volumineux, nous utilisons un FTP, il s’agit d’un File
Transfer Protocol (protocole de transfert de fichiers),
• Le protocole FTP fait parti de la suite TCP/IP défini par la RFC 959.
• FTP est un protocole de communication destiné à l'échange informatique de
fichiers sur un réseau.
• Nous mettons les fichiers en ligne (dans le cloud ou nuage) et vous pouvez les
récupérer...
• Utiliser pour coordonner les transferts de fichiers vers des sites Web distants ou
le transfert de fichiers de site Web distant vers des ordinateurs locaux.
(Client/serveur et Serveur/client).
Dr. H. Zerrouki

Administration des
28
Services Réseaux

Protocoles de transfert de fichiers


Plusieurs protocoles
copie de fichiers à distance : RCP, SCP;
protocole de transfert de fichiers avec accès aux systèmes de fichiers local
et distant : FTP, TFTP, SFTP.
copie de fichier sur http : WebDAV

Type client/serveur
le client (initiateur de la connexion) interagit avec l’utilisateur, le système de
fichiers local et les protocoles réseau;
le serveur (héberge les fichiers distants) interagit avec les protocoles
réseau et le système de fichiers distant.

Ne pas confondre avec les protocoles d’accès aux fichiers distants : NFS (RPC),
SMB (Microsoft).
Dr. H. Zerrouki

14
Administration des
29
Services Réseaux

Protocoles de transfert de fichiers


Dr. H. Zerrouki

Administration des
30
Services Réseaux

Connexions contrôle et données


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).

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)

Les clients FTP contactent le serveur FTP sur le port TCP/21

Ouverture de 2 connexions TCP parallèles :


• Contrôle : échange des commandes et des réponses entre le client et le
serveur - ≪ contrôle hors-bande ≫.
Dr. H. Zerrouki

• Données : transfert des fichiers de données vers/depuis l’hôte distant (sur le


port TCP/20 côté client).

15
Administration des
31
Services Réseaux

Connexions contrôle et données


Connexion contrôle (FTP) :
échange des requêtes/réponses (dialogue client/serveur);
permanente, full-duplex, besoin de fiabilité (et faible délai !);
initiée par le client (port 21 en général).

Rôle : pour transmettre les commandes de fichiers (transfert, suppression de


fichiers, renommage, liste des fichiers…).

Connexion données (FTP-DATA) :


envoi de fichiers ou listes de fichiers/répertoires (données);
temporaire, full-duplex, besoin de débit (et fiabilité !) ;
initiée par défaut par le serveur
⋆ ouverture active (connect()) du serveur vers le client (depuis le port 20
vers un port proposé par le client) ;
la connexion est fermée dès que le caractère EOF est lu.
Dr. H. Zerrouki

Administration des
32
Services Réseaux

Le modèle FTP
le client comme le serveur possèdent deux processus permettant de gérer ces
deux types d'information :
• Le processus Client FTP
• Le processus Serveur FTP
Dr. H. Zerrouki

16
Administration des
33
Services Réseaux

Le modèle FTP
le DTP (Data Transfer Process) est le processus chargé d'établir la connexion et de
gérer le canal de données. Le DTP côté serveur est appelé SERVER-DTP, le
DTP côté client est appelé USER-DTP.

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. Il est différent
sur le client et sur le serveur :
Le SERVER-PI est chargé de :
• écouter les commandes provenant d'un USER-PI sur le canal de contrôle sur
un port donné,
• établir la connexion pour le canal de contrôle,
• recevoir sur celui-ci les commandes FTP de l'USER-PI,
• répondre et de piloter le SERVER-DTP.
Le USER-PI est chargé de :
• établir la connexion avec le serveur FTP,
• envoyer les commandes FTP,
• recevoir les réponses du SERVER-PI
Dr. H. Zerrouki

• contrôler le USER-DTP si besoin.

Administration des
34
Services Réseaux

Le modèle FTP
Lors de la connexion d'un client FTP à un serveur FTP, le USER-PI initie la
connexion au serveur selon le protocole Telnet. Le client envoie des commandes
FTP au serveur, ce dernier les interprète, pilote son DTP, puis renvoie une
réponse standard.
Lorsque la connexion est établie, le serveur-PI donne le port sur lequel les
données seront envoyées au Client DTP. Le client DTP écoute alors sur le port
spécifié les données en provenance du serveur.
Dr. H. Zerrouki

17
Administration des
35
Services Réseaux

Les modes FTP


FTP prévoit deux (2) modes de fonctionnement :

Mode actif :
Le client initie la connexion de contrôle sur le port 21 en spécifiant le mode actif
et en indiquant 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 va initier
la connexion de son port de données (port 20) vers le port spécifié par le client.
C'est le numéro de port précédent le port de contrôle.

Donc pour un serveur qui écoute sur le port 10027, ce sera par défaut 10026.
Dr. H. Zerrouki

Administration des
36
Services Réseaux

Les modes FTP


Mode actif :
Dr. H. Zerrouki

18
Administration des
37
Services Réseaux

Les modes FTP


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. C'est pour cette raison que ce mode est qualifié de firewall-
friendly.
Dr. H. Zerrouki

Administration des
38
Services Réseaux

Les modes FTP


Mode passif
Dr. H. Zerrouki

19
Administration des
39
Services Réseaux

Les modes FTP


Cas général :
Dr. H. Zerrouki

Administration des
40
Services Réseaux

Protocole FTP
Les 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 (en code
ASCII) terminées par le code de fin de ligne Telnet.
• (c'est-à-dire la séquence <CR>+<LF>, Carriage Return (retour chariot) suivi du
caractère Line Feed, notée <CRLF>).
• Si la commande FTP admet un paramètre, celui-ci est séparé de la commande
par un espace (<SP>).
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 (Retrieve, List, Store, ...)

On distingue trois types de commandes FTP :


• Les commandes de contrôle d'accès
Dr. H. Zerrouki

• Les commandes du paramétrage de transfert


• Les commandes de service FTP

20
Administration des
41
Services Réseaux

Protocole FTP
a) Commande de contrôle d'accès :

Commande Description
Chaîne de caractères permettant d'identifier l'utilisateur. L'identification de
USER
l'utilisateur est nécessaire pour établir une communication sur le canal de données
Chaîne de caractères spécifiant le mot de passe de l'utilisateur. Cette commande doit
PASS
être immédiatement précédée de la commande USER.
Chaîne de caractères représentant le compte (account) de l'utilisateur. Cette
commande n'est généralement pas nécessaire. Lors de la réponse à l'acceptation du
ACCT
mot de passe, si la réponse est 230 cette phase n'est pas nécessaire, si la réponse
est 332, elle l'est
Change Working Directory : cette commande permet de changer le répertoire
CWD courant. Cette commande nécessite le chemin d'accès au répertoire à atteindre
comme argument
Change to Parent Directory : cette commande permet de remonter au répertoire
CDUP parent. Elle a été introduite pour remédier aux problèmes de nommage de répertoire
parent selon les système (généralement "..")
SMNT Structure Mount :
REIN Reinitialize :
Commande permettant de terminer la session en cours. Le serveur attend de finir le
Dr. H. Zerrouki

QUIT transfert en cours le cas échéant, puis de fournir une réponse avant de fermer la
connexion

Administration des
42
Services Réseaux

Protocole FTP
b) Commande de paramètres de transfert :

Commande Description
PORT Chaîne de caractères permettant de préciser le numéro de port à utiliser
Commande permettant d'indiquer au serveur DTP de se mettre en
attente une connexion sur un port spécifique choisi aléatoirement parmi
PASV
les ports disponibles. La réponse à cette commande est l'adresse IP de
la machine et le port.
Cette commande permet de préciser le type de format dans lequel les
TYPE
données seront envoyées
Caractère Telnet précisant la structure du fichier (F pour File, R
STRU
pour Record, P pour Page)
Caractère Telnet précisant le mode de transfert des données (S
MODE
pour Stream, B pour Block, C pour Compressed)
Dr. H. Zerrouki

21
Administration des
43
Services Réseaux

Protocole FTP
c) Commande de service FTP :
Commande Description
Cette commande (RETRIEVE) demande au serveur DTP une copie du fichier
RETR
dont le chemin d'accès est passé en paramètre.
Cette commande (store) demande au serveur DTP d'accepter les données
envoyées sur le canal de données et de les stocker dans le fichier portant le
STOR
nom passé en paramètre. Si le fichier n'existe pas, le serveur le crée, sinon il
l'écrase
Cette commande est identique à la précédente, si ce n'est qu'elle demande au
STOU serveur de créer un fichier dont le nom est unique. Le nom du fichier est
retourné dans la réponse
Grâce à cette commande (append) les données envoyées sont concaténées
APPE dans le fichier portant le nom passé en paramètre s'il existe déjà, dans le cas
contraire il est créé
Cette commande (allocate) demande au serveur de prévoir un espace de
ALLO
stockage suffisant pour contenir le fichier dont le nom est passé en argument.
Cette commande (restart) permet de reprendre un transfert là où il s'était
arrêté. Pour cela cette commande envoie en paramètre le marqueur
REST représentant la position dans le fichier à laquelle le transfert avait été
Dr. H. Zerrouki

interrompu. Cette commande doit être immédiatement suivie d'une


commande de transfert.

Administration des
44
Services Réseaux

Protocole FTP
c) Commande de service FTP :

Cette commande (rename from) permet de renommer un fichier. Elle indique en


RNFR paramètre le nom du fichier à renommer et doit être immédiatement suivie de la
commande RNTO
Cette commande (rename to) permet de renommer un fichier. Elle indique en
RNTO paramètre le nom du fichier à renommer et doit être immédiatement précédée
de la commande RNFR
Cette commande (abort) indique au serveur DTP d'abandonner tous les
transferts associés à la commande précédente. Si aucune connexion de données
ABOR
n'est ouverte, le serveur DTP ne fait rien, sinon il la ferme. Le canal de contrôle
reste par contre ouvert.
Cette commande (delete) permet de supprimer le fichier dont le nom est passé
DELE en paramètre. Cette commande est irrémédiable, seule une confirmation au
niveau du client peut être faite.
Cette commande (remove directory) permet de supprimer un répertoire. Elle
RMD
indique en paramètre le nom du répertoire à supprimer
Cette commande (make directory) permet de créer un répertoire. Elle indique en
MKD
paramètre le nom du répertoire à créer
Dr. H. Zerrouki

Cette commande (print working directory) permet de renvoyer le chemin


PWD
complet du répertoire courant

22
Administration des
45
Services Réseaux

Protocole FTP
c) Commande de service FTP :

Cette commande permet de renvoyer la liste des fichiers et répertoires présents


dans le répertoire courant. Cette liste est envoyée sur le DTP passif. Il est
LIST
possible de passer en paramètre de cette commande un nom de répertoire, le
serveur DTP enverra la liste des fichiers dans le répertoire passé en paramètre
Cette commande (name liste) permet d'envoyer la liste des fichiers et
NLST
répertoires dans le répertoire courant
Cette commande (site parameters) permet au serveur de proposer des services
SITE
spécifiques, non définis dans le protocole FTP
Cette commande (system) permet d'envoyer des informations sur le serveur
SYST
distant
Cette commande (status) permet d'émettre l'état du serveur, par exemple pour
connaître la progression d'un transfert en cours. Cette commande accepte en
STAT
argument un chemin d'accès, elle retourne alors les mêmes informations que
LIST mais sur le canal de contrôle
Cette commande permet de connaître l'ensemble des commandes comprises par
HELP
le serveur. Les informations sont retournées sur le canal de contrôle
Cette commande (no operations) sert uniquement à obtenir une commande OK
Dr. H. Zerrouki

NOOP du serveur. Elle peut servir uniquement pour ne pas être déconnecté après un
temps d'inactivité trop élevé

Administration des
46
Services Réseaux

Protocole FTP
Les réponses FTP :

Les réponses FTP permettent d'assurer la synchronisation entre client et serveur


FTP. Ainsi à chaque commande envoyée par le client, le serveur effectuera
éventuellement une action et renverra systématiquement une réponse.
Les réponses sont constituées d'un code à 3 chiffres indiquant la façon suivant
laquelle la commande envoyée par le client a été traitée. Toutefois, ce code à 3
chiffres étant difficilement lisible par un humain, il est accompagné d'un texte
(chaîne de caractères Telnet séparée du code numérique par un espace).

Les codes de réponse sont constitués de 3 chiffres dont voici les significations :
• Le premier chiffre indique le statut de la réponse (succès ou échec)
• Le second chiffre indique ce à quoi la réponse fait référence
• Le troisième chiffre donne une signification plus spécifique (relative à chaque
deuxième chiffre)
Dr. H. Zerrouki

23
Administration des
47
Services Réseaux

Protocole FTP
Premier chiffre :

Chiffre Signification Description


L'action demandée est en cours de réalisation, une
1yz Réponse préliminaire positive seconde réponse doit être obtenue avant
d'envoyer une deuxième commande
L'action demandée a été réalisée, une nouvelle
2yz Réponse positive de réalisation
commande peut être envoyée
L'action demandée est temporairement suspendue.
3yz Réponse intermédiaire positive Des informations supplémentaires sont attendues
de la part du client
L'action demandée n'a pas eu lieu car la
4yz Réponse négative de réalisation commande n'a temporairement pas été acceptée.
Le client est prié de réessayer ultérieurement
L'action demandée n'a pas eu lieu car la
5yz Réponse négative permanente commande n'a pas été acceptée. Le client est prié
de formuler une requête différente
Dr. H. Zerrouki

Administration des
48
Services Réseaux

Protocole FTP
Second chiffre :

Chiffre Signification Description


L'action possède une erreur de syntaxe, ou bien il
x0z Syntaxe s'agit d'une commande non comprise par le
serveur
Il s'agit d'une réponse renvoyant des informations
x1z Information (par exemple pour une réponse à une commande
STAT)
x2z Connexions La réponse concerne le canal de données
La réponse concerne le login (USER/PASS) ou la
x3z Authentification et comptes
demande de changement de compte (CPT)
x4z Non utilisé par le protocole FTP
x5z Système de fichiers La réponse concerne le système de fichiers distant
Dr. H. Zerrouki

24
Administration des
49
Services Réseaux

Exemples
Dr. H. Zerrouki

Administration des
50
Services Réseaux

Exemples
Dr. H. Zerrouki

25
Administration des
51
Services Réseaux

Exemples
Dr. H. Zerrouki

Administration des
52
Services Réseaux

Exemples
Dr. H. Zerrouki

26
Administration des
53
Services Réseaux

Exemples
Dr. H. Zerrouki

Administration des
54
Services Réseaux

Exemples
Dr. H. Zerrouki

27

Vous aimerez peut-être aussi