30 - Réseaux (2)

Cours associés : 21 - Réseaux , 22 - TCP/IP .

Objectifs. Construire pas à pas un petit réseau dans le simulateur Filius : deux ordinateurs reliés par un câble, puis un réseau local avec un switch, puis deux réseaux reliés par un routeur, enfin un serveur Web et un serveur DNS. À chaque étape, on observe les messages qui circulent pour comprendre le rôle de chaque protocole.

Prérequis. Les résumés 21 - Réseaux (adresse IP, masque, switch, routeur) et 22 - TCP/IP (modèle en quatre couches, encapsulation, DNS, HTTP). La fiche 29 - Réseaux (1) fait déjà utiliser les commandes ping, ipconfig, traceroute et host dans un terminal.

Rappels utiles

  • Adresse IP : numéro qui identifie une machine dans un réseau, par exemple 192.168.0.10. Elle peut changer quand la machine change de réseau.
  • Masque de sous-réseau : il indique quelle partie de l’adresse IP désigne le réseau. Avec le masque 255.255.255.0, utilisé dans toute la fiche, les trois premiers nombres désignent le réseau : 192.168.0.10 et 192.168.0.11 sont dans le même réseau, 192.168.1.10 est dans un autre.
  • Adresse MAC : numéro gravé dans la carte réseau par son fabricant, écrit en hexadécimal sur six octets, par exemple 3C:52:82:A7:1E:F4. Sur un réseau local, les trames sont livrées d’une carte réseau à l’autre grâce à cette adresse.
  • Switch : boîtier qui relie les machines d’un même réseau local et transmet chaque trame à la seule machine dont l’adresse MAC est indiquée comme destination.
  • Routeur : appareil relié à plusieurs réseaux, qui fait passer les paquets de l’un à l’autre.
  • Passerelle (en anglais gateway) : adresse du routeur à qui une machine confie tout paquet destiné à un autre réseau que le sien.
  • Port : numéro qui désigne, sur une machine, le programme à qui s’adresse un message (80 pour un serveur Web, par exemple).

Prise en main de Filius

Filius est un logiciel gratuit qui simule un réseau informatique : on y place des ordinateurs, des câbles, des switchs et des routeurs, puis on fait fonctionner l’ensemble en observant chaque message échangé.

Filius a deux modes principaux, choisis par les icônes en haut de la fenêtre :

  • le mode conception (icône marteau) sert à construire le réseau : on fait glisser les appareils depuis la colonne de gauche, on les relie avec l’outil câble, et un double clic sur un appareil ouvre, en bas de la fenêtre, ses réglages (nom, adresse IP, masque, passerelle, serveur DNS) ;
  • le mode simulation (icône triangle vert) fait fonctionner le réseau : un clic sur un ordinateur ouvre son bureau, où l’icône Installation des logiciels permet d’ajouter des programmes (ligne de commande, navigateur, serveur Web…). Un programme installé s’ouvre par un double clic sur son icône.

En mode simulation, un clic droit sur un ordinateur, puis Afficher les échanges de données, ouvre une fenêtre qui liste tous les messages reçus ou envoyés par cette machine. Chaque ligne est une trame :

No.SourceDestinationProtocoleCoucheCommentaire
1192.168.0.10192.168.0.11ARPInternetRecherche de l’adresse MAC associée à 192.168.0.11
2192.168.0.11192.168.0.10ARPInternet192.168.0.11: 4E:21:9B:0C:7D:52
3192.168.0.10192.168.0.11ICMPInternetICMP Echo Request (ping), TTL: 64, Seq.-Nr.: 1
4192.168.0.11192.168.0.10ICMPInternetICMP Echo Reply (pong), TTL: 64, Seq.-Nr.: 1

Un clic sur une ligne affiche son détail en bas de la fenêtre, couche par couche : la partie Réseau donne les adresses MAC, la partie Internet les adresses IP.

Le projet s’enregistre avec l’icône disquette, dans un fichier d’extension .fls. Chaque partie complète le montage de la précédente : enregistrer le projet à la fin de chaque partie permet de le reprendre à la séance suivante.

Partie 1 — Deux ordinateurs reliés par un câble

Deux ordinateurs portables, d'adresses 192.168.0.10 et 192.168.0.11, reliés directement par un câble.

Montage. En mode conception :

  1. placer deux ordinateurs portables et les relier par un câble ;
  2. donner au premier l’adresse 192.168.0.10 et au second l’adresse 192.168.0.11, avec le masque 255.255.255.0.

Expérience. En mode simulation :

  1. sur l’ordinateur 192.168.0.10, installer la Ligne de commande ;
  2. ouvrir la fenêtre des échanges de données de 192.168.0.10 ;
  3. dans la ligne de commande, saisir ping 192.168.0.11.

Question 1. Combien de réponses la commande ping reçoit-elle ? Dans la fenêtre des échanges, combien de trames apparaissent, et avec quels protocoles ?

