La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les Réseaux Informatiques

Présentations similaires


Présentation au sujet: "Les Réseaux Informatiques"— Transcription de la présentation:

1 Les Réseaux Informatiques
Le Modèle TCP/IP Clients & Serveurs Le protocole FTP Questions sur les cours précédents ? Boukli HACENE Sofiane

2 Résumé des couches 1-4 Couche 1 : Couche 2 : Couche 3 : Couche 4 :
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

3 Le modèle TCP/IP TCP/IP OSI Application Application Présentation
Session Transport Transport Internet Réseau Liaison de données MAC Physique

4 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

5 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

6 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 « Ecoute » sur le port Attend la connexion d’un client Fournit un service au client Revient en attente Démarrage serveur Ouvrir port fixe Attendre client Ecouter Port Arrêt serveur Fournir Service Fermer port

7 Initialisation de connexion
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 Démarrage client Ouvrir port variable Initialisation de connexion Envoi requête Arrêt client Réception réponse Fermer port

8 Classes de serveurs Serveur UDP Serveur TCP
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

9 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

10 Principes de FTP Serveur 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 Ouverture passive = préparation de la couche réseau pour accepter des connexions sur ce port. Le port est alors en « écoute », et la main n’est rendue au serveur qu’à l’arrivée d’un client.

11 Un scénario complet Connexion à un serveur FTP distant
 Blanche.loria.fr Serveur War FTP Version Affichage d’un répertoire distant Commande « ls » Déconnexion du serveur Commande « bye » Un petit scénario tout simple, qui va me permettre de mettre en évidence quelques petites subtilités…

12 Un scénario particulier
Client Serveur 21 Pour la mise en place de mon scénario, il nous faut donc une machine – serveur. Sur cette machine, on lance un « démon » FTP qui va se charger d’implanter les services requis. Le programme ouvre donc le port 21, et attend des connexions dessus. Justement, voilà un client. Ce client va piloter la connexion, car FTP est un protocole INTERACTIF.

13 Connect‚ … blanche.loria.fr. ftp blanche.loria.fr C:\temp>
C:\temp> ftp blanche.loria.fr Connect‚ … blanche.loria.fr. Le client FTP que j’ai utilisé est le petit programme tout bête de Microsoft. Ici, je lance le programme qui ouvre une connexion vers Blanche, mon serveur FTP.

14 Un scénario particulier
Client Serveur 1046 21 SYN ACK ACK + SYN Au niveau du réseau, on a donc une ouverture de connexion TCP, on ne peut plus classique. Obtention d’un port sur le client  1046 3-Ways handshaking : SYN, SYN+Ack, Ack Maintenant, la connexion est ouverte.

15 Un scénario particulier
Client Serveur 1046 21 Message « Welcome » ACK Dès que la connexion est ouverte, le serveur nous souhaite la bienvenue en envoyant un message d’accueil. Le client accuse réception du message, et l’affiche à l’utilisateur. Cependant, cette simple opération amène déjà un premier problème à résoudre…

16 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 Pour bien comprendre en quoi c’est un problème, il faut se souvenir que l’on travaille avec des machines hétérogènes. Les normes peuvent être différentes Les structures peuvent varier Par exemple, supposez que mon client travaille en unicode. Chaque caractère va donc être stocké sur 16 bits. Mon serveur, lui, fonctionne sous Windows. Chaque caractère est donc stocké sur un octet. On a donc besoin d’une couche de présentation permettant de mettre en forme les données, quelque soit le serveur ou le client. On a donc choisi l’ASCII NVT… Ce protocole sera utilisé pour chaque envoi de texte… c’est à dire pour chaque commande du client, chaque message du serveur, et pour tous les fichiers texte.

17 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 (Dec ) Ready (C)opyright by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)) : test D’après le serveur, la première chose à faire est de saisir le nom de l’utilisateur.

18 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)) : test C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Utilisateur (blanche.loria.fr:(none)) : test Je saisis donc le login de l’utilisateur. Il s’appellera TEST.

19 Un scénario particulier
Client Serveur 1046 21 USER test ACK + MSG La validation du nom se traduit par l’envoi au serveur de la commande USER. Le serveur Acknowledge et en profite pour m’indiquer la suite de la procédure…

