Réseaux dordinateurs Richard Baron, Franck Thollard.
-
Upload
nadine-dutertre -
Category
Documents
-
view
108 -
download
1
Transcript of Réseaux dordinateurs Richard Baron, Franck Thollard.
Réseaux d’ordinateurs
Richard Baron, Franck Thollard
Sommaire Motivation, notion de réseau, réseaux de
réseaux Lien système d’exploitation, processus et
réseaux Paradigme client-serveur Paradigme Systèmes distribués Applications client-serveur usuelles Sécurité des communications Architecture de réseau Ethernet, TCP/IP, aspects techniques
Motivations Permettre aux ordinateurs de
communiquer les résultats de leurs opérations, pour enchaîner les tâches exécutées
Permettre aux utilisateurs de communiquer avec les ordinateurs distants (pour travailler et/ou consulter des données, …), ou avec d’autres utilisateurs
Répartir le travail à faire sur plusieurs ordinateurs
Notions de réseau Un réseau est un ensemble :
d’ordinateurs, communiquant à l’aide d’un protocole commun à travers
Des lignes spéciales de communications Les réseaux peuvent être
différemment construits au niveau matériel, mais on peut les interconnecter, pour former des internets
Lien système d’exploitation, processus et réseaux Un ordinateur est dirigé par son système
d’exploitation, qui est la collection de programmes de base nécessaire au bon fonctionnement de l’ordinateur
Un système d’exploitation multi-tâches (et multi-utilisateur) exécute plusieurs processus de manière entrelacé
Une partie de ces processus peuvent communiquer entre eux à travers des canaux spéciaux à l’intérieur du système d’exploitation …
… ou avec des processus s’exécutant sur d’autres ordinateurs, à travers le réseau.
Paradigme client-serveur Besoin de mettre de l’ordre dans la
philosophie des réseaux Inspiration de la vie réelle : bureau de
poste, magasins, … Paradigme client-serveur : modèle de
communication dans lequel Un programme principal appelé serveur tourne
en permanence (ou est prêt à tourner) Des programmes client se connectent
occasionnellement au serveur, échangent des données, puis se déconnectent
Paradigme systèmes distribués Autre inspiration : dans une équipe,
chacun sa tâche Paradigme système distribué : modèle de
communication dans lequel : Les données et les instructions de traitement
sont réparties sur plusieurs ordinateurs … … qui communiquent avec des programmes
spéciaux, pour interagir, partager les résultats, et réaliser ensemble une tâche complexe
Applications client-serveur usuelles Courrier électronique
Dans la famille des moyens de communications comme les lettres, le fax, les sms
Transfert de fichiers (ftp)Comparable à un système de
bibliothèque, où l’on demande à un employé de chercher des ouvrages, on attend, puis les ouvrages sont apportés
(suite) Session distante (telnet)
Dans la famille des moyens de contrôle à distance, comme la consultation de compte bancaire, l’achat de billet de train …
Forums de discussion (newsgroup)Dans la famille des moyens d’échange
d’information comme les petites annonces de journaux. Sorte de pannaux d’affichage à echelle mondiale
(suite) Consultation de pages Web (World
Wide Web) Dans la famille des moyens de
consultation et d’information comme la télévision, la consultation de catalogue de vente par correpondance …
Courrier électronique Permet l’échange de messages Rédigés au moyen d’un logiciel dédié ou de
simples éditeurs de texte Envoyés et consultés au moyen de logiciels
spécifiques Chaque utilisateur dispose d’une adresse
internet e-mail, de la forme nom@domaine. Le domaine peut être formé de plusieurs mots, séparés par des points. Le dernier est soit un indicatif de pays, soit un top-level (.com, .gov, .net, .org …).
Transfert de fichiers : ftp Permet la copie de fichier d’un
ordinateur à l’autre En fonction de droits spécifiques Les machines sont identifiées par
une adresse ou un nom réseau : machine.domaineexemple : moneta.univ-st-etienne.fr
Sur la machine qui initie la communication, il faut avoir le programme client ftp (WS_ftp …)
L’autre machine doit avoir en exécution un processus serveur ftp, à l’écoute d’éventuelles requêtes de connexion et transfert
L’utilisateur du client doit être connu par la machine serveur, ou bien celle-ci doit permettre les connexions anonymes avec un login anonymous
Session distante : telnet Permet la connexion et le dialogue
avec un ordinateur distant multi-tâche/multi-utilisateur
À travers une émulation de terminal : Chaque touche du clavier appuyée est
envoyée à l’ordinateur distant Chaque caractère émis par l’ordinateur
distant est récupéré et affiché
Nécessite (comme ftp) une application client telnet et un serveur qui écoute les requêtes de connexion et lance les programmes gérant les communications
L’utilisateur doit être connu par la machine serveur
Forums de discussion (newsgroup)
Permet l’échange de messages (opinions, questions/réponses, petites annonces …) à l’échelle d’Internet
Groupes de discussions repertoriés par thèmes et sous-thèmes : soc.culture.ecuador, comp.os.linux.admin
Web Browsing Permet la visualisation de documents
multimédia entreposés sur des ordinateurs distants
Au moyen d’un navigateur (IE, Mozilla, Opera …)
Qui se connecte à des serveur Web à travers le réseau, leur demande des fichiers précis, les récupère et les affiche à l’écran
Les fichiers distants résident dans des répertoires dédiés
(suite) Les fichiers récupérés et affichés comportent
De l’information utile pour l’utilisateur du browser
Des hyperliens vers d’autres fichiers, qui sont des ponts pour aller trouver d’autres fichiers, éventuellement sur d’autres ordinateurs
Ces liens sont activés avec la souris pointée en appuyant sur le bouton gauche
Et le browser recherche alors les nouveaux fichiers et les affichent
Côté serveur Les cgi (Common Gate Interface),
calculent ou retrouvent des données, et les fournissent comme résultat à afficher par le browser
PHP permet la génération de pages dynamiques et l’interfaçage avec des bases de données
Côté client Les applets Java : un langage
compilé en code virtuel, interpreté par le browser
Les contenus JavaScript : un langage interpreté avec des fonctionnalités plus flexibles et dynamiques que HTML
Adressage et fichiers du web browsing
Chaque fichier est repertorié au moyen d’un URL (Uniform Ressource Locator), de la forme Protocole://machine.domaine/chemin/fichier
Les hyperliens sont des mentions de tels URL à l’intérieur d’un fichier, rédigés dans un langage spécial (Hyper Text Markup Language)
Le fichier peut être : du texte simple, des images, du son, une vidéo, une URL
Les protocoles sont : http, https,ftp, telnet, mailto, …
Sécurité des transmissions Problème général de tout moyen de
communication Différents types d’attaques :
Écoute frauduleuse (Charles écoute ce que Bernard dit à Alice)
Imposture (Alice croit que Bernard lui écrit, alors que c’est Charles qui l’a fait)
Accès frauduleux (Charles se connecte sur un ordinateur sur lequel il n’a pas de droit d’accès)
Copie illégale (Charles donne à Alice une copie d’un document qu’il n’a pas le droit de reproduire)
Sécurité Solutions basées sur l’arithmétique
des grands nombres et les limitations actuelles de calcul
Plusieurs familles, dont celle des clés publiques
Une méthode répandue : RSA
Système de protection à clé publique Alice possède une clé (un nombre) publique, que
tout le monde connaît, y compris Bernard et Charles Alice possède une clé privée, qu’elle seule connaît Quand Bernard écrit à Alice, il code le message à
l’aide de la clé publique d’Alice, par une opération arithmétique difficilement réversible
Quand Alice reçoit le message, elle le décode avec sa clé privée
Seule la clé privée permet de décoder correctement le message codé avec la clé publique
Système d’authentification à clé publique Pour que Alice soit certaine que c’est
bien Bernard qui lui avait écrit, Bernard, écrit son nom à la fin du message et le code avec sa clé privée
Le système étant symétrique, Alice décode la fin du message avec la clé publique de Bernard, et vérifie que le résultat obtenu est bien le nom de Bernard
Comment circule l’information Elle est découpée en paquets de bits Comparable aux chemins de fer :
l’information est un chargement, mis dans plusieurs trains indépendants, qui doivent tous aller de A vers B
Les trains peuvent se suivre sur la même voie, ou bien emprunter des voies ou des trajets différents, arriver à des moments différents, se perdre …
Comment circule l’information Le mécanisme global fait que tout le
chargement arrive (si des trains sont perdus, d’autres sont renvoyés avec le remplacement du chargement)
Les trains sont aiguillés dans des directions précises
Parfois, des trains très longs sont décomposés dans des sous-trains, en regroupant des wagons
Comment circule l’information Un réseau est dit local (Local Area Network)
lorsqu’il s’étend sur quelques centaines de mètres (bâtiments …)
Les réseaux locaux sont interconnectés, formant des réseaux de plus grande taille
Dans un réseau local, les paquets émis atteignent tous les ordinateurs, et seul le destinataire les récupère
Pour aller d’un LAN à un autre, il faut faire du routage, au moyen d’ordinateurs appelés routeurs
Caractéristiques d’un réseau Le graphe de connexion Le médium physique utilisé : courant
électrique, ondes lumineuses, radio … Les programmes gérant les communications
: pile de protocoles La structure en couche (norme Open
Systems Interconnections) : chaque couche prend les données de la couche supérieure, les traite, et les fournit à la couche inférieure. Une couche ne « dialogue » qu’avec la couche correspondante
Schéma OSI
Couche application
Couche présentation
Couche session
Couche transport
Couche réseau
Couche liaison de données
Couche physique
Couche application
Couche présentation
Couche session
Couche transport
Couche réseau
Couche liaison de données
Couche physique
Couche physique Assure l’interface avec le matériel Prend en charge la bonne
conversion des signaux digitaux en signaux analogiques, la modulation, l’emission physique sur la ligne de communication, la réception
Le filtrage du bruit, la reconversion en signaux digitaux
Couche liaison de données Met les paquets (trains) qui lui sont
donnés par la couche réseau dans des trames (l’unité de transmission pour cette couche = groupe de wagons)
Assure la bonne transmission de chaque trame (délimitation dans le flot de signaux, synchronisation) sur une ligne point-à-point (i.e. entre deux ordinateurs)
Couche liaison de données Utilise des algorithmes de
correction d’erreur Peut mettre en oeuvre un contrôle
de congestion limitée à la ligne point-à-point
Gère l’accès des ordinateurs à la ligne, lorsqu’elle est partagée
Couche réseau Assure la bonne transmission de chaque
paquet (train) qui lui est confié par la couche transport, indépendamment des autres paquets, de l’émetteur jusqu’au destinataire, donc à travers (éventuellement) d’autres réseaux intermédiaires
Gère les tables de routage qui indiquent comment il faut acheminer les paquets qui traversent plusieurs réseaux avant d’arriver à destination
Couche réseau Contrôle la congestion du réseau
avec des algorithmes spécifiques (sceau percé, files d’attentes, …)
Détecte et corrige les erreurs (avec le couche liaison)
Couche transport Assure la bonne transmission d’un
message, de l’expéditeur au destinataire Récupère le message et le segmente en
un groupe de paquets S’assure qu’ils soient délivrés dans
l’ordre, tous, et sans duplication Met en œuvre des algorithmes qui
numérotent les paquets, récupèrent des accusés de réception, et gèrent ainsi le traffic au niveau global
Couche session Première couche « au dessus » du
niveau réseau concret Gère la connexion lorsqu’il s’agit de
communications établissant un canal virtuel (un peu comme un conversation téléphonique)
Aide à la synchronisation des entités communiquantes (jeton pour la gestion des ressources critiques)
Couche présentation Assure les éventuelles conversion
de type ou de format de données nécessaires, en tant qu’interface entre l’application et les protocoles réseau
Assure une partie de la compression des donnée
Assure le cryptage-décryptage des données transmises
Couche application Constitué des applications qui
utilisent les services réseau Évoqué précédemment
Protocoles usuels : TCP/IP, Ethernet
Ordinateur 1
telnet, ftp, smtp …
TCP
IP
Ethernet
Câble ethernet
Ordinateur 2
telnet, ftp, smtp …
TCP
IP
Ethernet
Câble ethernet
Ethernet Standard pour les réseaux locaux (couche
physique et liaison de données) Câbles électriques sur lesquelles les
ordinateurs écoutent et essaient de communiquer, écoutant le résultat
Si des collisions apparaissent (deux ou plusieurs ordinateurs ont émis des signaux en même temps), les essais sont renouvelés, après des attentes probabilisées
Ethernet Câbles coaxiaux, et maintenant
10BaseT (10 Mbps) et 100BaseT (100 Mbps)
Présence de concentrateurs (hubs) et de commutateurs (switches)
TCP/IP Standard pour les réseaux, et les réseaux de
réseaux Chaque ordinateur possède un identificateur
unique, son adresse IP : quatre octet x.y.z.t Des correspondances entre les adresses IP
et les nom machine.domaine sont faites par des ordinateurs spécifiques, appelés serveur de noms (Domain Name Server) connectés au réseau
Les adresses IP ont une structure : partie réseau et partie hôte
Classes d’adresses
Classe A 0Net id 7
bitsHost id 24 bits
Classe B 1 0 Net id 14 bits Host id 16 bits
Classe C 1 1 0 Net id 21 bitsHost id 8 bits
Dialogue TCP/IP Pour émettre un paquet, un ordinateur doit
spécifier (entre autres) l’adresse du destinataire, son adresse d’émetteur, la longueur des informations, et le paquet effectif
Le protocole TCP/IP assure la livraison du paquet, même si plusieurs réseaux sont à traverser, et assure aussi la livraison intégrale, correcte, dans le bon ordre et sans duplication, de plusieurs paquets
Il existe un autre protocole, UDP, qui permet seulement l’envoi de datagrammes, unités de communication, sans garantir leur livraison
TCP et UDP identifient les applications avec des numéros de ports
Encapsulation de l’information
Données utilisateur + en-tête application
En-tête TCP
Données application
En-tête IP En-tête TCP
Données application
En-tête Ethernet
En-tête IP En-tête TCP
Données application
Remorque Ethernet
telnet, ftp, smtp …
TCP
IP
Ethernet
Câble ethernet
46 à 1500 octets
Problème de traffic dans les réseaux Il faut pouvoir mettre à jour les tables de routage,
pour avoir le réseau opérationnel en cas de changements : Ordinateur (routeur) qui tombe en panne, ou trop
occupé Ordinateur (routeur) nouveau qui apparaît sur le
réseau Liaisons défectueuses Liaisons nouvelles
Il faut pouvoir redimensionner les réseaux (locaux ou longue distance), bien choisir entre les commutateurs (plus cher, mais sans réduire la BP) et les concentrateurs (moins chers mais réduisant la BP)
Problème de traffic Comme sur les autoroutes, il peut y
avoir des bouchons Il faut contrôler le nombre de paquets
sur les lignes En stocker dans des zones tampon, si
possible Réguler le traffic, gérer la congestion À l’aide d’algorithme de contrôle, qui
sont activement développés
TCP/IP, Internet : aspects techniques Savoir si un ordinateur est atteignable :
ping www.univ-st-etienne.fr Savoir ce qui se passe sur le trajet d’un
ordinateur à un autre : traceroute www.nasa.gov
Si le serveur de noms est un ordinateur sous Unix, la gestion est assurée par un « démon » (named) qui a les tables de correspondance adresse IP-nom. Pour ajouter ou supprimer un ordinateur ou une imprimante, il faut éditer le fichier et redémarrer le démon
Schéma des protocoles TPC/IP Il en existe plusieurs dans cette famille Servant aussi à des tâches
administratives : ICMP – extension de IP IGMP – multi-casting ARP,RARP – conversions adresse IP-num
Ethernet et réciproquement BOOTP, DHCP – conversion et configuration
au lancement
TCP/IP, Internet et système d’exploitation Pour bien gérer les communications, TPC/IP
définit pour chaque machine des numéros de port, un peu comme les quais d’une gare
Parallèle Message : chargement dans plusieurs trains Ordinateur : gare Lignes de communications : voies ferrées Paquets d’information : trains Adresses IP : coordonnées des gares Noms IP : noms des gares Ports : quais dans la gare
TCP/IP, Internet et les ports Les protocoles d’application (comme telnet, ftp,
http, …) utilisent des numéros de port standard, sur tous les ordinateurs
Sur ces ports, des processus spéciaux (des démons) sont à l’écoute de requête de communications
Lors d’une requête favorablement traitée, un processus spécialisé pour le traitement d’une requête est lancé, et s’en occupe
Parallèle : centre d’allocation des trains au quai dans une gare, ou encore l’accueil dans une administration, où l’on prend un ticket en attendant d’être dirigé vers un guichet spécifique
TCP/IP et Unix L’objet de base pour gérer les
communications est la socket A l’aide de fonctions spécifiques, on crée des
sockets, on les attache à des ports, on écoute pour savoir s’il y a une requête de connexion, on envoie des messages, on récupère des messages
Les système possède aussi des commandes de surveillance des connexions en cours (netstat pour énumérer les sockets ouvertes)
Parallèle : commande ps pour les processus