370 likes | 573 Views
DEUST AMMILoR. Les Réseaux Informatiques. Clients & Serveurs Le protocole FTP. Laurent JEANPIERRE 2002 - 2003. Résumé de la structure en couches. Couche 1 : Accès au médium physique Couche 2 : Accès multiple au médium, résolution des collisions Couche 3 :
E N D
DEUST AMMILoR Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE 2002 - 2003
Résumé de la structure en couches • Couche 1 : • Accès au médium physique • Couche 2 : • Accès multiple au médium, résolution des collisions • Couche 3 : • Accès à une machine au sein d’un réseau • Routage et résolution d’adresses • Couche 4 : • Transport de bout en bout • Transport fiable des données • Gestion des connexions • Multiplexage de services sur une même interface
Notion de service réseau • Fonctionnalité particulière • Offerte par une machine • Utilisée par d’autres machines • Hébergée par un serveur • Accessible sur le réseau • Multiplexage • Plusieurs Services • Plusieurs Clients
Exemple de services réseau • Serveur DHCP • Fournit des adresses IP dynamiques • Serveur DNS • Traduit un « nom » en adresse IP • Serveur NIS • Fournit des informations sur les utilisateurs • Serveur de fichiers • Permet d’accéder à des fichiers distants de façon transparente • Serveur de dates • Fournit une horloge « juste » • Serveur FTP • Permet le transfert de fichiers • à longue distance • Entre machine hétérogènes • …
Notion de serveur • Fournit au moins un service • Ne fait rien tout seul • Attend des « clients » • Ouverture passive d’un port • Numéro fixe, caractéristique du service offert • Pas de session réseau ouverte • « Ecoute » sur le port • Attend la connexion d’un client • Fournit un service au client • Revient en attente
Notion de client • Logiciel utilisant un serveur • Utilisation éphémère • Ouverture active d’un port • Numéro souvent variable • Initialisation de la connexion réseau • Envoi de requête(s) • Réception de données • Clôture du port
Classes de serveurs • Serveur UDP • Basé sur des « messages » simples • Reçoit une requête, Envoie une réponse • Multiplexage temporel des clients • Serveur TCP • Basé sur une connexion • Echange soutenu d’informations • Souvent Full-Duplex • En général, service simultané de plusieurs clients
Le protocole FTP • File Transfer Protocol • Transfert interactif de fichiers • Différent des serveurs de fichiers • Machine hétérogènes • Souvent à longue distance • Utilisation interactive volontaire • Utilise TCP • Naturellement fiable
Principes de FTP • Ouverture passive du port 21 • Attente de client(s) • Identification du client • Réception de commandes • Envoi de messages • Echange de fichiers • Fin de connexion
Un scénario complet • Connexion à un serveur distant • Blanche.loria.fr • Serveur War FTP Version 1.80.05 • Affichage d’un répertoire distant • Commande « ls » • Déconnexion du serveur • Commande « bye »
Un scénario particulier Client Serveur 21
C:\temp> ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
SYN ACK + SYN ACK Un scénario particulier Client Serveur 1046 21
Message ACK Un scénario particulier Client Serveur 1046 21
Transfert de messages • Problème : • Machines hétérogènes • Normes différentes • Structure différentes • Besoin d’une couche de présentation des données • Code ASCII NVT • 128 caractères • codé sur 8 bits (0 devant) • Chaque ligne finit par un saut de ligne • #13 : retour en colonne 1 • #10 : ligne suivante
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name.
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test
USER test ACK + MSG Un scénario particulier Client Serveur 1046 21
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe:
PASS xxxxxxx ACK + MSG Un scénario particulier Client Serveur 1046 21
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls
NLST ACK + Listing Un scénario particulier Client Serveur 1046 21
Nouveau problème • Et si le listing est très long ? • Transféré comme un fichier • Interruption du transfert • Envoi d’un signal ? • Sera envoyé après le fichier ! (ordre garanti) • Envoi d’un signal URGENT ? • Est envoyé tout de suite • Mais le transfert du fichier continue… après.
Nouvelle connexion • Mêmes adresses IP • Nouveaux ports • Serveur : Port TCP 20 • Client : Port TCP quelconque • Avantages • Liaison spécialisée (TOS : débit maximum) • Signaux/Messages pendant transfert
Ouverture 2° connexion • Qui ouvre la connexion de données ? • Le serveur ? • Comment associer les deux connexions ? • Le client ? • Comment le serveur connaît-il le port ? • Commande PORT • Résumé • Serveur : attend les clients pour le contrôle • Client : est client pour le contrôle • Client : attend le serveur pour les données • Serveur : est client pour les données
Fin de fichier • Comment la reconnaître ? • Marqueur • Et si le marqueur apparaît dans le fichier ? • Ajout de caractères de transparence • Longueur • Peut être délicate à calculer • Et si interruption ? • Entête de paquets • Encore une ? • Fermeture de la connexion
PORT IP:1047 ACK + MSG Un scénario particulier Client Serveur 1047 1046 21 20
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (46 bytes).
Fichier ACK Un scénario particulier Client Serveur 1047 1046 21 20
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (46 bytes). Adresse LORIA.txt DebugTrace-ROCKALLDLL.log
Message ACK Un scénario particulier Client Serveur 1047 1046 21 20
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (46 bytes). Adresse LORIA.txt DebugTrace-ROCKALLDLL.log 226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s) ftp: 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> bye
QUIT ACK + MSG Un scénario particulier Client Serveur 1046 21
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (46 bytes). Adresse LORIA.txt DebugTrace-ROCKALLDLL.log 226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s) ftp: 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed.
FIN ACK + FIN ACK Un scénario particulier Client Serveur 1046 21
C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd 1.80.05 (Dec 7 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)): test 331 User name okay, Need password. Mot de passe: 230 User logged in. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (46 bytes). Adresse LORIA.txt DebugTrace-ROCKALLDLL.log 226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s) ftp: 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed. C:\temp>