20 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 : C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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ÿ: Il faut entrer un mot de passe… je saisis donc le bon mot de passe, et je valide.

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

22 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
ls 230 User logged in. ftp> C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 : C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 La structure des commandes du client suit plus ou moins celle des commandes UNIX. La commande LS affiche donc le contenu du répertoire client.

23 Un scénario particulier
Client Serveur 1046 21 NLST ACK + Listing La commande FTP associée à cette fonction est NLST. De nouveau, ce jeu de commandes fait partie du protocole FTP; il est donc commun à toutes les plateformes. Le serveur pourrait alors envoyer le listing correspondant en même temps que l’accusé de réception. Néanmoins, cette façon de faire entraîne l’apparition d’un second problème…

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

25 Nouvelle connexion Mêmes adresses IP Nouveaux ports Avantages
Serveur : Port TCP 20 Client : Port TCP quelconque Avantages Liaison spécialisée (TOS : débit maximum) Signaux/Messages pendant transfert

26 Ouverture 2° connexion Qui ouvre la connexion de données ? Résumé
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 Insister sur le fait que le serveur doit pouvoir gérer plusieurs clients simultanées. Plusieurs connexions intercroisées…. Comment retrouver les bonnes paires ?

27 Fin de fichier Comment la reconnaître la fin de fichier? 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 ? Fermeture de la connexion Il faut donc une connexion nouvelle pour chaque transfert de données. La connexion de données n’est donc ouverte que lorsqu’on en a besoin…

28 Un scénario particulier
Client Serveur 1047 1046 21 20 PORT IP:1047 ACK + MSG Le client ouvre donc un nouveau port, et attend la connexion du serveur. Ici, le système lui associe le numéro 1047. Une fois le port ouvert, il le signale au serveur en indiquant IP et le port de la machine à qui il faut envoyer les données.

29 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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). C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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).

30 Un scénario particulier
Client Serveur 1047 1046 21 20 Fichier ACK Le serveur ouvre donc la connexion de données. Il envoie alors le fichier à transmettre. Dans notre cas, il s’agit du listing du répertoire.

31 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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

32 Un scénario particulier
Client Serveur 1047 1046 21 20 Message ACK A la fin du transfert, il envoie un message au client lui indiquant que le transfert est terminé, ainsi que la taille du fichier transféré. En parallèle, il ferme la connexion. Il indique ainsi que le fichier est terminé.

33 226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s)
bye 226 Transfer complete. 46 bytes in 0.00 sec. ( Kb/s) ftp : 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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. ( Kb/s) ftp : 46 octets reçus dans 0.17Secondes 0.27Ko/sec. ftp> bye Le client, de son côté, affiche le nombre d’octets reçus. L’utilisateur peut alors comparer ces deux valeurs. Comme notre scénario se termine, on va fermer la connexion avec la commande BYE.

34 Un scénario particulier
Client Serveur 1046 21 QUIT ACK + MSG La fermeture de la connexion se traduit par l’envoi de la commande QUIT. Le serveur dit alors au revoir poliment…

35 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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. ( Kb/s) ftp : 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed. C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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. ( Kb/s) ftp : 46 octets reçus dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed.

36 Un scénario particulier
Client Serveur 1046 21 FIN ACK ACK + FIN Une fois les civilités terminées, la connexion est définitivement rompue. Le client récupère alors son port, qu’il pourra réutiliser pour autre chose.

37 C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr.
220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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. ( Kb/s) ftp : 46 octets re‡us dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed. C:\temp> C:\temp>ftp blanche.loria.fr Connect‚ … blanche.loria.fr. 220-BlancheWarFtp WarFTPd (Dec ) Ready (C)opyright 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. ( Kb/s) ftp : 46 octets reçus dans 0.17Secondes 0.27Ko/sec. ftp> bye 221 Goodbye. Control connection closed. C:\temp> Le client FTP se termine, mais le serveur, lui continue à tourner


Télécharger ppt "Les Réseaux Informatiques"

Présentations similaires


Annonces Google