Correction publiée après la séance.

Question 2. D’après la colonne Commentaire, à quoi servent les deux premières trames ? Pourquoi sont-elles nécessaires avant le premier ping ?

Indice

Le premier ordinateur connaît l’adresse IP de son voisin, puisqu’on la lui a donnée dans la commande. Mais quelle adresse faut-il pour livrer une trame sur un réseau local ?

Correction publiée après la séance.

Question 3. Le ping utilise le protocole ICMP (Internet Control Message Protocol, protocole de messages de contrôle d’Internet). Que signifient les mots Request et Reply du commentaire ? À quoi sert donc la commande ping ?

Correction publiée après la séance.

Question 4. Saisir ipconfig dans la ligne de commande. Quelle est l’adresse MAC de 192.168.0.10 ? Cliquer ensuite sur la deuxième trame de la fenêtre des échanges : retrouver l’adresse MAC de chaque ordinateur dans la partie Réseau du détail.

Correction publiée après la séance.

Question 5. Saisir maintenant ping 192.168.0.20, une adresse qu’aucune machine ne possède. Que répond la commande ? Quelles trames apparaissent ? Pourquoi n’y a-t-il aucune trame ICMP ?

Correction publiée après la séance.

Enregistrer le projet.

Partie 2 — Un réseau local avec un switch

Un switch relie deux ordinateurs portables, 192.168.0.10 et 192.168.0.11, et un ordinateur tour, 192.168.0.12.

Montage. En mode conception :

  1. supprimer le câble entre les deux portables ;
  2. ajouter un switch, nommé « Switch 1 », et un ordinateur tour d’adresse 192.168.0.12 ;
  3. relier les trois ordinateurs au switch.

Question 6. Avec deux ordinateurs, un câble suffisait. Pourquoi faut-il un switch dès qu’il y a trois ordinateurs ou plus ?

Correction publiée après la séance.

Expérience. En mode simulation, on fait dialoguer deux programmes à travers le réseau :

  1. sur l’ordinateur tour 192.168.0.12, installer un Serveur générique, garder le port proposé, 55555, et le démarrer ;
  2. ouvrir la fenêtre des échanges de 192.168.0.12 ;
  3. sur le portable 192.168.0.10, installer un Client générique, le connecter à l’adresse 192.168.0.12 et au port 55555 ;
  4. envoyer au serveur un court message, par exemple Bonjour.

Question 7. Dans la fenêtre des échanges du serveur, repérer :

  1. les trames qui établissent la connexion, avant tout message ;
  2. la trame qui transporte le message Bonjour ;
  3. pour chacune, la couche et le protocole indiqués.
Indice

Suivre les trames dans l’ordre. Les premières sont envoyées dès le clic sur « Connecter », avant que le message soit écrit ; celle qui transporte le message contient son texte dans la colonne Commentaire.

Correction publiée après la séance.

Enregistrer le projet.

Partie 3 — Deux réseaux reliés par un routeur

Deux réseaux locaux : Switch 1 relie 192.168.0.10, 192.168.0.11 et 192.168.0.12 ; Switch 2 relie 192.168.1.10, 192.168.1.11 et 192.168.1.12 ; un routeur relie les deux switchs, avec les adresses 192.168.0.1 côté Switch 1 et 192.168.1.1 côté Switch 2.

Montage. En mode conception :

  1. ajouter un second switch, nommé « Switch 2 », et trois portables d’adresses 192.168.1.10, 192.168.1.11 et 192.168.1.12, reliés à ce switch ;
  2. ajouter un routeur, puis le relier à « Switch 1 » et à « Switch 2 ».

Expérience. En mode simulation, saisir ping 192.168.1.10 dans la ligne de commande de 192.168.0.10.

Question 8. La commande réussit-elle ? À l’aide du masque, expliquer pourquoi 192.168.0.10 ne peut pas joindre 192.168.1.10 pour l’instant.

Indice

Les deux machines sont-elles dans le même réseau ? Si non, à qui 192.168.0.10 peut-elle confier un paquet destiné à un autre réseau ?

Correction publiée après la séance.

Configuration de la passerelle. En mode conception :

  1. double-cliquer sur le routeur : il possède une interface par câble, chacune avec son onglet. Donner l’adresse 192.168.0.1 à l’interface reliée à « Switch 1 » et l’adresse 192.168.1.1 à l’interface reliée à « Switch 2 », avec le masque 255.255.255.0 ;
  2. sur les trois machines de « Switch 1 », indiquer la passerelle 192.168.0.1 ;
  3. sur les trois machines de « Switch 2 », indiquer la passerelle 192.168.1.1.

Question 9. Recommencer ping 192.168.1.10 depuis 192.168.0.10, puis saisir traceroute 192.168.1.10. Quelles machines le paquet traverse-t-il ? En combien de sauts (passages d’une machine à la suivante) atteint-il sa destination ?

