DEUST AMMILo R Les Rseaux Informatiques Clients Serveurs

  • Slides: 36
Download presentation
DEUST AMMILo. R Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE

DEUST AMMILo. R 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

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

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 §

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

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

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

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

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

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 §

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

Un scénario particulier Client Serveur 21

C: temp> ftp blanche. loria. fr Connect‚ … blanche. loria. fr.

C: temp> ftp blanche. loria. fr Connect‚ … blanche. loria. fr.

Un scénario particulier Client 1046 Serveur SYN ACK + SYN ACK 21

Un scénario particulier Client 1046 Serveur SYN ACK + SYN ACK 21

Un scénario particulier Client Serveur 1046 21 Message ACK

Un scénario particulier Client Serveur 1046 21 Message ACK

Transfert de messages § Problème : § Machines hétérogènes § Normes différentes § Structure

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 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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

Un scénario particulier Client Serveur 1046 21 USER test ACK + MSG

Un scénario particulier Client Serveur 1046 21 USER test ACK + MSG

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 :

Un scénario particulier Client Serveur 1046 21 PASS xxxxxxx ACK + MSG

Un scénario particulier Client Serveur 1046 21 PASS xxxxxxx ACK + MSG

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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

Un scénario particulier Client Serveur 1046 21 NLST ACK + Listing

Un scénario particulier Client Serveur 1046 21 NLST ACK + Listing

Nouveau problème § Et si le listing est très long ? § Transféré comme

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

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

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

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

Un scénario particulier Client 1047 Serveur 1046 21 PORT IP: 1047 ACK + MSG

Un scénario particulier Client 1047 Serveur 1046 21 PORT IP: 1047 ACK + MSG 20

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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).

Un scénario particulier Client 1047 Serveur 1046 21 Fichier ACK 20

Un scénario particulier Client 1047 Serveur 1046 21 Fichier ACK 20

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 Debug. Trace-ROCKALLDLL. log

Un scénario particulier Client 1047 Serveur 1046 21 Message ACK 20

Un scénario particulier Client 1047 Serveur 1046 21 Message ACK 20

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 Debug. Trace-ROCKALLDLL. log 226 Transfer complete. 46 bytes in 0. 00 sec. (44. 922 Kb/s) ftp : 46 octets re‡us dans 0. 17 Secondes 0. 27 Ko/sec. ftp> bye

Un scénario particulier Client Serveur 1046 21 QUIT ACK + MSG

Un scénario particulier Client Serveur 1046 21 QUIT ACK + MSG

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 Debug. Trace-ROCKALLDLL. log 226 Transfer complete. 46 bytes in 0. 00 sec. (44. 922 Kb/s) ftp : 46 octets re‡us dans 0. 17 Secondes 0. 27 Ko/sec. ftp> bye 221 Goodbye. Control connection closed.

Un scénario particulier Client Serveur 1046 21 FIN ACK + FIN ACK

Un scénario particulier Client Serveur 1046 21 FIN ACK + FIN ACK

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp

C: temp>ftp blanche. loria. fr Connect‚ … blanche. loria. fr. 220 -Blanche. War. Ftp War. FTPd 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 Debug. Trace-ROCKALLDLL. log 226 Transfer complete. 46 bytes in 0. 00 sec. (44. 922 Kb/s) ftp : 46 octets re‡us dans 0. 17 Secondes 0. 27 Ko/sec. ftp> bye 221 Goodbye. Control connection closed. C: temp>