Information, Calcul et Communication Information, Calcul et Communication Modul : Systèmes Les réseaux: pourquoi et comment? Information, Calcul et Communication Modul, Leçon 4: Réseaux Contenu P. Janson & Willy Zwaenepoel Format A. Ailamaki En fait une question similaire à celle discutée au chapitre du stockage: Dans le cas du stockage Où et comment stocker des de façon à pouvoir les retrouver plus tard? Quand et comment envoyer des de façon à pouvoir les recevoir à distance? Dans le cas des réseaux
Plan informatiques Le besoin de structure dans la transmission de Imaginons un signal arrivant d un réseau, sans aucune structure La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocols de l Internet (TCP/IP) Comment savoir si c est un signal électrique réel ou juste du bruit? Comment le convertir en un signal numérique binaire? Comment savoir où il commence et où il finit? Comment savoir d où il vient? Comment interpréter ce qu il contient? un protocole de communication structure la transmission de Un protocole de communication La notion de protocole Toute communication est gouvernée par un protocole Un jeu de règles qui structure une communication Y compris, la communication entre êtres humains, p. ex., Salle de cours Au téléphone Message écrit
La différence avec la communication entre ordinateurs Plan Un protocole entre êtres humains peut être vaguement défini Un protocole entre ordinateurs doit être fixé dans tous les details La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocoles de l Internet (TCP/IP) La communication par téléphone Une situation typique dans la téléphonie débit Le débit d information est (a) constant et (b) faible temps
La communication entre ordinateurs Une situation typique de communication entre ordinateurs L information arrive en rafale (périodes de volume faible suivies par des hautes et soudains volumes d information) débit Le débit est tres élevé quand il y a communication Le débit est nul autrement temps La communication par téléphone La commutation de circuits dans la téléphonie débit circuit avec un débit D réservé Réserver un circuit entre source et destination Commutation de circuits D temps
La communication entre ordinateurs Pas approprié pour la communication par ordinateur débit? Quel débit choisir? La réservation d un circuit serait très inefficace? En tout cas, inefficace temps Commutation par paquets Exemple: Comment envoyer un fichier On découpe l information en paquets Fichier a envoyer Décomposer le fichier en paquets On les envoie à destination, un paquet à la fois paquet 3 paquet 2 paquet 1 paquet 0 Modèle La Poste Envoyer les paquets l un après l autre temps
Exemple: comment recevoir un fichier Commutation par paquets: problèmes! temps Recevoir les paquets un par un paquet 3 paquet 2 paquet 1 paquet 0 Des paquets peuvent être perdus en route Mettre les paquets en ordre Des paquets peuvent arriver en désordre Recontruire le fichier original On verra plus tard comment traîter ces cas fichier Commutation par paquets est omniprésente Plan L internet Presque tout réseau pour ordinateur Même la téléphonie (Skype!) Protocole: le jeu de règles Exemple: WiFi, Ethernet, La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocoles de l Internet (TCP/IP)
Un exemple de protocole Le principe d un acquittement (ACK) Disons que l ordinateur A veut Envoyer un paquet à l ordinateur B Savoir si le paquet est arrivé B envoie à A un paquet de type spécial qui s appelle paquet d acquittement (ACK qui vient du mot anglais acknowledgement) ACK signifie c est ok, je l ai recu Attention! Inclusion du type de paquet A peut confondre un paquet d acquittement avec un paquet des! type Il faut maintenant distinguer Les paquets avec des Les paquets d acquittement type = paquet de ou paquet d acquittement Comment faire? On met dans le paquet une information de type
Mais alors? Le principe de la retransmission Après un temps t, A retransmet le paquet à B Que fait A quand l acquittement n arrive pas? Jusqu à ce qu'un acquittement soit reçu Apres un nombre d essais max, A abandonne Pendant ce temps, du coté de la destination... Inclusion du numéro de séquence Comment B sait qu un paquet est : Une retransmission? Un nouveau paquet? Il faut identifier le paquet type seq seq# = 0, 1, 2, On met dans le paquet un numéro de séquence
Adressage Inclusion d adressage A doit indiquer que le paquet est destiné à B dest src type seq# A doit indiquer qu il est à l origine du paquet Mettre les adresses de A et B dans le paquet L entête (header) d un paquet Structure du paquet Chaque paquet consiste en : entête Des D un entête: type, numéro de séquence, taille, adresse source et destination, etc.
Envoi d un fichier en paquets Réception d un fichier en paquets fichier paquet 3 paquet 2 paquet 1 paquet 0 Fichier à envoyer Décomposer le fichier en paquets Recevoir les paquets un par un Enlever les entetes et mettre les paquets en ordre paquet 3 paquet 2 paquet 1 paquet 0 entête Ajouter des entêtes et envoyer les paquets un par un Recontruire le fichier original fichier Opération d un protocole A la transmission d un paquet, le protocole reçoit les ajoute au paquet un entête transmet le paquet A la réception d un paquet, le protocole enlève l entête du paquet passe les Plan La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocole de l Internet (TCP/IP)
Comment fait l ordinateur pour? Le matériel: l interface réseau Transmettre un paquet? Recevoir un paquet? Autrefois, une carte réseau * Une partie matériel Une partie logiciel Maintenant, une puce *NIC: Network Interface Card Que fait l interface réseau? Le logiciel: le pilote réseau Transmission: Prend un paquet de la mémoire de la machine Transmet le paquet sur le réseau Informe le processeur que la transmission est finie par une interruption Réception L inverse Transmission Prépare le paquet en mémoire Indique à l interface l addresse et la taille Envoie la commande à l interface de transmettre Attend l interruption Réception L inverse
Transmission: les intervenants Transmission: le pilote réseau processeur mémoire processeur mémoire interface réseau interface réseau réseau réseau Transmission: le pilote réseau Transmission: le pilote réseau processeur mémoire processeur mémoire commande interface réseau interface réseau réseau réseau
Transmission: l interface réseau Transmission: l interface réseau processeur mémoire processeur mémoire interface réseau interface réseau réseau réseau Transmission: l interface réseau Plan processeur interruption mémoire interface réseau réseau La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocole de l Internet (TCP/IP)
L Internet Les réseaux Un réseau de réseaux Le réseau de l EPFL est composé De plusieurs réseaux sans fil De plusieurs réseaux cablés Les réseaux Les réseaux Le réseau Swisscom est composé De plusieurs réseaux sans fil De plusieurs réseaux cables Même chose pour les autres ISP (Internet Service Provider) Le réseau en Suisse est composé de Les réseaux des sociétés Les réseaux des écoles Plusieurs réseaux nationaux
L internet est composé Des réseaux nationaux Des réseaux des ISP De réseaux backbone L Internet IBM US COOP EPFL Swisscom IBM UK Backbone 1 chez COOP IBM CH CHUV Sunrise Backbone 2 nous COOP IBM JP Comment gérer cette complexité? Chaque réseau a son propre protocol WiFi, Ethernet, Comment faire pour communiquer entre deux machines sur différents réseaux? Comment distinguer traffic Web d autre traffic? Comment distinguer le traffic Web d un utilisateur particulier? Mise en oeuvre du Principe d'abstraction et de la décomposition top-down des problèmes à l'échelle des systèmes de communications informatiques Les couches = L abstraction des protocoles A chaque niveau son protocole Exemple téléphonique 2014 Ph. Janson Plan Transport Réseau Lien Physique Conversation entre interlocuteurs Connexion électronique entre Natels Routage entre antennes via commutateurs Connexion entre votre Natel et sa station GSM Conversion audio > signal électrique sur Natel => Chaque couche gère et abstrait les phénomènes de son niveau pour affranchir les autres couches de ces détails 59 / 51 La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocoles de l Internet (TCP/IP)
La modularisation: le but La modularisation: c est quoi? Un protocole peut devenir très compliqué La modularisation cherche à maîtriser cette complexité Le protocole est divisé en couches Chaque couche a Sa propre fonction Son propre entête Son propre logiciel Les couches se reposent l une sur l autre Comment ça marche? Comment ça marche? Chaque couche existe sur chaque machine Du point de vue logique Communication entre les couches du même niveau Du point de vue physique Communication entre les couches sur une seule machine Sauf au niveau 1 Couch Couch Couch machine 1 Couch Couch Couch machin
Communication logique Communication physique Couch Couch Couch Couch Couch Couch Couch Couch Couch Couch Couch Couch machine 1 machin machine 1 machin La réalité est plus compliquée Le principe d encapsulation - Transmission Couch Couch Chaque couche a son entête Couch Couch Couch Couch Couch La fonction de la couche N: Prend le paquet venant de la couche supérieure N+1 (qui inclut les entêtes des couches N+1, N+2, ) Met un nouveau entête pour sa propre couche La couche N>1 passe le paquet au niveau N-1 La couche N=1 transmet le paquet sur le réseau machine 1 routeur machin
Le principe d encapsulation - Transmission Le principe d encapsulation - Transmission Couch Couch Couch Couch Couch Couch Le principe d encapsulation - Transmission Le principe d encapsulation - Transmission Couch Couch Couch Couch Couch Couch
Le principe d encapsulation - Transmission Le principe d encapsulation - Transmission Couch Couch Couch Couch Couch Couch e 1 Le principe d encapsulation - Réception Le principe d encapsulation - Réception La couche N=1 reçoit le paquet du réseau La couche N>1 reçoit le paquet de la couche N-1 En tout cas, la couche N Enlève l entête N Passe le paquet au niveau N+1 Couch Couch Couch e 1
Le principe d encapsulation - Réception Le principe d encapsulation - Réception Couch Couch Couch Couch Couch Couch e 1 e 1 Le principe d encapsulation - Réception Le principe d encapsulation - Réception Couch Couch Couch Couch Couch Couch e 1 e 1
Le principe d encapsulation - Réception Plan Couch Couch Couch e 1 La notion de protocole de communication La commutation par paquets La structure d un protocole et l entête d un paquet L interface et le pilote réseau L Internet La modularisation des protocoles Exemple: les protocoles de l Internet (TCP/IP) Structure d Internet Protocoles Couch 5. 4. Transport 3. Réseau 2. Lien 1. Physique Terminal interactif ex. SSH Transfert de fichiers ex. FTP Courrier électronique SMTP Naviguer sur la toile HTTP Le botin Internet DNS TCP SSL / TLS UDP CSMA / CD IP (adressage et routage) PPP Trunk lines Wi Fi Ethernet CATV ADSL Trunk lines Etc.. Entre deux bouts d une même application Un protocole pour chaque application Par exemple: Le protocole HTTP Entre navigateur et serveur Web Autres exemples: Entre le client et le serveur du courrier
L essentiel de HTTP Couch Transport Un client envoie un message GET avec un URL Le serveur répond avec une page HTML Entre deux processus TCP (Transmission Control Protocol) Couch Réseau Couches 2- Lien et 1- Physique Entre deux machines n importe où IP (Internet Protocol) Responsable pour le routage Entre deux machines sur le même réseau (dite couche lien) Au niveau d accès au réseau, responsable pour p.ex. vérification des erreurs (dite couche physique) Au niveau des signaux électriques
La couche IP en plus de détail IP - Adressage Envoyer un paquet D une machine quelconque A une machine quelconque Une machine A a une adresse IP unique, IP A Deux versions: IPv4: 32 bits - 2 32 (~4.10 9 ) systèmes IPv6: 128 bits - ~256.10 9.10 9.10 9.10 9 systèmes A veut envoyer un paquet à B Le problème du routage IP A IP B options paquet TCP La couche IP de A met IP A et IP B dans l entête IP Comment trouver une voie de A à B? Comment trouver le chemin le plus court?
Routage IP Exemple réseau Un tableau de routage pour chaque noeud A D Pour chaque destination, quel chemin à suivre Quelle est la distance à la destination par ce chemin C B E dest voie longeur B D 2 C C 1 D D 1 E E 1 Table de routage de A Table de routage de D dest voie longeur A A 1 B B 1 C A/E 2 E E 1 A D A D C B C B E E
dest voie longeur A A 1 B A/E 3 D A/E 2 E E 1 Table de routage de C A D dest voie longeur B D 2 C C 1 D D 1 E E 1 A veut envoyer un paquet à B A D C B C B E E D forward le paquet à B dest voie longeur A A 1 B B 1 C A/E 2 E E 1 A chaque étape On regarde l adresse IP de la destination A D On regarde le tableau de routage C E B On envoie le paquet au noeud indiqué dans la table pour cette destination
Comment construire le tableau de routage? Par exemple Le routage se fait par ouï-dire je suis A Chaque noeud annonce à ses voisins la longueur des chemins qu il connaît je suis A A je suis A D Chaque noeud retient et propage le chemin le plus court parmi ceux annoncés par ses voisins C E B Par exemple Par exemple je suis A dest voie longueur A A 1 dest voie longueur A A 1 je suis A A D A D je suis à distance 1 de A dest voie longueur C je suis A B A A 1 C B dest voie longueur A A 1 E dest voie longueur A A 1 je suis à distance 1 de A E je suis à distance 1 de A dest voie longueur A A 1
Par exemple Résumé dest voie longueur A A 1 La notion de protocole de communication (p.ex. WiFi, Ethernet, etc) Jeu de règles pour la transmission des au sein d'un seul ordinateur ou entre plusieurs ordinateurs C A D je suis à distance 1 de A B La commutation par paquets Grouper les dans des paquets de taille fixe Plusieurs types des paquets sont nécessaires pour l implementation des protocoles Entêtes des paquets Acteurs: l interface (NIC matériel) et le pilote réseau (logiciel) E dest voie longueur A D 2 Les couches des protocoles Exemple: le protocole de l Internet (TCP/IP)