Réseaux Types de réseaux Caractéristiques Comment ça marche Protocoles Réseaux locaux Interconnection de réseaux IP et routage 1
Introduction aux réseaux informatiques Un réseau informatique (computer network) est un système de communication (ensemble matériel + logiciel) qui permet à un ensemble d ordinateurs (au sens large) d échanger de l information Les réseaux servent avant tout à réaliser des services accessibles à partir de tout organe connecté au réseau mis en œuvre par un ensemble d ordinateurs sur le réseau exemples de services Lien entre réseaux et systèmes d exploitation Le réseau (support de communication) comme organe d entrée-sortie le courrier électronique (mail) le transfert de fichiers (ftp) l accès à distance (telnet) l accès au World Wide Web les services utilisant le Web : documentation, commerce électronique, etc. le réseau (ensemble de serveurs) comme super-machine 2
Types de réseaux (1) Les réseaux peuvent être classés selon différents critères Nature de la liaison entre les organes connectés (nœuds) Liaison directe point à point accès multiple Liaison commutée (analogie avec le réseau téléphonique commuté) Les supports physiques de la communication peuvent être divers paires de fils, câble coaxial, fibre optique, radio, infra-rouge, etc. Couverture géographique (réseau local, à grande distance, etc.) 3
Types de réseaux (2) Réseaux locaux (Local Area Networks, LAN) Communication au sein d une organisation (département d entreprise, etc.) Administration unique Couverture géographique limitée (~1 km) Débit élevé, taux d erreur faible Topologies diverses : bus, anneau Réseaux à grande distance (Wide Area Networks, WAN) Communication entre des organisations diverses Administrations multiples Couverture géographique étendue : un pays, toute la planète Débit variable, taux d erreur parfois non négligeable Topologie maillée ; interconnexion de réseaux (exemple : l Internet) Réseaux métropolitains (Metropolitan Area Networks, MAN) Intermédiaires entre LAN et WAN - qq dizaines de km, ville ou région Autres réseaux Interconnexion de grappes de machines (clusters) - Desk Area Networks (DAN) - Storage Area Networks (SAN) : réseaux pour le stockage de données Réseaux de mobiles bus anneau 4
Bref historique des réseaux informatiques L Internet et les applications réseaux spécialisés militaires comp. aériennes Arpanet 1969 mail, ftp, telnet 1970 1980 1990 recherche 2000 4 sites x 100 sites 100 000 sites l Internet appel de procédure à distance World Wide Web navigateurs moteurs de 6 millions de sites Outils logiciels CORBA Java client-serveur commerce électronique téléphonie appli. mobiles 100 millions de sites Quelques avancées technologiques commutation par paquets paquets radio Aloha téléphonie numérique ATM ADSL Ethernet ISDN (RNIS) 622 Mbit/s modem rapide 64 kbit/s Myrinet 1970 1973 1980 1990 1 000 Mbit/s 2000 1964 anneau à jeton 3 Mbit/s 10 Mbit/s Ethernet 100 Mbit/s 1000 Mbit/s Fast Ethernet Gigabit Ethernet constellations de satellites couverture, accès universel informatique mobile 5
Performances des réseaux (1) Deux mesures principales de performance Débit (throughput) : quantité d information par unité de temps. Unité : bit/s (Kbit/s, Mbit/s, ) une mesure corrélée au débit est la bande passante (Hz, KHz,...) (oscillations) Latence (latency) : temps écoulé entre l émission d un bit et sa réception. Unité : s (ms, µs, ) on s intéresse aussi parfois au temps d aller-retour (round trip time ou RTT) Facteurs de performance Latence = durée de transmission + temps de propagation + temps d attente Durée de transmission : taille du message / débit c'est le temps nécessaire pour transmettre les données (les envoyer sur le réseau) Temps de propagation : distance / vitesse de propagation c est le temps nécessaire pour que les données aillent de l émetteur au récepteur Temps d attente c est le temps perdu par le système de communication (notamment à cause de l occupation des ressources) La somme (temps de propagation + temps d attente), ou latence de base, est un délai incompressible (temps écoulé avant de recevoir le 1-er bit d un message) 6
Performances des réseaux (2) Débit et latence ont un impact variable selon les applications Exemple 1 : message bref (interaction question-réponse) Envoi 1 Kbit, retour 1 Kbit, distance 10 000 km. Temps incompressible d aller-retour = 100 ms (si vitesse = 2c/3). Temps de transmission = 2 ms à 1 Mbit/s, 0,02 ms à 100 Mbit/s. Conclusion : la latence est dominante, le débit a peu d influence Exemple 2 : message très gros (fichier multimédia) Envoi 100 Mbit, distance 10 000 km. Temps incompressible de propagation = 50 ms. Temps de transmission = 100 s à 1 Mbit/s, 1 s à 100 Mbit/s. Conclusion : le débit est dominant, la latence a peu d influence délai latence de base = attente + propagation débit faible latence de base faible débit élevé latence de base forte taille du message 7
Qualité de service La qualité de service (Quality of Service, QoS) désigne un ensemble de facteurs de qualité nécessaires aux besoins d une application particulière Exemples Faible taux d erreur (probabilité pour qu un bit ou un message soit perdu ou modifié) nécessaire si les données sont peu redondantes Stabilité de la latence (absence de gigue) nécessaire pour les applications multimédia (son et vidéo) Garantie d une limite supérieure sur la latence nécessaire pour les applications critiques liées au temps réel Garanties de qualité de service Problème difficile! Voies d approche : réservation de ressources 8
Comment fonctionne un réseau? (1) une requête sur le Web http://sirac.imag.fr/ un fichier HTML client l Internet Vu de l utilisateur serveur web on clique sur un lien une page web s affiche sur l écran Sur la station client le programme navigateur envoie une requête au serveur correspondant à l URI (Uniform Resource Identifier) associé au lien (si tout se passe bien) le programme navigateur reçoit un fichier HTML qu il sait afficher sur l écran Sur le réseau, il faut : trouver le bon serveur (celui qui correspond à l URI) transporter la requête depuis la station client vers le serveur transporter le fichier depuis le serveur à la station client 9
Comment fonctionne un réseau? (2) 194.199.20.1 sirac.imag.fr l Internet client le service de noms DNS ( annuaire ) serveur web Première étape : localiser le serveur Via le service de noms de l Internet (DNS) qui associe un nom à une adresse IP (fonctionne comme un annuaire) Toute machine connectée à l Internet a une adresse IP Question : comment trouver l annuaire? Réponse : on connaît l adresse IP d'un point d entrée message Deuxième étape : envoyer la requête au serveur Comment est transmise la requête? La requête est un message (une suite de bits). Elle est découpée en paquets de taille fixe Chaque paquet est envoyé sur le réseau 8 7 6 5 4 3 2 1 envoi paquets 10
Comment fonctionne un réseau? (3) 8 7 paquets routeur 194.199.20.1 2 client 4 5 6 1 3 serveur web L Internet est une interconnexion de réseaux (internetwork) Les réseaux sont reliés entre eux par des routeurs Chaque paquet contient son numéro et son adresse de destination. Quand il arrive sur un réseau, et que le site destinataire n en fait pas partie, le paquet est transmis à un routeur. Les routeurs contiennent les informations qui permettent d acheminer le paquet vers son site destinataire 11
Comment fonctionne un réseau? (4) Fonctionnement du serveur Le serveur reconstruit le message initial en mettant les paquets dans l ordre de leurs numéros Que fait le serveur à la réception de la requête? Le site serveur interprète la requête comme une demande de fourniture de fichier (HTML) Il envoie le fichier au client (sous forme d une suite de paquets, comme précédemment) Que se passe-t-il si un paquet s est perdu, ou a mal été transmis? Le destinataire est capable de le détecter et demande qu on lui renvoie le paquet manquant ou erroné. Transmission de l information Comment sont transmis concrètement les paquets? Chaque paquet est une suite de bits. La transmission utilise un support physique : fils, fibre optique, ondes radio, etc., sur lequel sont envoyés des signaux (électriques, lumineux, etc.). Chaque bit (0 ou 1) est représenté par une configuration particulière du signal Exemple 1 0 0 1 0 1 1 12
Notions de protocole et d interface (1) L exemple de la requête sur le web permet d identifier divers niveaux d échange entre le client et le serveur le niveau de l application : le client clique sur un lien, le serveur renvoie une page web le niveau des messages : le client envoie un message contenant une URI, le serveur renvoie un message contenant un fichier HTML le niveau des paquets : le message du client est découpé en paquets, les différents routeurs du réseau les acheminent vers le serveur (idem pour le retour) le niveau de la transmission des bits : pour envoyer les paquets, chaque bit (0 ou 1) est transmis comme un signal électrique sur une ligne. chaque niveau utilise les fonctions du niveau inférieur Les notions de protocole et d interface visent à représenter ce mode de fonctionnement 13
Notions de protocole et d interface (2) Protocoles en couches interface i couche i entité coopérante protocole niveau i entité coopérante interface i-1 couche i-1 Interface (d un service) : ensemble de fonctions (logicielles ou matérielles) et de règles d accès utilisables pour accéder au service Protocole : ensemble de conventions définissant les échanges entre des entités qui coopèrent pour réaliser un service Relations entre protocoles et interfaces une interface définit l accès à un service, un protocole définit la réalisation d un service la construction d un protocole utilise souvent des protocoles de niveau inférieur (plus élémentaires), en accédant à leurs interfaces 14
Les protocoles de l Internet applications HTTP FTP TFTP dépend de l application transport transfère un message ou un flot de données entre émetteur et récepteur TCP UDP messages flots d octets réseau achemine un paquet entre deux hôtes sur des réseaux interconnectés IP paquets liaison physique envoie une suite de bits entre deux hôtes sur un même réseau spécifié Ethernet FDDI trames bits HTTP : HyperText Transfer Protocol : protocole du Web TFTP, FTP : (Trivial) File Transfer Protocol : transfert de fichiers TCP :Transmission Control Protocol : transport en mode connecté UDP : User Datagram Protocol : transport en mode non connecté IP : Internet Protocol : Interconnexion de réseaux, routage 15
Le réseau Ethernet (réseau local) Le réseau local le plus utilisé Topologie : bus ou étoile bus Adressage : adresse MAC (48 bits) Emission : CSMA/CD : Carrier Sense Multiple Access / Collision Detection Conversion adresses IP / adresses MAC Address Resolution Protocol (ARP) Diffusion + cache local + dorsale répéteur hôte contrôleur (carte Ethernet) hôte étoile boîte de connexion (hub) 16
Organisation de l Internet (très simplifiée) réseau régional Dorsales (liaisons à très haut débit) réseau régional réseau régional réseau national réseau régional réseau régional réseaux locaux réseaux locaux Interconnexion de domaines autonomes (ensembles de réseaux), dont chacun est géré par une autorité administrative Des regroupements (national, régional, local, etc.) permettent de coordonner la gestion Exemples en France : RENATER (Réseau de la Recherche), ARAMIS en Rhône-Alpes, etc. 17
Principe de l interconnexion de réseaux Un routeur relie entre eux deux ou plusieurs réseaux, qui peuvent être hétérogènes H6 H7 H8 Il peut y avoir plusieurs chemins entre deux hôtes réseau 4 R6 hôte H4 H5 H9 réseau 5 réseau 2 R3 R5 H12 routeur R1 R2 réseau 3 H13 réseau 1 R4 réseau 6 réseau 7 H1 H2 H3 H10 H11 18
Adresses IP Tout hôte connecté à l Internet a une adresse IP Adresse = (numéro de réseau, numéro de l hôte sur le réseau) 32 bits. 3 classes de réseaux classe A classe B 0 1 0 réseau 7 24 14 16 réseau hôte hôte 128 réseaux de 2 24 (~16 millions) sites 16384 réseaux de 65535 sites 21 8 classe C 1 1 0 réseau hôte 2 21 (~2 millions) réseaux de 255 sites (255 = adresse de diffusion) Notation standard d une adresse IP : 4 tranches de 8 bits (ex : 194.199.20.61) Adresse privée à un réseau local par exemple classe C : 192.168.0.x Serveur NAT (Network Adress Translation) Adressage des routeurs Un routeur connecté à plusieurs réseaux possède plusieurs adresses IP 19
Protocole IP : acheminement des paquets (1) Problème de l acheminement (forwarding) Comment un paquet IP est-il transmis entre son hôte d'origine et son hôte de destination (l un et l autre définis par leur adresse IP)? Réponse : en utilisant des informations d aiguillage présentes dans les routeurs (sur quelle sortie renvoyer un paquet en fonction de son adresse de destination) Problème du routage (routing) Comment construire les informations d aiguillage (tables de routage) qui servent à l acheminement? Comment faire évoluer ces informations au cours du temps, pour maintenir les performances du réseau et résister aux défaillances des lignes ou des routeurs? 20
Protocole IP : acheminement des paquets (2) Exemple de table de routage pour le routeur R5 N réseau envoyer à destination H6 H7 H8 1 R4 (sur réseau 6) 2 R3 (sur réseau 6) 3 R3 (sur réseau 6) 4 R6 (sur réseau 5) 5 sortie 1 6 sortie 0 7 sortie 2 par défaut R3 (sur réseau 6) hôte routeur H4 H5 réseau 2 R1 R2 réseau 4 R3 réseau 3 H9 R6 réseau 5 R5 H12 H13 sortie 0 réseau 5 sortie 1 réseau 7 réseau 1 H1 H2 H3 R4 H10 réseau 6 H11 réseau 7 réseau 6 R5 sortie 2 21
Le problème du routage Une première formulation générale du problème On connaît les temps de transit entre chaque paire de noeuds connectés On veut créer sur chaque nœud les informations permettant de choisir le meilleur chemin vers une destination donnée Alors (par énumération) on peut construire pour chaque nœud les tables de routage indiquant pour chaque destination finale le prochain nœud du meilleur chemin 2 D 4 2 B F 1 2 A 4 2 C E 3 4 Mais les temps de transit changent (surcharge, pannes...) Principe du routage adaptatif Mesure des temps de transit entre les voisins Construction progressive des tables de routage en échangeant les tables entre les noeuds Mise à jour périodique 22
Protocole IP : compléments et conclusion Un problème non abordé : la congestion Les routeurs ont un espace de stockage intermédiaire pour les paquets en transit En cas de surcharge, cet espace peut être insuffisant ; des paquets sont alors perdus Les protocoles de transport (notamment TCP) utilisent des algorithmes de contrôle de congestion pour limiter (non entièrement éviter) la congestion Quel service fournit le protocole IP? Le protocole IP fait de son mieux (best effort) pour acheminer un paquet entre son origine et sa destination Mais il ne garantit pas l arrivée effective du paquet à destination une borne supérieure du temps de transit que les paquets arriveront dans l ordre de leur émission C est aux protocoles de niveau supérieur de prendre les mesures nécessaires pour tenir compte de ces caractéristiques : détecter les pertes, réordonner les paquets, réserver des ressources, etc. En contrepartie, la simplicité et la robustesse d IP lui assurent une position de standard universel 23
Quelques commandes (Unix) pour observer le réseau Service de noms DNS : nslookup Passage du nom de domaine (ex : thales.e.ujf-grenoble.fr) à l adresse IP et vice versa host <nom de domaine> host <adresse IP> Test, temps de propagation : ping ping <nom de domaine> indique si l hôte est actif (réponse avant délai de garde) ping -s <nom de domaine> donne aussi le temps moyen de transmission et les statistiques sur les pertes de paquets Détermination du chemin suivi dans le réseau et des temps intermédiaires : traceroute traceroute <nom de domaine> voir man pour les détails Lecture des tables gérées par le protocole ARP (correspondance adresse IP - adresse Ethernet) : arp arp <nom de domaine> pour un hôte particulier arp -a tous les hôtes de l Ethernet Consulter le fichier /etc/hosts liste des hôtes administrés localement (y compris imprimantes, terminaux X, routeurs) 24
Quelques services utilisant le réseau Services de commande à distance Telnet (23), rsh (514), ssh (22) affichage sur le client / exécution sur le serveur Services de copie de fichiers rcp, scp Ftp (21) Services de messagerie Pop (110), imap (143), smtp (25) 25
Quelques mots sur le chiffrement Chiffrement / déchiffrement Chiffrement de César Décaler chaque lettre de N salut => vdoxw (N=3) ou hal => ibm (N=1) Pas de Chiffrement incassable Si on note : { M } k M chiffré par la clé K [ C ] k C déchiffré avec la clé K Chiffrement symétrique M = [ { M } K ] K Chiffrement asymétrique (par clés publiques/privées) M=[{M} KP ] KS =[{M} KS ] KP 26