Aller au contenu

Architecture 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 le cours sur les protocoles de communication.

1. Premier réseau local⚓︎

ping

ping est une commande permettant de tester la communication entre deux machines à travers le réseau IP.

Supposons le réseau local ci-dessous, chaque ordinateur possèdant une adresse IP (v4) :

Si nous faisons un ping de la machine 192.168.0.1 vers la machine 192.168.0.3. On obtiendra:

> ping 192.168.0.3 
PING 192.168.0.3 (192.168.0.3)
From 192.168.0.3 (192.168.0.3): icmp_seq=l ttl=64 time=413ms
From 192.168.0.3 (192.168.0.3): icmp_seq=2 ttl=64 time=204ms
From 192.168.0.3 (192.168.0.3): icmp_seq=3 ttl=64 time=205ms
From 192.168.0.3 (192.168.0.3): icmp_seq=4 ttl=64 time=203ms
— 192.168.0.3 Statistiques des paquets —
4 paquets transmis, 4 paquets regus, 0% paquets perdus

1.1 La carte réseau et son adresse MAC⚓︎

Chaque ordinateur sur le réseau dispose d'une adresse MAC, qui 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. Exemple : fc:aa:14:75:45:a5

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.

2. Un deuxième sous-réseau⚓︎

Rajoutons un deuxième sous-réseau de la manière suivante et relions ces deux réseaux par un cable:

Si nous pingons la machine 192.168.1.2 depuis la machine 192.168.0.1, on obtiendra:

> ping 192.168.1.2 
Destination inaccessible

En renommant la machine 192.168.1.2 en 192.168.0.33 et en pingant cette machine, on obtiendra:

> ping 192.168.0.33 
PING 192.168.0.33 (192.168.0.33)
From 192.168.0.33 (192.168.0.33): icmp_seq=l ttl=64 time=619ms
From 192.168.0.33 (192.168.0.33): icmp_seq=2 ttl=64 time=304ms
From 192.168.0.33 (192.168.0.33): icmp_seq=3 ttl=64 time=245ms
From 192.168.0.33 (192.168.0.33): icmp_seq=4 ttl=64 time=367ms
— 192.168.0.33 Statistiques des paquets —
4 paquets transmis, 4 paquets regus, 0% paquets perdus

Conclusion : la notion de sous-réseau n'est pas topologique («il suffit de relier les ordinateurs entre eux») mais obéit à des règles numériques.

2.1 Notion de masque de sous-réseau⚓︎

Lors de l'attribution de l'adresse IP à une machine, on peut spécifier le masque de sous-réseau (appelé simplement « Masque » dans Filius). C'est ce masque qui va permettre de déterminer si une machine appartient à un sous-réseau ou non, en fonction de son adresse IP.

2.1.1 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 pourquoi 192.168.0.33 et 192.168.0.1 sont sur le même sous-réseau, et pourquoi 192.168.1.2 et 192.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).

  • 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, 65536 machines peuvent être dans le même sous-réseau. (car 256^2=65536)

2.1.2 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 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 et x & 0 = 0.
  • 129 & 248 s'écrit en binaire 10000001 & 11111000 qui vaut 10000000, soit 128 en décimal.

Conclusion : les machines A et B sont sous le même sous-réseau, mais pas la machine C.

2.1.3 Cohérence entre les deux explications⚓︎

Lorsqu'un masque de sous-réseau est égal à 255.255.255.0, l'opération de conjonction & avec chaque IP ne laissera intacts que les 3 premiers octets, le dernier sera égal à 0. Donc si deux adresses s'écrivent A.B.C.X et A.B.C.Y, elles appartiendront forcément au même sous-réseau (typiquement, c'est le cas de 192.168.0.33 et 192.168.0.1).

2.2 Écriture des masques de sous-réseau : notation CIDR⚓︎

D'après ce qui précède, 2 informations sont nécessaires pour déterminer le sous-réseau auquel appartient une machine : son IP et le masque de sous-réseau. Une convention de notation permet d'écrire simplement ces deux renseignements : la notation CIDR.

Exemple : Une machine d'IP 192.168.0.33 avec un masque de sous-réseau 255.255.255.0 sera désignée par 192.168.0.33 / 24 en notation CIDR.

Le suffixe / 24 signifie que le masque de sous-réseau commence par 24 bits consécutifs de valeur 1 : le reste des bits (donc 8 bits) est à mis à 0.
Autrement dit, ce masque vaut 11111111.11111111.11111111.00000000 , soit 255.255.255.0.
De la même manière, le suffixe / 16 donnera un masque de 11111111.11111111.00000000.00000000 , soit 255.255.0.0.
Ou encore, un suffixe / 21 donnera un masque de 11111111.11111111.11111000.00000000 , soit 255.255.248.0.

2.3 Adresses IP et masques : ce qu'il faut retenir⚓︎

  • Les ordinateurs s'identifient sur les réseaux à l'aide d'une adresse IP (Internet Protocol).
  • Suivant la norme IPv4, les adresses IP sont encodées sur 4 octets : on parle d'IPv4.
  • Chaque octet pouvant varier de la valeur (décimale) 0 à 255, cela signifie que les adresses IP théoriquement possibles vont de 0.0.0.0 à 255.255.255.255.
  • Il y a donc \(256^4=4 294 967 296\) adresses possibles. On a longtemps cru que ce nombre serait suffisant. Ce n'est plus le cas, on est donc en train de passer sur des adresses à 6 octets (en hexadécimal) : voir la norme IPv6.

Exemple:

image

3. Un vrai réseau contenant deux sous-réseaux distincts : la nécessité d'un routeur⚓︎

Notre 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. Ce équipement de réseau est appelé routeur ou passerelle.

3.1 Principe de fonctionnement⚓︎

Imaginons que la machine 192.168.0.1 / 24 veuille communiquer avec la machine 172.16.52.3 / 24.
L'observation du masque de sous-réseau de la machine 192.168.0.1 / 24 nous apprend qu'elle ne peut communiquer qu'avec les adresses de la forme 192.168.0.X / 24, où X est un nombre entre 0 et 255.

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 notre exemple, 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.

3.2 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.

Sous windowsipconfig permet de retrouver l'adresse IP locale 192.168.9.103, le masque de sous-réseau 255.255.255.0 et l'adresse de la passerelle 192.168.9.1.

Bibliographie: