les réseaux informatiques le modèle tcp/ip clients & serveurs le protocole ftp boukli hacene...
TRANSCRIPT
Les Réseaux InformatiquesLes Réseaux InformatiquesLe Modèle TCP/IPLe Modèle TCP/IP
Clients & ServeursClients & Serveurs
Le protocole FTPLe protocole FTP
Boukli HACENE Sofiane
Résumé des couches 1-4Résumé des couches 1-4
Couche 1 :Couche 1 : Accès au médium physiqueAccès au médium physique
Couche 2 :Couche 2 : Accès multiple au médium, résolution des collisionsAccès multiple au médium, résolution des collisions
Couche 3 :Couche 3 : Accès à une machine au sein d’un réseauAccès à une machine au sein d’un réseau Routage et résolution d’adressesRoutage et résolution d’adresses
Couche 4 : Couche 4 : Transport de bout en boutTransport de bout en bout Transport fiable des donnéesTransport fiable des données Gestion des connexionsGestion des connexions Multiplexage de services sur une même interfaceMultiplexage de services sur une même interface
Le modèle TCP/IPLe modèle TCP/IP
Notion de service réseauNotion de service réseau
Fonctionnalité particulièreFonctionnalité particulière Offerte par une machineOfferte par une machine Utilisée par d’autres machinesUtilisée par d’autres machines
Hébergée par un serveurHébergée par un serveur Accessible sur le réseauAccessible sur le réseau MultiplexageMultiplexage
Plusieurs ServicesPlusieurs Services Plusieurs ClientsPlusieurs Clients
Exemple de services réseauExemple de services réseau Serveur DHCPServeur DHCP
Fournit des adresses IP dynamiquesFournit des adresses IP dynamiques Serveur DNSServeur DNS
Traduit un « nom » en adresse IPTraduit un « nom » en adresse IP Serveur NISServeur NIS
Fournit des informations sur les utilisateursFournit des informations sur les utilisateurs Serveur de fichiersServeur de fichiers
Permet d’accéder à des fichiers distants de façon transparentePermet d’accéder à des fichiers distants de façon transparente Serveur de datesServeur de dates
Fournit une horloge « juste »Fournit une horloge « juste » Serveur FTPServeur FTP
Permet le transfert de fichiers Permet le transfert de fichiers à longue distanceà longue distance Entre machine hétérogènesEntre machine hétérogènes
……
Notion de serveurNotion de serveur Fournit au moins un serviceFournit au moins un service Ne fait rien tout seulNe fait rien tout seul Attend des « clients »Attend des « clients »
Ouverture passive d’un portOuverture passive d’un port Numéro fixe, Numéro fixe,
caractéristique du service offertcaractéristique du service offert
« Ecoute » sur le port« Ecoute » sur le port Attend la connexion d’un clientAttend la connexion d’un client Fournit un service au clientFournit un service au client Revient en attenteRevient en attente
Ouvrir port fixe
Ecouter Port
Fournir Service
Attendre client
Fermer port
Arrêt serveur
Démarrage serveur
Notion de clientNotion de client
Logiciel utilisant un serveurLogiciel utilisant un serveur Utilisation éphémère Utilisation éphémère
Ouverture active d’un portOuverture active d’un port Numéro souvent variableNuméro souvent variable Initialisation de la connexion réseauInitialisation de la connexion réseau
Envoi de requête(s)Envoi de requête(s) Réception de donnéesRéception de données Clôture du portClôture du port
Ouvrir port variable
Envoi requête
Réception réponse
Initialisation de connexion
Fermer port
Arrêt client
Démarrage client
Classes de serveursClasses de serveurs
Serveur UDPServeur UDP Basé sur des « messages » simplesBasé sur des « messages » simples Reçoit une requête, Envoie une réponseReçoit une requête, Envoie une réponse Multiplexage temporel des clientsMultiplexage temporel des clients
Serveur TCPServeur TCP Basé sur une connexionBasé sur une connexion Echange soutenu d’informationsEchange soutenu d’informations Souvent Full-DuplexSouvent Full-Duplex En général, service simultané de plusieurs clientsEn général, service simultané de plusieurs clients
Le protocole FTPLe protocole FTP
File Transfer ProtocolFile Transfer Protocol Transfert interactif de fichiersTransfert interactif de fichiers Différent des serveurs de fichiersDifférent des serveurs de fichiers
Machine hétérogènesMachine hétérogènes Souvent à longue distanceSouvent à longue distance Utilisation interactive volontaireUtilisation interactive volontaire
Utilise TCPUtilise TCP Naturellement fiableNaturellement fiable
Principes de FTPPrincipes de FTP
Ouverture passive du port 21Ouverture passive du port 21 Attente de client(s)Attente de client(s)
Identification du clientIdentification du client Réception de commandesRéception de commandes Envoi de messagesEnvoi de messages Echange de fichiersEchange de fichiers Fin de connexionFin de connexion
Serveur FTP:
Un scénario completUn scénario complet
Connexion à un serveur FTP distantConnexion à un serveur FTP distant Blanche.loria.frBlanche.loria.fr Serveur War FTP Version 1.80.05Serveur War FTP Version 1.80.05
Affichage d’un répertoire distantAffichage d’un répertoire distant Commande « ls »Commande « ls »
Déconnexion du serveurDéconnexion du serveur Commande « bye »Commande « bye »
Un scénario particulierUn scénario particulier
ServeurClient
21
C:\temp> ftp blanche.loria.frConnect‚ … blanche.loria.fr.
Un scénario particulierUn scénario particulier
ServeurClient
211046SYN
ACK + SYN
ACK
Un scénario particulierUn scénario particulier
ServeurClient
211046
Message « Welcome »
ACK
Transfert de messagesTransfert de messages
Problème :Problème : Machines hétérogènesMachines hétérogènes Normes différentesNormes différentes Structure différentesStructure différentes
Besoin d’une couche de présentation des Besoin d’une couche de présentation des donnéesdonnées Code ASCII NVTCode ASCII NVT
128 caractères 128 caractères codé sur 8 bits (0 devant)codé sur 8 bits (0 devant)
Chaque ligne finit par un saut de ligneChaque ligne finit par un saut de ligne #13 : retour en colonne 1#13 : retour en colonne 1 #10 : ligne suivante#10 : ligne suivante
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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 particulierUn scénario particulier
ServeurClient
211046
USER test
ACK + MSG
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :
Un scénario particulierUn scénario particulier
ServeurClient
211046
PASS xxxxxxx
ACK + MSG
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls
Un scénario particulierUn scénario particulier
ServeurClient
211046
NLST
ACK + Listing
Nouveau problèmeNouveau problème
Et si le listing est très long ?Et si le listing est très long ? Transféré comme un fichierTransféré comme un fichier
Interruption du transfertInterruption du transfert Envoi d’un signal ?Envoi d’un signal ?
Sera envoyé après le fichier ! (ordre garanti)Sera envoyé après le fichier ! (ordre garanti)
Envoi d’un signal URGENT ?Envoi d’un signal URGENT ? Est envoyé tout de suiteEst envoyé tout de suite Mais le transfert du fichier continue… après.Mais le transfert du fichier continue… après.
Nouvelle connexionNouvelle connexion
Mêmes adresses IPMêmes adresses IP Nouveaux portsNouveaux ports
Serveur : Port TCP 20Serveur : Port TCP 20 Client : Port TCP quelconqueClient : Port TCP quelconque
AvantagesAvantages Liaison spécialisée (TOS : débit maximum)Liaison spécialisée (TOS : débit maximum) Signaux/Messages pendant transfertSignaux/Messages pendant transfert
Ouverture 2° connexionOuverture 2° connexion
Qui ouvre la connexion de données ?Qui ouvre la connexion de données ? Le serveur ?Le serveur ?
Comment associer les deux connexions ?Comment associer les deux connexions ? Le client ?Le client ?
Comment le serveur connaît-il le port ?Comment le serveur connaît-il le port ? Commande PORTCommande PORT
RésuméRésumé Serveur : attend les clients pour le contrôleServeur : attend les clients pour le contrôle Client : est client pour le contrôleClient : est client pour le contrôle Client : attend le serveur pour les donnéesClient : attend le serveur pour les données Serveur : est client pour les donnéesServeur : est client pour les données
Fin de fichierFin de fichier
Comment la reconnaître la fin de fichier?Comment la reconnaître la fin de fichier? MarqueurMarqueur
Et si le marqueur apparaît dans le fichier ?Et si le marqueur apparaît dans le fichier ? Ajout de caractères de transparenceAjout de caractères de transparence
LongueurLongueur Peut être délicate à calculerPeut être délicate à calculer Et si interruption ?Et si interruption ?
Fermeture de la connexionFermeture de la connexion
Un scénario particulierUn scénario particulier
ServeurClient
211046 201047
PORT IP:1047
ACK + MSG
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls (46 bytes).
Un scénario particulierUn scénario particulier
ServeurClient
211046 201047
Fichier
ACK
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls (46 bytes).Adresse LORIA.txtDebugTrace-ROCKALLDLL.log
Un scénario particulierUn scénario particulier
ServeurClient
211046 201047
Message
ACK
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls (46 bytes).Adresse LORIA.txtDebugTrace-ROCKALLDLL.log226 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
Un scénario particulierUn scénario particulier
ServeurClient
211046
QUIT
ACK + MSG
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls (46 bytes).Adresse LORIA.txtDebugTrace-ROCKALLDLL.log226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s)ftp : 46 octets re‡us dans 0.17Secondes 0.27Ko/sec.ftp> bye221 Goodbye. Control connection closed.
Un scénario particulierUn scénario particulier
ServeurClient
211046
FIN
ACK + FIN
ACK
C:\temp>ftp blanche.loria.frConnect‚ … blanche.loria.fr.220-BlancheWarFtpWarFTPd 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)) : test331 User name okay, Need password.Mot de passe :230 User logged in.ftp> ls200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls (46 bytes).Adresse LORIA.txtDebugTrace-ROCKALLDLL.log226 Transfer complete. 46 bytes in 0.00 sec. (44.922 Kb/s)ftp : 46 octets re‡us dans 0.17Secondes 0.27Ko/sec.ftp> bye221 Goodbye. Control connection closed.C:\temp>