INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216, Automne
Introduction Au dernier cours – Chapitre 2 ◦ la structure d’un réseau et concepts importants (segmentation, encapsulation, périphériques, topologies, sécurité) Aujourd’hui - Chapitre 2 (suite) ◦ le rôle des protocoles dans les communications réseaux, ◦ le principe de modèle en couche, ◦ l’importance de l’adressage ◦ modèle OSI ◦ modèle TCP/IP 2
COMMUNICATION SUR UN RÉSEAU 3
Étapes d’une communication réseau 1) Le message est converti en bits 2) Le message est transmis sur le support sous forme de signal 3) Le message est décodé à la destination. Bonjour, … Bonjour, … 4
Étapes d’une communication réseau 1) Le message est converti en bits 2) Le message est transmis sur le support sous forme de signal 3) Le message est décodé à la destination. Bonjour, … Bonjour, … 5
Étapes d’une communication réseau 1) Le message est converti en bits 2) Le message est transmis sur le support sous forme de signal 3) Le message est décodé à la destination. Bonjour, … Bonjour, … 6
Comment transmettre un message? Approche naïve: transmettre un message en un seul flux de bits sur le réseau. Problèmes: ◦ si le message est long, aucun autre ordinateur ne pourra transmettre avant la fin du message. Donc retards importants… ◦ si une erreur ou panne survient, il faut retransmettre à partir de zéro… Solution: 7
Segmentation des messages Segmentation: technique qui consiste à diviser un message en plusieurs parties pour le transmettre sur un réseau. Avec segmentationSans segmentation 8
Segmentation des messages (suite) Avantages: 1. Plusieurs « conversations » peuvent s’entremêler sur le réseau (multiplexage). Avec segmentation 9
Segmentation des messages (suite) Avantages (suite) 2.permet au trafic de contourner les chemins encombrés du réseau ou en panne, Sans segmentationAvec segmentation 10
Segmentation des messages (suite) Avantages (suite) 3.permet de retransmettre seulement les segments erronés lors d’erreurs, ou les segments manquants. Sans segmentationAvec segmentation 11
Segmentation des messages (suite) Désavantage: plus compliqué de gérer des messages segmentés: ◦ Ex.: envoyer un texte de 100 pages dans 100 enveloppes. Défis: ◦ Segmenter les messages, ◦ Adresser les segments (ex.: numéroter) ◦ Considérer l’ordre d’arrivée des messages; ◦ Reconstituer les messages; ◦ Garantir une transmission fiable, si nécessaire, etc. VS 12
Encapsulation des messages Encapsulation: ◦ processus d’ajout d’un entête à un message, ◦ Ex.: pour indiquer la source et la destination du message. pour indiquer à quel logiciel le message est destiné, etc. Décapsulation: processus inverse. 13
Composants d’un réseau Exemple 1: Un réseau simple deux ordinateurs avec des cartes réseau un câble (support) des logiciels réseau 14
Composants d’un réseau (suite) Exemple 2: Un réseau plus complexe Deux types d’éléments physiques: périphériques, support Deux types de réseaux: réseaux locaux, interréseau Interréseau réseau local 15
Composants d’un réseau (suite) Logiciels réseaux ◦ exécutés sur les périphériques réseau. ◦ applications réseaux courantes, ◦ processus spécialisés pour l’envoi, la réception, la transmission, redirection des messages réseaux. routage, liste d’accès, répartition du trafic, TCP/UDP/AR P,DNS,MAC, DHCP, VLAN 16
Périphériques finaux Périphériques finaux (hôte): périphériques directement utilisés par l’humain. Ex.: ordinateur, téléphone IP, imprimante, téléphone cellulaire, serveur de fichiers, lecteur de codes barres, etc. Chaque hôte doit avoir une adresse unique. 17
Périphériques finaux (suite) Les périphériques finaux peuvent être: Serveur: utilise des logiciel(s) qui fournissent des informations ou services à d’autres hôtes sur le réseau. Ex.: serveur Web Client: utilise des logiciel(s) qui permettent d’interroger ou d’afficher des informations obtenues à partir d’un serveur. Les deux à la fois. 18
Périphériques intermédiaires Exemple: concentrateurs, commutateurs, routeurs, pare- feu, point d’accès sans fil… Rôle: de façon générale, assurer le fonctionnement du réseau local (transmission des données) et interéseau. 1.régénérer et retransmettre les signaux de données, 2.s’informer sur les chemins qui existent à travers le réseau et l’interréseau et partager l’information, 3.diriger les messages vers le chemin ou destination approprié, 4.indiquer les erreurs aux autres périphériques et les échecs de communication, 19
Périphériques intermédiaires (suite) Rôles (suite) 6.diriger des données vers d’autres chemins en cas d’échec de liaison; 7.classifier et diriger des messages en fonction des priorités (QoS: qualité de service); ex.: priorité au trafic des téléphones IP 8.autoriser ou refuser certains messages ou accès, selon des paramètres de sécurité. ex.: bloquer le traffic FTP venant de l’extérieur de l’université ex.: bloquer des ordinateurs non autorisé par un filtre sur les adresses MAC 20
Supports réseau Utilisent différents codages (impulsions électriques, impulsions de lumières, ondes électromagnétiques), Critères pour choisir: ◦ coût (support+installation, ◦ distance (vs erreurs), ◦ environnement, ◦ débit, ◦ expertise,… Trois principaux types: 21
Réseau local 22
Réseau étendu pour connecter des réseaux séparés géographiquement, généralement loués à un fournisseur utilise des périphériques spécialisés WAN = Wide Area Networks 23
L’Internet Internet: Un ensemble de réseaux interconnectés. réseaux locaux, réseaux de FAI, réseaux de grand organismes publics ou privés, gouvernement… 24
Exercice: tracer le chemin parcouru par un message sur un réseau Commande « tracert » Ex.: Tapez dans la ligne de commande de Windows: tracert Alternatives: ex.:
tracert 26
Note: Akami est une compagnie spécialisée dans les serveurs de mise en tampon (cache) pour un accès plus rapide (sortie du réseau local) tracert 27
Intranet / extranet Intranet: connexion au réseau d’une organisation destinée à ses membres (peut être locale ou à distance) Extranet: connexion au réseau d’une organisation destinée à des utilisateurs externes (à distance). 28
Quelques termes Interréseau: réseau interconnectant deux réseaux ou plus. Carte réseau: adaptateur qui fournit la connexion physique au réseau à partir d’un ordinateur. Port physique: connecteur d’un périphérique pour connecter un support. Interface: Un port spécialisé pour certains supports et/ou protocoles (ex.: interface réseau pour un routeur). 29
TOPOLOGIES DES RÉSEAUX 30
Topologie des réseaux Point à point: une connexion entre deux périphériques (typiquement, deux routeurs dans un WAN) Étoile: pour connecter un grand nombre de composantes. Nœud central: commutateur Ex.: 10BaseT Ethernet Illustrations: Wikipédia 31
Topologie des réseaux (suite) Bus: Tous les périphériques partagent un même fils. Ex.: 10Base5 Ethernet Illustration: Wikipédia 32
Topologie des réseaux (suite) Anneau: ◦ Un anneau ◦ Un anneau double pour ajouter de la redondance. ◦ Ex.: FDDI Illustrations: Wikipédia 33
Topologie des réseaux (suite) Réseau maillé: ◦ Grande tolérance aux pannes. ◦ Si le maillage est total, pour N nœuds, il y aura (N x (N-1)) / 2 liaisons. ◦ Ex.: N = 10, 45 liaisons. ◦ Autres: grille, hypercube, hiérarchique… Illustration: Wikipédia 34
Topologie physique vs logique Topologie physique: organisation physique des composantes. Topologie logique: comment les composantes communiquent. Pas toujours identique! Ex.: certaines variétés d’Ethernet utilisent une topologie physique en étoile avec une topologie logique de bus. 35
Facteurs à considérer pour la conception d’un réseau Coût Débit Topologie Évolutivité Fiabilité / tolérances aux pannes Qualité de service Sécurité … 36
SÉCURITÉ DES RÉSEAUX 37
Sécurité des réseaux Attaques internes vs attaques externes ◦ 80 % seraient internes Attaques passives ◦ Écouter les messages non cryptés (ex.: Ettercap, WireShark, …) Attaques actives ◦ Contourner ou désactiver les mécanismes de sécurité au moyen de virus, cheval de troie, failles de sécurité, portes dérobées (backdoor), … 4 catégories de menaces 38
1) Menaces aux installations physiques Menaces matérielles: dommage matériel (routeur, etc.). ◦ Prévention: installer le matériel dans un lieu sécurisé Menaces électriques: panne d’électricité, fluctuation de voltage, etc.. ◦ Prévention : génératrice, UPS, … Menaces environnementales: température, moisissures, ◦ Prévention: système de surveillance Menaces liées à l’entretien: ne pas faire de sauvegarde, mauvaise organisation, erreurs causées par l’entretien. 39
2) Attaques de reconnaissance Un adversaire veut obtenir des informations sur votre réseau ◦ Ingénierie sociale ◦ Outil de balayage automatique (scanner) ◦ Renifleur de paquets (packet sniffer) Prévention: sensibilisation, mesures techniques. 40
3) Attaque d’accès Tentative d’obtenir un accès non autorisé. ◦ Découverte d’un mot de passe: Attaque du dictionnaire Recherche par force brute Renifleur de paquets Prévention: ◦ mots de passe forts, ◦ cryptage (ex.: SSH au lieu de Telnet), ◦ renouvellement des mots de passe, ◦ etc. 41
4) Attaques de dénis de service Réduire ou bloquer l’accès à un service, provoquer l’arrêt d’un périphérique. ◦ Attaque par surcharge d’information (flooding) ◦ Attaque par dépassement de tampon ◦ … Prévention: pare-feu, filtrage des paquets, etc. 42
LES PROTOCOLES 43
Protocoles Protocole: un ensemble de règles qui régissent la communication. Pour une communication réseau, un ensemble de protocoles est généralement utilisé. Implémentés ◦ au niveau matériel, ◦ ou au niveau logiciel. 44
Protocoles (suite) Les protocoles réseaux peuvent définir: ◦ le format des messages, ◦ la façon dont l’information sur des réseaux est partagée entre des périphériques, ◦ quand envoyer un message d’erreur ou message système, ◦ comment réagir à un message, ◦ etc. Protocoles propriétaires ou public 45
Protocoles (suite) Un protocole est généralement spécifié en termes de fonctions (ex.: attendre avant la retransmission), mais ne dit pas comment les implémenter. Des périphériques variés peuvent utiliser le même protocole. 46
Protocoles (suite) Suite de protocoles: ensemble de protocoles liés et nécessaires pour remplir une fonction de communication. Ex.: TCP-IP L’interaction entre protocoles est souvent représentée en couches pour faciliter la compréhension. Pile de protocoles: représentation sous forme de hiérarchie en couches de la relation entre protocoles. ◦ Une couche dépend de la couche inférieure. 47
Exemple: sous Unix image: 48
HTTP: Protocole de communication entre client et serveur Web TCP: Protocole de transport: segment, taille, débit d’échange, IP: Protocole interéseau: adressage, sélection du meilleur chemin Ethernet: Protocole d’accès au réseau: aspect physique, …. Exemple: interaction entre serveur et client Web L’encapsulation/décapsulation se produit aux différentes couches de la pile. 49
Pourquoi un modèle en couche? Réduction de la complexité (par abstraction), Interopérabilité entre produits provenant de différents fournisseurs (favorise la concurrence), Aide à comprendre les protocoles et à en discuter, Facilite le dépannage et la réparation. 50
Deux types de modèles spécifique à la suite TCP-IP (premier modèle, 1970) modèle non associé à une suite en particulier, moins détaillé Modèle de référence Ex.: OSI Modèle de protocole Ex.: TCP/IP 51
Le modèle TCP/IP Proposé au début des années 1970, par DARPA. Une norme ouverte. Protocoles définis dans les RFCs. Sépare les fonctions de communication en quatre catégories 52
Communication 53
Encapsulation ou datagrammes 54
Adressage Les différentes couches utilisent différents types d’adresses pour s’assurer que les informations arrivent à destination. Ex.: adresse MAC (adresse physique) Ex.: adresse IP (adresse logique) 55
LE MODÈLE OSI 56
Le modèle OSI Un modèle de référence Développé par l’ISO, dans les années 1970 Pour décrire comment l’information est transférée sur un réseau d’un périphérique à un autre. 7 couches. n’a pas gagné beaucoup en popularité à cause de l’adoption rapide de TCP-IP 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle OSI 57
Le modèle OSI Attention: certaines piles de protocoles ne correspondent pas totalement à OSI. Ex.: TCP-IP comprend 4 couches. 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle OSI 58
Le modèle OSI 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Responsable du transport de l’information Les couches 5,6,7 font typiquement partie d’un logiciel pour l’utilisateur Ex.: Firefox, logiciel FTP… 59
Le modèle OSI 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Illustration: 60
7- La couche application Interface pour interagir avec un logiciel ◦ Interface graphique (ex.: Firefox) ◦ Ligne de commande (ex.: IOS pour interagir avec les routeurs CISCO) Protocoles et services qu’un logiciel utilise pour accéder au réseau. 61
6- La couche présentation Détermine comment l’information est présentée à l’utilisateur ◦ Encodage texte: ASCII, EBCDIC, … ◦ Formats d’images: JPEG, GIF, PNG… ◦ Formats vidéos: … Chiffrement des données Compression des données 62
5- La couche session Responsable de l’initiation et de la fermeture des connexions entre processus ou applications. La mécanique de la couche 5 est principalement implémentée dans la couche 4: « transport ». Détection de plusieurs connexions de réseaux différents. Envoyer l’information au bon logiciel (ex.: utilisation ports) Délais maximaux (timeout) 63
4- La couche transport Mécanique des connexions 1) Connexions fiables (ex.: TCP) ◦ détection et correction d’erreurs (ex.: renvoi des données en cas d’erreur). ◦ Quelques concepts souvent utilisés: Numéro de séquences pour assurer l’ordre d’arrivée des paquets et détecter les paquets manquants. Confirmation de réception (Ack) Négociation des paramètres de la connexion (Handshake) Contrôle de flux (flow control): pour éviter la surcharge d’information 64
4- La couche transport 2) Connexion non fiable (Ex.: UDP) ◦ Détection d’erreurs, mais pas de correction. Séparation des données en segments. Multiplexage des connexions pour que plusieurs applications utilisent le même adaptateur réseau. 65
3-La couche réseau Les services pour acheminer des segments à destination en passant par un réseau (possiblement un réseau interconnecté utilisant plusieurs supports de communication). Chaque périphérique (final ou intermédiaire) possède une adresse logique (ex.: adresse IP). Chaque segment transmis avec une adresse logique est appelé « paquet ». Une adresse logique est composée d’une adresse réseau + une adresse d’hôte. 66
67
3-La couche réseau (suite) Le découpage adresse réseau/adresse logique permet de monter de grand réseaux en hiérarchie. Certains protocoles offrent des adresses logiques spéciales. Par exemple, TCP/IP offre des adresses pour: ◦ la diffusion à un ensemble de machines (multicast), ◦ la diffusion à toutes les machines sur un réseau local (broadcast). 68
2- La couche liaison de données Rôle: acheminer les paquets sur le réseau local. Les paquets sont encapsulés dans des trames avec un champ de destination qui est une adresse physique de destination sur le réseau local. Ex.: Adresse MAC associé à une carte réseau. Note: Une adresse physique n’est pas obligée d’être unique sur l’ensemble d’un réseau interconnecté, mais elle doit l’être sur un réseau local. 69
2- La couche liaison de données (suite) Peut offrir des fonctions de broadcast, et multicast sur le réseau local. Ex.: Selon le protocole ARP (Adress Resolution Protocol) de TCP/IP, un ordinateur utilise un broadcast pour découvrir les adresses MAC des autres périphériques sur le réseau local. 70
1-La couche physique Converti les bits en signaux physiques qui sont transmis sur le support (impulsions électriques) et inversement. Considère: ◦ le type de support, ◦ le connecteur utilisé aux extrémités d’un câble, ◦ la façon que les bits doivent être encodés sur le support, ◦ la carte réseau utilisée, ◦ etc. 71
Quelques périphériques intermédiaires courants À quelle couche opèrent-ils? Routeur: couche réseau Commutateur (switch): couche liaison de données Concentrateur (Hub): couche physique 72
LE MODÈLE TCP-IP 73
Le modèle TCP/IP Créé au début des années 1970 Par DARPA. Une norme ouverte. Protocoles définis dans les RFCs. Sépare les fonctions de communication en quatre catégories 4. Application 3. Transport 2. Internet 1. Accès réseau Modèle TCP/IP Noms attribués aux données Données Segments / datagrammes Paquet Trame Bits support 74
Illustration de l’encapsulation au passage des différentes couches Illustration: CDNA Exploration 1 75
4- La couche application Fournit aux applications les fonctions pour accéder au réseau. ◦ la présentation des données à l’utilisateur, ◦ l’encodage/décodage pour cette présentation. Ex. : DNS, HTTP, SMTP, POP, FTP Peut-être implémenté au sein d’une application réseau ou service. 76
3-La couche transport Gère l’envoie de messages d’une application à une autre ◦ Contrôle des erreurs, ◦ contrôle de flux, adaptation par rapport au récepteur ◦ segmentation, ◦ contrôle de la congestion adaptation par rapport au réseau ◦ adressage pour les applications (ports) ◦ connexion fiables, non fiables Ex.: TCP, UDP 77
2- La couche internet Détermine le meilleur chemin sur un réseau en tenant compte des interconnexions entre réseaux (routage). ◦ Identification et adressage des hôtes Ex.: IP (Internet Protocol) ◦ Routage des paquets. ◦ Protocoles de routage pour échange d’information entre routeurs… Ex.: EIGRP, RIP, OSPF… 78
1-La couche accès réseau Achemine les paquets d’un hôte à un autre, connectés sur le même support (réseau local). Tramage Adressage Encodage/décodage et émission/réception sur le support physique. 79
Acheminement sur le réseau À la limite de chaque réseau local, un périphérique intermédiaire décapsule partiellement les unités de données pour déterminer l’adresse de destination. Un routeur va procéder à une nouvelle encapsulation pour diriger l’unité vers un chemin donné. 80
hub = concentrateur switch = commutateur router = routeur 81
Adressage au niveau de chaque couche Illustration: CDNA Exploration 1 Les différentes couches utilisent différents types d’adresses pour s’assurer que les informations arrivent à destination. Ex.: adresse MAC (adresse physique) adresse IP (adresse logique) 82
Comparaison des modèles OSI et TCP/IP Illustration: CDNA Exploration 1 83
Bibliographie CCNA Exploration 1 - Chapitre 2 Animation « Warriors of the Net » en français: LRgHT_k LRgHT_k J.F Kurose and K.W. Ross, 2004, Chapitre 1 W. Stallings, 2011, Data and Computer Communications. 84
INFORMATION SUPPLÉMENTAIRE - CAPTURE DE TRAFIC AVEC WIRESHARK 85
Introduction Wireshark est un renifleur de paquets (packet sniffer). Pour écouter les messages entrants/sortants pouvant être capturés par votre carte réseau. Enregistre et affiche les paquets capturés Un outil passif (n’envoie pas de messages sur le réseau) et n’inspecte que des copies des paquets circulants. 86
Introduction (suite) Wireshark est composé de: une librairie de capture de paquets (WinPCap). opère au niveau de la couche « liaison de données » du modèle OSI pour capturer tout ce qui circule. un module d’analyse des paquets connaît la structure des messages d’une grande variétés de protocoles pour pouvoir les afficher correctement. 87
Illustration 88
Exemple 1: trafic TELNET Objectif: Illustrer le danger de la capture des informations non chiffrées sur un réseau. Sujet: le protocole TELNET (non chiffré) Préalable: Installer WireShark ◦ (inclus WinPCap) 89
Exemple 1: trafic TELNET (suite) 1. Pour débuter la capture du trafic: ◦ Menu Capture > Interfaces > sélectionner une interface réseau (ex.: réseau local) 2. Ouvrez la ligne de commande de Windows. 3. Ouvrez une session Telnet vers un serveur avec mot de passe. telnet abc.abc.com Liste: 4. Entrez un nom et mot de passe fictif 5. Retournez dans Wireshark et arrêtez la capture en cliquant sur le bouton d’arrêt: 90
Exemple 1: trafic TELNET (suite) 6. Cliquer sur un paquet Telnet avec le bouton droit et choisir « follow tcp stream » 91
Exemple 1: trafic TELNET (suite) Résultat: votre nom d’utilisateur et mot de passe Ceci illustre le danger d’utiliser des communications non chiffrées sur un réseau... 92
couche liaison de données couche réseau couche transport couche application 93
Exemple 2: trafic HTTP Dans Wireshark, démarrer la capture du trafic comme dans l’exemple 1. Ouvrez une page Web avec votre navigateur Web. (ex.: Dans Wireshark, allez dans: ◦ Menu « File » > « Export Objects > HTTP 94
Exemple 2: trafic HTTP (suite) Cliquer sur une image et « save as » pour la sauvegarder… 95
Filtrer dans Wireshark Filtrer pour obtenir seulement un type de paquet (ex.: DNS): Alternative: le menu Capture > Capture Filters… 96