Indice

Chaque ligne affichée par traceroute correspond à une machine traversée.

Correction publiée après la séance.

Diagnostic d’une panne. En mode conception, effacer la passerelle de 192.168.1.11. En mode simulation, ouvrir la fenêtre des échanges de 192.168.1.11, puis saisir ping 192.168.1.11 depuis 192.168.0.10.

Question 10. Le ping échoue. Les demandes ICMP arrivent-elles pourtant jusqu’à 192.168.1.11 ? Expliquer l’échec.

Correction publiée après la séance.

Enregistrer le projet.

Partie 4 — Un serveur Web

On utilise maintenant l’ordinateur tour 192.168.0.12 comme serveur Web : il fournira une page à un navigateur.

Expérience. En mode simulation :

  1. sur 192.168.0.12, installer un Serveur web et un Éditeur de textes, puis démarrer le serveur Web ;
  2. ouvrir la fenêtre des échanges de 192.168.0.12 ;
  3. sur 192.168.0.10, installer un Navigateur web et y saisir l’adresse http://192.168.0.12.

La page d’accueil du serveur s’affiche dans le navigateur.

Question 11. Dans la fenêtre des échanges du serveur, retrouver la trame qui transporte la demande de page du navigateur, puis celle qui transporte la réponse du serveur. Quel protocole de la couche Application utilisent-elles ? Quelles trames les précèdent ?

Correction publiée après la séance.

Question 12. Le modèle TCP/IP range les protocoles en quatre couches : Application, Transport, Internet, Accès réseau. Rappeler en une phrase le rôle de chaque couche, puis placer chacun des protocoles suivants dans sa couche : HTTP, TCP, IP, ICMP, DNS, Ethernet, Wi-Fi.

Indice

Pour chaque protocole, se demander ce qu’il fait : rendre un service à un programme (Application), assurer la fiabilité de l’échange entre deux programmes (Transport), acheminer les paquets d’un réseau à l’autre (Internet), ou transmettre les données sur un câble ou par ondes radio (Accès réseau).

Correction publiée après la séance.

Question 13. Sur le serveur, ouvrir avec l’éditeur de texte le fichier index.html du dossier webserver. Dans la balise <body>, changer la valeur de l’attribut bgcolor (par exemple bgcolor="#F4A261"), enregistrer, puis recharger la page dans le navigateur de 192.168.0.10. Qu’est-ce qui a changé, et pourquoi le navigateur affiche-t-il la nouvelle version ?

Correction publiée après la séance.

Enregistrer le projet.

Partie 5 — Un serveur DNS

En pratique, on ne saisit pas l’adresse IP d’un site mais son nom de domaine, comme fr.wikipedia.org. Un serveur DNS (Domain Name System, système de noms de domaine) fonctionne comme un annuaire : il donne l’adresse IP qui correspond à un nom.

Expérience. En mode simulation :

  1. sur 192.168.0.12, installer un Serveur DNS ; dans l’onglet Adresse (A), associer le nom www.filius.fr à l’adresse 192.168.0.12, puis démarrer le serveur DNS ;
  2. en mode conception, indiquer 192.168.0.12 comme serveur DNS de l’ordinateur 192.168.0.10 ;
  3. en mode simulation, saisir www.filius.fr dans le navigateur de 192.168.0.10 : la page d’accueil du serveur Web s’affiche ;
  4. dans la ligne de commande de 192.168.0.10, saisir host www.filius.fr.

Question 14. Qu’affiche la commande host ? Que permet-elle de vérifier ?

Indice

Comparer l’adresse affichée avec celle qui a été associée au nom www.filius.fr dans le serveur DNS.

Correction publiée après la séance.

Diagnostic d’une panne. Installer un Navigateur web sur 192.168.1.10, dont le serveur DNS n’a pas été renseigné. Saisir d’abord http://192.168.0.12, puis www.filius.fr.

Question 15. Pourquoi la première adresse fonctionne-t-elle et pas la seconde ? Quelle modification permet de corriger la panne ?

Correction publiée après la séance.

Question 16. À quelle couche du modèle TCP/IP le protocole DNS appartient-il ? Pourquoi est-il indispensable au Web tel qu’on l’utilise ?

Correction publiée après la séance.

Enregistrer le projet.

À retenir

  • Sur un réseau local, une trame est livrée grâce à l’adresse MAC du destinataire, que l’on obtient avec le protocole ARP.
  • Un switch relie les machines d’un même réseau ; un routeur relie des réseaux différents.
  • Pour joindre une machine d’un autre réseau, il faut une passerelle, et le chemin doit exister dans les deux sens.
  • TCP ouvre une connexion en trois temps puis confirme chaque envoi par un accusé de réception.
  • HTTP transporte les pages Web, au-dessus de TCP ; DNS traduit les noms de domaine en adresses IP.