C14 Architecture d'un réseau ⚓︎
Ce cours a pour but de présenter la constitution classique d'un réseau, et les équipements associés. La partie relative aux protocoles utilisés lors des échanges entre deux machines est détaillée dans un cours ultérieur sur les protocoles de communication.
Notion de réseau
- En général, un réseau est un ensemble de nœuds reliés entre eux par des liens.
- Un réseau informatique est un réseau dont les nœuds sont des équipements informatiques reliés par des liens de différente nature: câbles, fibre optique, liaisons satellites, ondes radio, ...).
- Une interface est le point de raccordement entre un lien et un nœud: elle peut être matérielle (carte réseau) ou logicielle.
- Un protocole est un ensemble de règles permettant d'établir, de mener et de terminer une communication entre deux équipements du réseau.
Dans ce cours, nous allons simuler un réseau local avec le logiciel Filius installé sur les ordinateurs du lycée.
Découverte de Filius⚓︎
lien de téléchargement de Filius.
Il existe deux modes d’utilisation.
- Pour réaliser le circuit, on utilise le mode conception en cliquant sur l’icône Les éléments disponibles sont disposés sur le bord vertical gauche de la fenêtre et il suffit de les glisser/déposer dans la zone centrale de conception.
- Pour effectuer une simulation et installer des logiciels sur les éléments du réseau, on utilise le mode simulation en cliquant sur l’icône .
Pour visualiser correctement le trajet des données sur le réseau, il faut régler la vitesse sur une petite valeur : 10 % ou 20 %.
Activité 1 : Connexion pair à pair de deux machines⚓︎
L’objectif de cette partie est de relier en réseau deux machines. Une telle connexion est dite pair à pair.
Créer un nouveau projet Filius et l’enregistrer dans un dossier de son espace personnel sous le mon de TD_Reseau_activite1.fls.
- Passer en mode conception et créer un réseau de deux machines hôtes de type portable reliées par un câble.
- Faire un clic droit sur une machine et lui attribuer l’adresse ip 192.168.1.1 comme ci-dessous, en sélectionnant l’option Utiliser l’adresse IP comme nom. Attribuer de même l’adresse ip 192.168.1.2 à l’autre machine.
- Adresse MAC
a. Dans Filius, l'adresse MAC est-elle modifiable ? Quel est son format ?
b. Rechercher la signification de cette adresse sur le Web.
c. Quel élément d'un ordinateur est identifié de façon unique par son adresse MAC ? - Adresse IP
a. L'adresse IP est-elle modifiable ?
b. Filius affichera en rouge une adresse IP non valide, en testant différentes valeurs conjecturer le format d'une adresse IP valide.
c. Sur combien d'octets peut-on coder une adresse IP ? - Passer en mode simulation, faire un clic droit sur la machine 192.168.1.1, sélectionner Afficher le bureau et installer l’application ligne de commandes en la faisant glisser vers la zone des applications installées à gauche comme ci-dessous.
- Lancer l’application ligne de commandes sur la machine 192.168.1.1 puis exécuter la commande ipconfig. Repérer les divers informations données.
- Dans l’application ligne de commandes sur la machine 192.168.1.1 exécuter la commande ping 192.168.1.2 pour tester la connexion vers la machine ping 192.168.1.2. Le cable devrait se colorer en vert si la connexion est correcte et les quatre paquets de données envoyés par ping devraient recevoir un écho pong retourné par ping 192.168.1.2.
Jeretiens
ipconfig
sous Windows permet de connaître son adresse IP locale et son adresse MACping
qui permet d’envoyer des paquets de données d’une machine A vers une machine B.
Si la commande est exécutée sur la machine A, leping
devra être suivi par l’adresse IP de la machine B (par exemple, si l’adresse IP de B est 192.168.1.1, on auraping 192.168.1.2
)- Adresse MAC : Chaque ordinateur sur le réseau dispose d'une adresse MAC, qui est une valeur unique attribuée à sa carte réseau (Ethernet, Wifi, 4G, 5G, ...) lors de sa fabrication en usine.
Cette adresse est codée sur 48 bits, présentés sous la forme de 6 octets en hexadécimal, ici1F:5E:60:F0:15:23
.
Les trois premiers octets correspondent au code du fabricant. Un site comme https://www.macvendorlookup.com/ vous permet de retrouver le fabricant d'une adresse MAC quelconque. - Adresse IP: Une machine possède en général une adresse IP par interface et contrairement à l'adresse MAC, elle peut être modifiée lors du paramétrage du réseau.. Nous utiliserons la version IPv4 (sur 4 octets) bien que cette version est peu à peu remplacée par la version IPv6.
- L’adresse MAC est nécessaire pour la liaison réseau entre deux équipements tandis que l’adresse IP est nécessaire pour le routage sur Internet.
Activité 2 : Construction d'un premier réseau local⚓︎
Reprendre l'activité précédente et l'enregistrer sous le nom TD_Reseau_activite2.fls.
Partie 1: Construction d'un réseau
- Peut-on ajouter un troisième ordinateur et les relier aux autres avec un cable ? Pourquoi ?
- Utiliser un switch pour relier entre eux trois ordinateurs comme ci-dessous.
Attention à bien adapter les adresses IP.
- Passer en mode simulation (triangle vert), puis cliquer sur l'ordinateur
192.168.0.1
et installer le logiciel "Ligne de commande". - Réaliser un
ping
de la machine192.168.0.1
vers la machine192.168.0.3
en tapantping 192.168.0.3
en ligne de commande.
Résultat du ping
Cela marche. Les paquets sont bien acheminés.
Rôle du switch
Le rôle d'un switch est de distribuer un message au bon destinataire, en analysant la trame reçue. Lors d'un branchement d'un nouvel ordinateur sur le switch, celui-ci récupère son adresse MAC, ce qui lui permet de trier les messages.
Activité 3 : Construction d'un deuxième réseau⚓︎
Partie 2: un deuxième réseau
- Renommer le switch en "SwitchA" et créer un deuxième réseau de trois machines d'adresses IP
192.168.1.1
,192.168.1.2
et192.168.1.3
avec un "SwitchB".
Comment relier ces deux sous-réseaux ?
Une réponse pas si bête : avec un cable entre les deux switchs !
- Tester un
ping
de192.168.0.1
vers192.168.1.2
.
Résultat du ping
Cela ne marche pas. L'ordinateur refuse d'envoyer le ping vers la machine 192.168.1.2
.
(spoil : car elle n'est pas dans son sous-réseau)
- Temporairement, renommer la machine
192.168.1.2
en192.168.0.33
et retenter leping
. Que se passe-t-il ?
Résultat du ping
Cela marche. Les paquets sont bien acheminés.
Masque de sous-réseau⚓︎
Lorsqu'une machine A veut envoyer un message à une machine B, elle doit déterminer si cette machine :
- appartient au même sous-réseau : auquel cas le message est envoyé directement via un ou plusieurs switchs.
- n'appartient pas au même sous-réseau : auquel cas le message doit d'abord transiter par un routeur (voir plus loin).
C'est le masque de sous-réseau (tout simplement "Masque" dans Filius, netmask en anglais) qui permet de déterminer quelles adresses font partie d'un même réseau.
Explication basique⚓︎
- Si le masque est
255.255.255.0
, toutes les machines partageant les mêmes trois premiers nombres de leur adresse IP appartiendront au même sous-réseau. Comme ceci est le réglage par défaut de Filius, cela explique pourquoi192.168.0.33
et192.168.0.1
sont sur le même sous-réseau, et pourquoi192.168.1.2
et192.168.0.1
ne sont pas sur le même sous-réseau.
Dans cette configuration, 256 machines peuvent donc appartenir au même sous-réseau (ce n'est pas tout à fait le cas car des adresses finissant par 0 ou par 255 sont réservées) donc il y a réalité 254 adresses disponibles pour les machines.
- Si le masque est
255.255.0.0
, toutes les machines partageant les mêmes deux premiers nombres de leur adresse IP appartiendront au même sous-réseau.
Dans cette configuration, 65534 (65536 - 2) machines peuvent être dans le même sous-réseau. (car \(256^2=65536\) auquel on soustrait les 2 adresses finissant par 0 et 254)
Exo
- Renommons
192.168.0.33
en192.168.1.2
et modifions son masque en255.255.0.0
. - Modifions aussi le masque de
192.168.0.1
en255.255.0.0
. - Testons le ping de
192.168.0.1
vers192.168.1.2
.
Résultat du ping
Cela marche. Les deux machines appartiennent maintenant au même sous-réseau.
Explication avancée⚓︎
Lorsqu'une machine A veut envoyer un message à une machine B, elle doit déterminer si cette machine :
- appartient au même sous-réseau : auquel cas le message est envoyé directement via un ou plusieurs switchs.
- n'appartient pas au même sous-réseau : auquel cas le message doit d'abord transiter par un routeur (voir Activité 3.)
Quelle opération permet de distinguer cette appartenance à un même sous-réseau ?
Appelons IP_A
et IP_B
les adresses IP respectives des machines A et B.
Appelons M
le masque de sous-réseau.
Nommons &
l'opérateur de conjonction entre nombres binaires :
Propriété : A et B appartiennent au même sous-réseau ⇔ IP_A & M = IP_B & M
Exemple : considérons trois machines A, B, C d'IP respectives 192.168.129.10
, 192.168.135.200
et 192.168.145.1
, configurées avec un masque de sous-réseau égal à 255.255.248.0
.
machine A | machine B | machine C | |
---|---|---|---|
IP | 192.168.129.10 | 192.168.135.200 | 192.168.145.1 |
M | 255.255.248.0 | 255.255.248.0 | 255.255.248.0 |
IP & M | 192.168.128.0 | 192.168.128.0 | 192.168.144.0 |
rappel des règles de calcul :
- pour tout octet
x
,x & 255 = x
etx & 0 = 0
. 129 & 248
s'écrit en binaire10000001 & 11111000
qui vaut10000000
, soit128
en décimal.
Conclusion : les machines A et B sont sous le même sous-réseau, mais pas la machine C.
Adresse IP et masque de sous-réseau
Une adresse IP comporte deux parties:
- l'adresse du réseau : les k premiers bits;
- l'adresse de l'hôte : les 32-k derniers bits.
La valeur de k est variable pour chaque réseau, elle acompagne donc généralement les adresses et se nomme masque de sous-réseau.
Un masque de sous-réseau est souvent représenté comme une adresse IPv4 par 4 octets, et est constitué d'une suite de k 1
suivie d'une suite de 0
.
-
Le masque par défaut de Filius est
255.255.255.0
, qui s'écrit en binaire :11111111.11111111.11111111.00000000
. -
La valeur de k est donc 24. On note donc aussi (notation CIDR) l'adresse IP :
192.168.0.1 / 24
. -
Dans cette configuration, 256 machines peuvent donc appartenir au même sous-réseau (ce n'est pas tout à fait le cas car des adresses finissant par 0 ou par 255 sont réservées).
-
Deux machines appartiennent au même sous-réseau si elles partagent les 3 premiers nombres (octets) de leur adresse IP, c'est à dire les 24 premiers bits.
-
Une autre valeur de masque peut être
255.255.248.0
, qui s'écrit en binaire :11111111.11111111.11111000.00000000
. -
La valeur de k est donc 21. On note donc aussi (notation CIDR) l'adresse IP :
192.168.0.1 / 21
. -
Deux machines appartiennent au même sous-réseau si elles partagent les 21 premiers bits de leur adresse IP.
-
Combien de machines peuvent appartenir à ce même sous-réseau ?
Appartenance à un même sous-réseau
Pour que deux machines appartiennent à un même sous-réseau, il faut donc qu'elles partagent un même nombre de bits, donnés par le masque de sous-réseau.
L'opération qui permet de le déterminer est le &
(et) logique, bit à bit.
Considérons trois machines A, B, C d'IP respectives 192.168.129.10
, 192.168.135.200
et 192.168.145.1
, configurées avec un masque de sous-réseau égal à 255.255.248.0
.
machine A | machine B | machine C | |
---|---|---|---|
IP | 192.168.129.10 | 192.168.135.200 | 192.168.145.1 |
M | 255.255.248.0 | 255.255.248.0 | 255.255.248.0 |
IP & M |
Utilisation et rôle du routeur⚓︎
La solution initiale (relier les deux switchs par un cable pour unifier les deux sous-réseaux) n'est pas viable à l'échelle d'un réseau planétaire.
Pour que les machines de deux réseaux différents puissent être connectées, on va utiliser un dispositif équipé de deux cartes réseaux, situé à cheval entre les deux sous-réseaux. Cet équipement de réseau est appelé routeur ou passerelle.
Routage
Les 3 étapes du routage :
- Lorsque qu'une machine A veut envoyer un message à une machine B, elle va tout d'abord vérifier si cette machine appartient à son réseau local. si c'est le cas, le message est envoyé par l'intermédiaire du switch qui relie les deux machines.
- Si la machine B n'est pas trouvée sur le réseau local de la machine A, le message va être acheminé vers le routeur, par l'intermédiaire de son adresse de passerelle (qui est bien une adresse appartenant au sous-réseau de A).
- De là, le routeur va regarder si la machine B appartient au deuxième sous-réseau auquel il est connecté. Si c'est le cas, le message est distribué, sinon, le routeur va donner le message à un autre routeur auquel il est connecté et va le charger de distribuer ce message : c'est le procédé (complexe) de routage, qui sera vu en classe de Terminale.
Dans l'exemple suivant, où le masque est 255.255.255.0
, l'adresse 172.16.52.3
n'est pas dans le sous-réseau de 192.168.0.1
. Le message va donc transiter par le routeur.
Partie 3: Ajout d'un routeur
- Ajouter un routeur entre le SwitchA et le SwitchB.
- Configurer le routeur :
- L'interface reliée au Switch A doit avoir une adresse du sous-réseau A (idem pour le réseau B). On donne souvent une adresse finissant par
254
, qui est en quelque sorte la dernière adresse du réseau (en effet l'adresse en255
est appelée adresse de broadcast, utilisée pour «pinger» en une seule fois l'intégralité d'un sous-réseau). - Dans l'onglet général, sélectionner « Routage automatique ».
- Ainsi configuré notre routeur peut jouer le rôle de passerelle entre les deux sous-réseaux.
- L'interface reliée au Switch A doit avoir une adresse du sous-réseau A (idem pour le réseau B). On donne souvent une adresse finissant par
-
Tester un ping entre
192.168.0.1
et192.168.1.2
¿Que pasa?
Cela ne marche pas. La carte réseau refuse d'envoyer les paquets car elle ne sait pas où les envoyer. Il faut donc dire à chaque machine qu'une passerelle est maintenant disponible pour pouvoir sortir de son propre sous-réseau. Il faut donc aller sur la machine
192.168.0.1
et lui donner l'adresse de sa passerelle... -
Une fois les passerelles renseignées, effectuer un traceroute entre
192.168.0.1
et192.168.1.2
: on y voit le nombre de sauts nécessaires entre les deux machines.
Cas d'un réseau domestique
Chez vous, la box de votre opérateur joue simultanément le rôle de switch et de routeur :
- switch car elle répartit la connexion entre les différents dispositifs (ordinateurs branchés en ethernet, smartphone en wifi, tv connectée...)
- routeur car elle fait le lien entre ce sous-réseau domestique (les appareils de votre maison) et le réseau internet.
Essayez chez vous de récupérer l'adresse IP locale, le masque de sous-réseau ainsi que la passerelle par défaut, à l'aide d'une commande ipconfig
sous Windows.
Serveur DNS⚓︎
Rajout d'un serveur web⚓︎
-
Connectons un ordinateur au SwitchB, sur l'adresse
192.168.1.30
et installons dessus un Serveur web et démarrons-le. -
Sur la machine
192.168.0.1
, rajoutons un Navigateur Web. En tapant dans la barre d'adresse l'adresse IP du Serveur web, la page d'accueil de Filius s'affiche.
Lors d'une utilisation classique d'un navigateur web, c'est une url mémorisable qui s'affiche, et non une adresse IP : on retient en effet plus facilement https://www.google.com/
que http://216.58.213.131
, qui renvoient pourtant à la même adresse.
La machine qui assure ce rôle d'annuaire entre les serveurs web et leur adresse IP s'appelle un serveur DNS. Pour pouvoir indexer la totalité des sites internet, son rôle est structuré de manière hiérarchique. Vous trouverez des détails ici.
Rajout d'un serveur DNS⚓︎
Partie 4: Ajout d'un serveur DNS
- Rajoutons un serveur DNS minimal, qui n'aura dans son annuaire d'un seul site. Il faut pour cela raccorder une nouvelle machine (mais une machine déjà sur le réseau aurait très bien pu jouer ce rôle), et installer dessus un serveur DNS.
- Sur ce serveur DNS, associons l'adresse
http://www.vivelansi.fr
à l'adresse IP192.168.1.30
.
- De retour sur notre machine
192.168.0.1
, spécifions maintenant l'adresse du serveur DNS :
- Depuis le navigateur web de la machine
192.168.0.1
, le sitehttp://www.vivelansi.fr
est maintenant accessible.
Routage dans une interconnexion de réseaux⚓︎
Récupérer le fichier exercice_ressources.fls puis l’ouvrir avec Filius.
- Récupérer les adresses IP des machines M14 et M9.
- En mode simulation, faire un ping de la machine M14 vers M9 pour vérifier la connexion.
Faire un traceroute de la machine M14 vers M9 . Noter le chemin parcouru pour aller de M14 vers M9. - Supprimer le câble réseau (clic droit sur le câble) qui relie le routeur F au routeur E (simulation de panne) et refaire un traceroute de M14 et M9.
Attendre un peu pour que les tables de routage des routeurs se mettent à jour.
Que constate-t-on ?
Exercices⚓︎
Exercice 1
On souhaite pouvoir raccorder 1000 machines sur le même réseau IP. Donner le plus petit masque permettant de définir un tel sous-réseau. Même question avec 3000 machines.
Noter à chaque fois le masque en notation décimale pointée, puis CIDR.
Exercice 2
On considère le masque 255.255.252.0
. Parmi les adresses suivantes, indiquer lesquelles appartiennent au même sous-réseau:
129.175.127.1
129.175.130.10
129.175.128.17
129.175.131.110
129.175.132.8
Penser à utiliser la fonction bin
de Python pour effectuer les conversions (même s'il faut savoir les faire «à la main», et vérifier vos «et» logiques avec l'opérateur &
de Python:
>>> 127 & 252
124