Architecture d'un réseau ======================== <img class="r-stretch centre image-responsive" src="data/switch2.jpg" alt="un switch" width="300"> <p class="legende"> <small> <strong>Un switch à l'échelle d'une organisation</strong> <br>Crédits : Switch!, par <a target="_blank" rel="noopener noreferrer" href="https://www.flickr.com/photos/83711730@N06">Andrew Hart</a>, <a target="_blank" rel="noopener noreferrer" href="https://creativecommons.org/licenses/by-sa/2.0/?ref=openverse">CC BY-SA 2.0</a>, via Flickr. </small> </p> *Ce document a été créé en collaboration avec ChatGPT 4o (version du 29/05/2024), qui a été utilisé pour transposer le cours correspondant (accessible [ici](architecture-reseau)) en un diaporama. Pour voir la conversation [cliquez ici](https://chatgpt.com/share/bb04924b-d6f7-4f75-b809-642007fc9eaa).* --- # Introduction ---- ## Introduction - Un **réseau informatique** est un ensemble de machines interconnectées. - Exemples : Internet, réseaux locaux d'entreprises, etc. - La plupart des réseaux sont des **sous-réseaux** d'un réseau plus grand. --- # Les principales machines d'un réseau ---- ## Réseaux locaux - Les **réseaux locaux** sont des réseaux constitués d'un ensemble de **machines** à l'échelle d'une maison, d'une entreprise, etc. - Machines : ordinateurs, TV, smartphones, imprimantes, box, etc. - Les machines d'un **même réseau local** peuvent **communiquer directement entre elles**. ---- ## Switch (Commutateur) - Les machines d'un même sous-réseau sont généralement reliées par un **switch**. - Exemple de switch: <img class="r-stretch centre image-responsive" src="data/switch1.jpg" alt="Un switch"> <p class="legende"> <small>Crédits : <a href="https://commons.wikimedia.org/wiki/File:Switch_reseau.jpg" target="_blank">KoS</a>, Domaine public, via Wikimedia Commons.</small> </p> ---- ## Switch (Commutateur) **Deux réseaux locaux** <img class="r-stretch centre image-responsive" src="data/reseaux_1_2.png" alt="Deux réseaux locaux"> - Le switch S1 interconnecte les machines M1, M2 et M3. - Le switch S2 interconnecte les machines M4, M5 et M6. - Les machines de réseaux différents ne peuvent pas communiquer directement. ---- ## Routeurs - Pour interconnecter deux réseaux, on utilise des **routeurs**. - Exemple de routeur: <img class="r-stretch centre image-responsive" src="data/routeur.jpg" alt="Un routeur Cisco CRS-1 (2004)"> <p class="legende"> <small>Un routeur Cisco CRS-1 (2004)</strong> <br>Crédits : Photo fournie par Cisco Systems Inc., <a href="http://creativecommons.org/licenses/by-sa/3.0/" title="Creative Commons Attribution-Share Alike 3.0">CC BY-SA 3.0</a>, via <a href="https://commons.wikimedia.org/w/index.php?curid=2621637">Wikimedia Commons</a></a>.</small> </p> ---- ## Routeurs **Deux réseaux locaux interconnectés** <img class="r-stretch centre image-responsive" src="data/reseaux_1_et_2.png" alt="Deux réseaux interconnectés par un routeur"> - Le routeur A appartient aux *deux* réseaux (il aura une adresse IP dans chacun des deux réseaux) - Les machines du premier réseau peuvent communiquer avec celles du second via le routeur. ---- ## Un réseau de réseaux - Les réseaux locaux sont généralement des **sous-réseaux** d'un réseau plus grand : <img class="r-stretch centre image-responsive" src="data/mini_internet_bis.png" alt="un mini réseau Internet" id="mini-internet"> - Les routeurs appliquent des algorithmes pour déterminer le meilleur chemin pour envoyer les paquets au destinataire (programme de Terminale) --- # Adresses IP ---- ## Introduction aux adresses IP - Chaque (sous-)réseau possède une adresse IP appelée **adresse du (sous-)réseau**. - Les machines d'un réseau possèdent des adresses IP dépendant de celle du (sous-)réseau. ---- ## Adresses IPv4 - **IPv4**: suite de 4 octets (32 bits): `X1.X2.X3.X4`. - Exemple d'adresse IPv4: <img class="r-stretch centre image-responsive" src="data/Adresse_Ipv4.svg" alt="Un exemple d'adresse IPv4"> <p class="legende"> <small>Crédits : <a href="https://commons.wikimedia.org/wiki/File:Adresse_Ipv4.svg">Star Trek Man</a>, Public domain, via Wikimedia Commons</small> </p> ---- ## Adresses IPv4 - Limitation d'IPv4 : 4 294 967 296 adresses distinctes. - Introduction progressive d'une nouvelle norme **IPv6** : - adresse sur 128 bits - soit 340 milliards de milliards de milliards d'adresses possibles ---- ## Structure d'une adresse IP(v4) - Pour chaque adresse, une partie des bits représente la partie *réseau*, l'autre partie représente la partie *machine*. - Exemple de découpage avec les trois premiers octets pour la partie *réseau* : | réseau | . | machine | | ---: | --- | :--- | | 11000001 00110111 11011101 | . | 00111110 | | 193.55.221 | . | 62 | - Toutes les machines d'un **même réseau** ont la **même partie *réseau*** dans leur adresse IP ---- ## Masque de sous-réseau - **Masque de sous-réseau**: détermine la limite entre les parties *réseau* et *machine*. - Masque = suite de 32 bits : - une série de `1` pour fixer la partie *réseau* - suivi d'une série de `0` pour la partie *machine* - Exemple de masque : - `11111111.11111111.11111111.00000000` - souvent exprimé en décimal : `255.255.255.0` - ici, la partie réseau correspond aux 3 premiers octets ---- ## Masque de sous-réseau - Concrètement : - Si M1 possède l'adresse `192.168.1.1` - dans un réseau dont le masque est `255.255.255.0` - alors : - la partie réseau correspond aux trois premiers octets `192.168.1` - le dernier octet sert à identifier les différentes machines connectées sur ce réseau - Les autres machines de ce réseau ont une adresse IP qui commence par `192.168.1` : par exemple - @IP de M2 : `192.168.1.2` - @IP de M3 : `192.168.1.5` ---- ## ✏️ Ai-je compris ? <img class="r-stretch centre image-responsive" src="data/mini_internet_bis.png" alt="un mini réseau Internet" id="mini-internet"> <div style="font-size:0.8em"> ✍️ **Question 1** : M4 a pour @IP `192.168.2.3`, le réseau auquel elle appartient a pour masque `255.255.255.0`. Donnez une adresse possible pour M5 et M6. ✍️ **Question 2** : M20 a pour @IP `195.32.12.17` dans un réseau dont le masque est `255.255.0.0`. Donnez une adresse possible pour les autres machines du réseau. </div> ---- ## Notation CIDR - **Notation CIDR**: - simplifie l'écriture des masques. - un slash suivi du nombre de bits de la partie réseau - Exemple : `/24` pour `255.255.255.0` (ou `11111111.11111111.11111111.00000000`) ---- ## ✏️ Ai-je compris ? ✍️ **Question 1** : Déterminez la notation CIDR du masque `255.255.0.0`. ✍️ **Question 2** : Déterminez la notation CIDR du masque `255.255.255.240`. --- # Adresses au sein d'un réseau ---- ## Adresses au sein d'un réseau - Dans un réseau, il y a un nombre fini d'adresses IP possibles (qui dépend du masque) - Il y a toujours : - *une* adresse réseau - *une* adresse de diffusion : pour envoyer un message à *toutes* les machines du réseau - *toutes les autres* adresses sont disponibles pour les machines ---- ## Adresse réseau - **Adresse réseau** = @IP dont tous les bits de la partie *machine* sont à `0`. - Exemple: si `193.55.221.62` (`11000001.00110111.11011101.00111110` en binaire) est l'@IP d'une machine d'un réseau dont le masque est `/24`, alors l'adresse du réseau en question est : - `11000001.00110111.11011101.00000000` (8 derniers bits à zéro) - `193.55.221.0` en binaire - Dans ce cas le réseau en question se note `193.55.221.0 /24` (l'adresse réseau suivie du masque) ---- ## Adresse réseau (suite) - Au lieu d'écrire « *une machine d'@IP `193.55.221.62` dans un réseau dont le masque est `/24`* », on écrit plus synthétiquement : « *une machine d'@IP `193.55.221.62 /24`* » (on précise le masque) - Comment trouver l'adresse réseau si on connaît l'@IP d'une machine et le masque du réseau ? En effectuant un **ET** logique entre les deux ! - Exemple : machine d'adresse `193.55.221.62 /24` ``` 11000001.00110111.11011101.11111000 <-- 193.55.221.62 ET 11111111.11111111.11111111.00000000 <-- 255.255.255.0 ----------------------------------- 11000001.00110111.11011101.00000000 <-- adresse réseau 193.55.221.0 ``` - S'avérera très utile lorsque le masque n'est pas `/24`, `/16`, `/8` ---- ## Adresse de diffusion - **Adresse de diffusion** ou **broadcast** = @IP dont tous les bits de la partie *machine* sont à `1`. - C'est celle utilisée pour envoyer des paquets à *toutes* les machines du réseau. - Exemple : L'adresse de diffusion du réseau `193.55.221.0 /24` s'obtient en mettant les 8 bits de la partie *machine* à `1` : - @ diffusion = `11000001.00110111.11011101.11111111` - @ diffusion = `193.55.221.255` en décimal ---- ## Plage d'adresses machines - La **plage d'adresses machines** est l'**ensemble des adresses que peut prendre une machine** sur le réseau : - @ réseau et @ broadcast prises : il reste toutes les autres ! - 1ère adresse machine possible : celle qui suit l'@ réseau - Dernière adresse machine possible : celle qui précède l'@ broadcast - Exemple : Sur le réseau `193.55.221.0 /24`, le dernier octet correspond à la partie machine donc : - @ réseau : `193.55.221.0` - @ broadcast : `193.55.221.255` - il reste 254 @ machines : de `193.55.221.1` à `193.55.221.254` ---- ## ✏️ Ai-je compris ? ✍️ **Question 1** : Une machine d'adresse IP `112.133.102.41` appartient à un réseau dont le masque est `/24` (c'est-à-dire `255.255.255.0`). 1. Donner en notation binaire et en notation décimale, l'adresse réseau et l'adresse de diffusion du réseau. 2. Combien de machines peut-on connecter dans ce réseau ? Quelle est leur plage d'adresses ? ✍️ **Question 2** : Combien de machines peut-on connecter sur un réseau dont le masque est `/16` ? ---- ### Comment vérifier que deux machines appartiennent au même réseau ? - **Situation** : M1 veut envoyer un message à M4 : - M1 regarde si M4 est dans le même réseau qu'elle - Si oui : envoi direct - Si non : envoi à un routeur (appelée *passerelle*) - Comment M1 peut savoir si M4 est dans le même réseau ? - M1 détermine son @ réseau en faisant un **ET** logique entre son @IP et le masque - M1 fait un **ET** logique entre l'@IP de M4 et le masque - Si les deux résultats coïncident : M4 est dans le même réseau (sinon ce n'est pas le cas) --- # Bilan ---- ## Bilan - Réseau informatique : ensemble d'équipements interconnectés. - **Switch** : connecte les machines d'un réseau local. - **Routeur** : connecte des réseaux différents. - **Adresses IP** : identifient les machines et réseaux pour les communications - **Masque de sous-réseau** : détermine la limite entre *réseau* et *machine*. - **CIDR** : notation simplifiée des masques. ---- ## Bilan - **Adresse réseau** : identifie le réseau. - **Adresse de diffusion** : envoie à toutes les machines du réseau. - **Plage d'adresses machines** : adresses possibles pour les machines d'un réseau. --- **Références** : - Cours *Introduction aux réseaux* du DIU EIL de l'université de Nantes, Pierrick Passard et Salima Hamma. - Cours de SNT sur la communication entre deux machines sur Internet : https://info-mounier.fr/snt/internet/protocole-tcp-ip.php - Cours d'introduction aux réseaux de David Roche : https://dav74.github.io/site_nsi_prem/c16c/ --- Germain Becker, Lycée Emmanuel Mounier, Angers. Sous licence [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.fr). ![Licence Creative Commons](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)