# Réseau

Notions Théoriques liées au réseau.

# Réseau - Adressage IPV4

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : Réseau, adressage Modèle OSI Couche 3.

</td></tr></tbody></table>

<p class="callout info">Voir la ressource sur le modèle OSI : [Réseau - Modèle OSI](https://docs.labs404.fr/books/cours-it/page/reseau-modele-osi "Réseau - Modèle OSI")</p>

---

### **<span style="text-decoration: underline;">I.Introduction</span>**

Cette page a pour but d’introduire les notions d’adressage ip dans la norme IPV4.

#### 1.1 Un besoin, une solution

Avec l’arrivée des réseaux, les ordinateurs se sont vu offrir la capacité de communiquer entre eux pour échanger des informations.

Cela a ouvert la voie au modèle client/serveur, puis plus tard a internet qui est l’assemblage des mot inter(entre eux) network (réseau) soit, littéralement, un ensemble de réseaux interconnectés.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/JzTimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/JzTimage-png.png)

Mais pour que cela fonctionne, il faut déjà pouvoir savoir qui est qui. Pour ensuite savoir qui veut parler à qui.

Il faut donc un système permettant “d’adresser” la communication. C’est là qu’intervient le système d’adressage IP.

#### 1.2 Analogie avec le réel

Pour faire une analogie simple, il faut voir cela comme des villes. Avec leurs rues, immeubles et numéros.

Pour envoyer un colis (un paquet) à Mr Dupuis, il faut lui envoyer cela dans la ville de Lyon, Rue Descola au numéro 108.

Pour un ordinateur, c’est la même chose. Pour envoyer un paquet (réseau cette fois), il faut avoir soi-même une adresse et connaître celle de son interlocuteur.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/u6zimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/u6zimage-png.png)

En complément de cela, comme les ordinateurs sont dans des réseaux interconnectés, il faut savoir dans quel réseau son interlocuteur se trouve. Pour cela deux notions sont importantes :

- ***<span class="fabric-text-color-mark">L'adresse de réseau</span>***
- ***<span class="fabric-text-color-mark">L’adresse hôte</span>***

---

### **<span style="text-decoration: underline;">II. Fonctionnement</span>**

Défini dans la 4**<span style="text-decoration: underline;">  
</span>**

#### **2.1 Structure**

Les adresses <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">IPV4</span>***</span> sont construites en <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">4 blocs</span>***</span>. Chaque bloc étant ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">un octet</span> </span>***(8bits). Ce qui donne un total de <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">32 bits</span>***</span>.

Ces blocs sont <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">séparés par un point</span>***</span>. Cela donne quelque chose comme :

*192.168.1.27*

#### **2.2 Le binaire**

##### *Question 1 : d’où viennent ces chiffres ?* 

*c’est en réalité assez simple. Voici <span style="color: rgb(132,63,161);">**<span class="fabric-text-color-mark">un octet</span>** </span>:*

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/v2Yimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/v2Yimage-png.png)

Composé de <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">8 bits</span>***</span>, cet octet est vide. Sa valeur totale est donc 0.

Le binaire est un système de comptage en ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">base 2</span> </span>***(nous comptons en base 10).

Il n’y a donc pour chaque bit que deux états possibles : <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">0</span>***</span> ou <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">1</span>***</span>.

Pour l’ordinateur, un bloc d’adresse ressemble donc à ceci :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/P3simage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/P3simage-png.png)

##### *Question 2 : Comment convertir ce nombre binaire en nombre compréhensible par un humain ?*

Avec une table de conversion. <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">Chaque bit</span>***</span> d’un octet a une <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">valeur décimale</span>***</span>. Voici la table de conversion :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/QHWimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/QHWimage-png.png)

Pour calculer combien cela fait en décimal, il faut ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">ajouter</span> </span>***les chiffre correspondant à chaque 1.

Dans cet exemple : *128+64+8+2+1 = 203*.

Ainsi voici l’adresse complète ci-dessus :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wacimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wacimage-png.png)

Une adresse est donc ‘codée’ sur <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">32 bits</span>***</span>.

#### **2.3 Le masque de sous-réseau**

Il est maintenant possible de comprendre l’adresse d’un machine, mais il manque un point essentiel :

##### *Question 1 : Comment peut-on savoir à quel réseau appartient cette machine ?*

En effet, comme dit en introduction, pour pouvoir communiquer avec une autre machine, son adresse ne suffit pas. Il faut aussi savoir dans quel réseau elle se trouve.

Pour éviter de gérer trop de données et d’adresses différentes, faciliter les communications et permettre une découpage sur mesure des réseaux, une solution a été trouvée :

L’adresse IP contiendra<span style="color: rgb(132,63,161);"> </span>***<span class="fabric-text-color-mark" style="color: rgb(132,63,161);">à la fois</span>*** les informations du <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">réseau</span>*** </span>ET de la <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">machine</span>***</span>.

C’est là que rentre en jeu une seconde donnée importante : <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">le masque de sous-réseau</span>***</span>

##### *Question 2 : Comment tout cela fonctionne ?*

Les choses se corsent un peu, mais sans devenir réellement plus complexes.

Si l’on reprends l’exemple ci-dessus : 192.168.1.27

Cette adresse contient en réalité les deux informations. Mais comment les différencier ?

A l’aide du <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">masque de sous-réseau</span>***</span>.

Celui-ci est sous la forme *255.255.255.0*

Il est construit de la même manière que l’adresse. <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">4 blocs</span>***</span> de ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">8 bits</span> </span>***pour un total de <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">32 bits</span>***</span>.

Ce n’est pas une coïncidence si les deux données font 32 bits. En effet, si cela s’appelle un masque, c’est qu’il doit se superposer à l’adresse. Voici à quoi ressemble ce masque en binaire.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zoPimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/zoPimage-png.png)

Normalement, quelque chose doit sauter aux yeux. Tous les 1 sont d’un côté et tous les 0 de l’autre.

Et voila comment la ‘magie’ opère. Pour savoir quelle partie est l’adresse réseau et quelle partie est l’adresse machine, il faut séparer les ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">1 (partie réseau)</span> </span>***et les <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">0 (partie machine)</span>***</span>.

<p class="callout info">Pour plus de clarté dans l’affichage, la table de conversion ne sera plus affichée.</p>

Reprenons les exemples ci-dessus et Appliquons le masque:

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZUsimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ZUsimage-png.png)

Ici, l’on peut donc voir sur l’adresse que : <span style="color: rgb(224,62,45);">***<span class="fabric-text-color-mark">192.168.1</span>*** </span>est la partie <span style="color: rgb(224,62,45);">***<span class="fabric-text-color-mark">réseau</span>***</span> et <span style="color: rgb(45,194,107);">***<span class="fabric-text-color-mark">.27</span>***</span> la partie <span style="color: rgb(45,194,107);">***<span class="fabric-text-color-mark">machine</span>***</span>.

En déplaçant le curseur du masque (appelée "longueur de préfixe"), on peut ajuster la taille des réseaux et ainsi le nombre de machines qu’ils peuvent accueillir. Par exemple, si l’on reprends l’adresse 192.168.1.27 mais que l’on applique cette fois un masque en 255.255.0.0 , On obtient :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/flSimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/flSimage-png.png)

<p class="callout info">Le ‘curseur’ peut bien sûr être positionné au milieu d’un bloc pour ajuster le nombre de machine au plus près du besoin.</p>

####   


##### *Question 3 : A quoi ça sert d’avoir différente tailles de réseaux ?*

A avoir des réseaux plus ou moins grands.

La première limitation de ce système, c’est que le fait de déplacer ce curseur signifie que l’on va jouer sur les quantités de réseaux disponibles et de machines par réseaux. Les adresses sont constituées de 32 bits. Ni plus, ni moins.

Moins l’on alloue de bits à la partie réseau, plus on en alloue à la partie machine et vice versa.

En pratique, cela signifie que l’on a :

- Soit, peu de gros réseaux avec beaucoup de machines par réseau.
- Soit, beaucoup de petits réseaux, mais avec un nombre limité de machines par réseau.

##### *Question 4 : Et pourquoi avoir tous ces différents réseaux ?*

De base, les ordinateurs ne peuvent communiquer qu’entre membres d’un même réseau.

Donc il est important de pouvoir adapter la taille de celui-ci au nombre de machines que l’on veut mettre dedans.

Cela permet de segmenter les réseaux pour les spécialiser, mais aussi les sécuriser en séparant des réseaux plus ou moins exposés ou avec des usages différents.

Les réseaux pourront ensuite êtres interconnectés entre eux en utilisant des '<span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">passerelles</span>***</span>'.

---

### <span style="text-decoration: underline;">**III. Applications**</span>

#### **3.1 Les adresses réservées**

En se basant sur tout ce qui a été expliqué avant, l’on peut comprendre que pour un octet, la <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">valeur minimale</span>***</span> est donc <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">0</span>*** </span>et la <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">valeur maximale</span>***</span> est la somme des valeurs de tout ses bits, soit <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">255</span>***</span>.

Cependant, deux choses rentrent également en ligne de comptes :

- De la même façon qu’il faut pouvoir définir une ville par son nom, il faut pouvoir définir un réseau par une adresse, qui sera son identifiant (son code postal en quelque sorte).
    
    
    - Il a donc été défini que lorsque la ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">partie machine</span> </span>***de l’adresse est <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">égale à 0 </span>***</span>(c’est a dire que tous ces bits sont a Zéro), cette adresse est <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">réservée comme identifiant du réseau</span>***</span>

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/oh9image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/oh9image-png.png)

*\*ici, si l’on met tous les bits de la partie machine a 0, l’adresse du réseau est donc 192.168.1.0*

- En réseau, il est non seulement possible d’envoyer un paquet à une machine, mais également d’envoyer un paquet à toutes les machines d’un réseau en même temps. On appelle cela un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">Broadcast</span>***</span>.
    
    
    - Et pour cela, utiliser une adresse spéciale où <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">tous les bits de la partie machine</span>*** </span>sont <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">égaux à 1</span>***</span>.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/YQFimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/YQFimage-png.png)

*\*ici, si l’on met tous les bits de la partie machine a 1, l’adresse de broadcast est 192.168.1.255*

Lorsque l’on calcule donc la <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">capacité d’un réseau</span>***</span> en nombre d’adresses machine, il faut<span style="color: rgb(132,63,161);"> ***r<span class="fabric-text-color-mark">etirer ces deux adresses</span>***</span> du nombre d’adresses disponibles. Qui sont donc la première et la dernière adresse de la plage.

Dans l’exemple du réseau pris dans ce chapitre, voici donc ses données :

- Adresse réseau : 192.168.1.0
- Masque réseau : 255.255.255.0
- Adresse de broadcast : 192.168.1.255
- Nombre d’adresses machines disponibles : 254

Ainsi les machines pourront avoir les adresses suivantes :

- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
- … … …
- 192.168.1.254

#### **3.2 Exemples courants**

Voici une table des tailles de masques avec pour chacune le nombre de réseaux et de machines disponible.

<div class="pm-table-container with-shadow-observer" id="bkmrk-nombre-de-bits-de-la" style="width: inherit;"><div class="pm-table-wrapper"><table><colgroup><col style="width: 305px;"></col><col style="width: 211px;"></col><col style="width: 241px;"></col></colgroup><tbody><tr><th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1">**nombre de bits de la partie réseau**

</th><th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1">**masque**

</th><th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1">**nombre d’adresse disponible**

</th></tr><tr><td colspan="1" rowspan="1">24

</td><td colspan="1" rowspan="1">255.255.255.0

</td><td colspan="1" rowspan="1">254

</td></tr><tr><td colspan="1" rowspan="1">16

</td><td colspan="1" rowspan="1">255.255.0.0

</td><td colspan="1" rowspan="1">65 534

</td></tr><tr><td colspan="1" rowspan="1">27

</td><td colspan="1" rowspan="1">255.255.255.224

</td><td colspan="1" rowspan="1">30

</td></tr><tr><td colspan="1" rowspan="1">28

</td><td colspan="1" rowspan="1">255.255.255.240

</td><td colspan="1" rowspan="1">14

</td></tr></tbody></table>

<div class="sentinel-right">  
</div></div></div>#### **3.3 Les passerelles**

Étant donné que les machines ne peuvent communiquer qu’entre machines d’un même réseau, il faut utiliser des machines pour servir de passerelles entre les réseaux. Ces machines doivent évidement disposer d’une adresse dans chaque réseau auxquels elles seront connectées.

Il faut donc prévoir dans son calcul de réserver les adresses pour ces passerelles.

Ces machines seront appelées ‘<span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">routeurs</span>***</span>’.

<p class="callout info">Cours sur le routage : <span class="status-lozenge-span" style="color: rgb(186,55,42); background-color: rgb(248,202,198);"><span class="css-uqgrjn" style="vertical-align: baseline; max-width: 100%;"><span class="css-s091n4" style="width: 100%;"> todo   
</span></span></span></p>

---

### <span style="text-decoration: underline;">**IV. Conventions**</span>

#### **4.1 La notation CIDR**

Par facilité, une <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">notation alternative</span>***</span> à la notation adresse + masque a été mise au point.

Il s’agit ici de noter l’adresse et y accoler le nombre de bits de cette adresse constituant la partie réseau.

Ainsi *192.168.1.0* et *255.255.255.255* deviennent <span style="color: rgb(132,63,161);">**<span class="fabric-text-color-mark">192.168.1.0/24</span>**</span>

Et l’on peux aussi utiliser cette notation pour désigner une machine <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">192.168.1.27/24</span>***</span>

Ainsi, l’on a en une fois à la fois l’adresse d’une machine et les informations permettant de savoir à quel réseau elle appartient.

####   


#### **4.2 Les classes d’adresses**

Les adresses sont réparties en <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">4 classes définies par le nombre de bits alloués aux réseaux</span>***</span> afin de regrouper ensemble les réseaux de même capacité.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/I2rimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/I2rimage-png.png)

Ainsi, les réseaux de<span style="color: rgb(132,63,161);"> ***<span class="fabric-text-color-mark">classe A</span>*** </span>ont un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">premier octet compris entre 1 et 126\*</span>***</span>. soit un bit de poids fort égal à 0.

Les réseaux de <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">classe B</span>*** </span>ont un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">premier octet compris entre 128 et 191</span>***</span>. soit deux bits de poids fort égaux à 10.

Les réseaux de <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">classe C</span>***</span> ont un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">premier octet compris entre 192 et 223</span>***</span>. Soit 3 bits de poids fort égaux à 110.

Les réseaux de ***<span class="fabric-text-color-mark" style="color: rgb(132,63,161);">classe D</span>*** sont un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">cas particulier</span>***</span>. Ils ont un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">premier octet compris entre 224 et 239</span>***</span>. Soit 3 bits de poids fort égaux à 1. Il s’agit de réseaux et adresses <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">réservées pour le multicast</span>***</span>.

<p class="callout info">Cours sur le multicast : <span class="status-lozenge-span" style="color: rgb(186,55,42); background-color: rgb(248,202,198);"><span class="css-uqgrjn" style="vertical-align: baseline; max-width: 100%;"><span class="css-s091n4" style="width: 100%;"> todo </span></span></span></p>

Une dernière classe existe, avec un <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">premier octet compris entre 240 et 255</span>***</span>. Il s’agit de la <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">classe E</span>***</span>. Ces adresses sont ***<span class="fabric-text-color-mark"><span style="color: rgb(132,63,161);">réservées pour l’expérimentation</span> </span>***et <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">ne DOIVENT PAS être utilisées</span>***</span>.

*\*le réseau de classe A 127 est réservé.*

#### **4.3 Les IP privées et publiques**

Défini dans la [rfc1918](http://wapiti.enic.fr/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio2002/andre-pelloux/glossaire.htm#rfc1918)

En plus de ces classes, il faut différencier les <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">plages d’adresses réservées à un usage public</span>***</span>, par les opérateurs internets notamment et celles, <span style="color: rgb(132,63,161);">***<span class="fabric-text-color-mark">privées</span>***</span>, utilisable par les<span style="color: rgb(132,63,161);"> ***<span class="fabric-text-color-mark">particuliers et les entreprises</span>***</span>.

Actuellement les adresses privées utilisables sont les suivantes :

- classe A : 10.0.0.0 à 10.255.255.255
- classe B : 172.16.0.0 à 172.31.255.255
- classe C : 192.168.0.0 à 192.255.255.255

<p class="callout success">Sachant que la plupart des réseaux domestiques sont en 192.168.1.0/24 ou 192.168.1.0/24 il est recommandé d’utiliser d’autres plages pour des réseaux de LAB ou d’entreprise.</p>

<p class="callout success">Notamment ceux de classe B, qui ne sont pas utilisés en usage domestique ou en IoT.</p>

#### **4.4 Les ip particulières**

Dans les plages existantes il y a un certains nombres d’adresses ou de réseaux qui sont réservés à des usages particuliers et qui ne sont par conséquent pas utilisables :

- 127.0.0.1 : adresse générique utilisée pour désigner la boucle locale (localhost)
- 0.0.0.0 : adresse utilisée pour indiquer une route par défaut (tout le monde).
- 255.255.255.255 : broadcast général.

---

### <span style="text-decoration: underline;">**V. Conclusion**</span>

Pour résumer,

Au sein d’un LAB ou d’une entreprise. Il est possible de découper plusieurs sous-réseaux. Dans la limite des IP privées des classes A,B et C. Avec une préconisation pour l’usage d’adresses de classe B.

Aller plus loin :

<div class="ak-editor-panel__content" id="bkmrk-cours-sur-le-nat%2Fpat">- <p class="callout info">cours sur le NAT/PAT : [Réseau - Le NAT / PAT](https://docs.labs404.fr/books/brouillons-et-notes/page/reseau-le-nat-pat "Réseau - Le NAT / PAT")</p>
- <p class="callout info">cours sur les ports et les sockets : [Réseau - Définition du socket](https://docs.labs404.fr/books/cours-it/page/reseau-sockets "Réseau - Définition du socket")</p>
- <p class="callout info">Adressage IPV6 : [Réseau - Adressage IPv6](https://docs.labs404.fr/books/brouillons-et-notes/page/reseau-adressage-ipv6 "Réseau - Adressage IPv6")</p>

</div>

# Réseau - L'agrégation de liens (LAGG)

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![Débutant.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : Réseau, interfaces, agrégation de liens.

</td></tr></tbody></table>

---

### **<span style="text-decoration: underline;">I.Différents scenarii  
</span>**

Cette fiche a pour but d’expliquer le fonctionnement des agrégations de liens (Link aggregation ou LAGG)

#### **2.1 Scenario 1 : Agrégation de lien (actif/actif)** 

Le but de ce scénario est d’agréger la bande passante afin de cumuler les bandes passantes de toutes les cartes.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Anrimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Anrimage-png.png)

Dans cette configuration, une interface virtuelle est créée.

Elle va utiliser les deux adaptateurs physique afin de cumuler leurs débit.

Les cartes fonctionnent ensemble et si l’une des deux est coupée. L’ensemble n’est plus actif et le lien ne fonctionne plus.

#### **2.2 Scenario 2 : Failover (actif/passif)** 

Le but de ce scénario est d’avoir un lien de secours pour anticiper une éventuelle panne de matériel.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/lOoimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/lOoimage-png.png)

Dans cette configuration, une interface virtuelle est créée.

Elle va utiliser le premier adaptateur en lien nominal et le second en lien de secours.

En cas de rupture du lien nominal, la carte de secours sera utilisée.

Cela apporte une sécurité mais n’augmente pas le débit.

#### **2.3 Scenario 3 : LACP (actif/actif + Redondance)** 

<p class="callout danger">Ce scénario nécessite un switch manageable prenant en charge le LACP.</p>

Le LACP est la fusion des deux scenarii ci-dessus.

<table id="bkmrk--3" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td style="border-style: hidden;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/sVaimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/sVaimage-png.png)

</td><td style="border-style: hidden;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/li7image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/li7image-png.png)

</td></tr></tbody></table>

Dans cette configuration, une interface virtuelle est créée.

Les deux adaptateurs sont activement utilisés, en cas de coupure d’un lien, le système fonctionne en mode dégradé

# Réseau - Modèle OSI

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)  
</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : réseau, modèle OSI

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Le modèle OSI (**O**pen **S**ystems **I**nterconnection) est un modèle conceptuel en couche développé par l'**I**nternational **S**tandardisation **O**rganisation (ISO).

Il permet de conceptualiser les communications réseaux entre les ordinateurs en divisant le processus de communication en **<span style="color: rgb(132,63,161);">7 couches distinctes</span>**.

Chaque couche à un rôle spécifique et interagis avec les couches directement situées en dessous et au dessus d'elle.

Cette approche, en plus de visualiser le fonctionnement des communication réseau en permet un diagnostic efficace.

Voici la représentation des différentes couches.

[![modeleosi.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/modeleosi-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/modeleosi-png.png)

Lors des communications entre machines, celles-ci seront <span style="color: rgb(132,63,161);">***encapsulées***</span> les unes dans les autres donnant alors ce que l'on appellera une '<span style="color: rgb(132,63,161);">***trame***</span>' réseau.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Les couches du modèle OSI</span>**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Couche 1 : Physique**</span>

Il s'agit de la couche matérielle. Celle permettant de porter le signal réseau.

Elle est constituée des câbles réseaux, fibres optiques, ondes WIFI et des contacts électroniques des cartes réseaux.

Il s'agit de ce que l'on appelle le '<span style="color: rgb(132,63,161);">***medium de propagation du signal***</span>'

<table id="bkmrk-c%C3%A2ble-rj45-connecteu" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td style="border-style: none;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/NNoimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/NNoimage-png.png)

</td><td style="border-style: none;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wBrimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wBrimage-png.png)

</td><td style="border-style: none;">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/iwhimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/iwhimage-png.png)

</td></tr><tr><td class="align-center" style="border-style: none;">*câble RJ45*</td><td class="align-center" style="border-style: none;">*connecteurs fibre*  
</td><td class="align-center" style="border-style: none;">*antenne wifi*  
</td></tr></tbody></table>

<details id="bkmrk-outils-de-diagnostic"><summary>Outils de diagnostics</summary>

- vérification du câble ou fibre
- état des voyants sur l'interface
- état de la carte : 'link up / link down'

</details>#### <span style="color: rgb(35,111,161);">**2.2 Couche 2 : Liaison**</span>

Il s'agit de la couche permettant aux machines de communiquer entre elles au plus bas niveau et de se transmettre le signal d'un nœud à un autre. En d'autre terme, d'établir une '<span style="color: rgb(132,63,161);">***liaison***</span>' entre elles.

On y retrouve notamment les adresses MAC (**M**edia **A**ccess **C**ontrol).

Une adresse MAC est un identifiant physique unique permettant d'identifier l'interface réseau au plus bas niveau.

Les plages d'adresses MAC sont distribuées aux constructeurs de matériel réseau et chaque interface matérielle est dotée de sa propre adresse MAC unique au monde.

[![krqimage.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/krqimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/krqimage-png.png)

Les protocoles utilisés à ce niveau sont :

- Ethernet
- PPP
- ...

C'est à ce niveau que va s'opérer le contrôle d'erreur (CRC) et la commutation par les switches. La gestion des VLAN, etc...

<details id="bkmrk-outils-de-diagnostic-1"><summary>Outils de diagnostics</summary>

Vérification des tables ARP

par exemple :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/REbimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/REbimage-png.png)

</details>#### <span style="color: rgb(35,111,161);">**2.3 Couche 3 : Réseau**</span>

La couche réseau est la plus connue et manipulée directement par les administrateurs réseaux et systèmes.

Il s'agit de la couche qui permet de faire abstraction de la couche matérielle afin de construire des topologies réseau logiques.

Celles-ci pourront de ce fait être cartographiées et des '<span style="color: rgb(132,63,161);">***routes***</span>' permettrons d'interconnecter ces topologies entres elles.

C'est à ce niveau là qu'interviens le protocole <span style="color: rgb(132,63,161);">***IP*** </span>et que l'on retrouve nos adresses logiques uniques sur le réseau.

- [Réseau - Adressage IPV4](https://docs.labs404.fr/books/cours-it/page/reseau-adressage-ipv4 "Réseau - Adressage IPV4")
- [Réseau - Adressage IPv6](https://docs.labs404.fr/books/brouillons-et-notes/page/reseau-adressage-ipv6 "Réseau - Adressage IPv6")

A ce niveau, l'on parle de <span style="color: rgb(132,63,161);">***trames***</span> ip. Ces trames ont une taille limite de 65536 Octets. Mais celle-ci ne sera que rarement atteinte, car elle va être limitée par la taille maximale que les réseaux qui la portent peuvent supporter.

Cela se négocie grâce au <span style="color: rgb(132,63,161);">***MTU***</span> (**M**aximum **T**ransfer **U**nit). Passé cette taille, les trames seront fragmentées.

Cette fragmentation est gérée par le routeur.

<p class="callout warning">**Attention** : Rien ne garantis à ce stade que les paquets arriveront dans le bon ordre. Cela sera géré sur la couche suivante.</p>

Voici les en-têtes présents sur cette couche :

<table id="bkmrk-en-t%C3%AAte-description-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9405%;"></col><col style="width: 75.1786%;"></col></colgroup><tbody><tr><td style="background-color: rgb(194,224,244);">**en-tête**</td><td style="background-color: rgb(194,224,244);">**Description**</td></tr><tr><td>**TTL** (**T**ime **T**o **L**ive)  
</td><td>ce champs permet de définir une expiration sur les paquets afin que ceux-ci puissent "s'autodétruire" si leur durée de vie est expirée. Empêchant ainsi une saturation du réseau.</td></tr><tr><td>**SRC** (Source address)  
</td><td>Adresse IP de la source de la transmission.</td></tr><tr><td>**DST** (Destination address)  
</td><td>Adresse IP de la destination de la transmission.</td></tr><tr><td>**Checksum**  
</td><td>Somme de contrôle IP.</td></tr></tbody></table>

C'est sur cette couche que sont géré entre autre le routage, le diagnostic et les tests de connectivité (avec ICMP).

<details id="bkmrk-outils-de-diagnostic-2"><summary>Outils de diagnostics</summary>

- ping 
    - **general failure** : problème sur la pile TCP ou pas de signal  
        
        - *vérifier câble et configuration IP*
    - **host** **unreachable** : le ping n'est pas parvenu à l'hôte de destination 
        - vérifier l'état de la passerelle, les configuration IP et le routage
    - **Request timed out** : l'hôte de destination a bien reçu la requête mais n'a pas renvoyé de réponse. 
        - pare-feu ? route retour ?
    - **TTL expired in transit** : le paquet a dépassé le nombre de saut maximum (sans doute une boucle de routage).
    - **Anwer from &lt;host&gt;** : OK

- tracert / traceroute : permet de voir les sauts pour vérifier la route empruntée

</details>#### <span style="color: rgb(35,111,161);">**2.4 Couche 4 : Transport**</span>

La couche 4 sert à faire passer des communication à travers le réseau IP.

On y retrouve principalement 2 protocoles de transfert :

- TCP (**T**ransmission **C**ontrol **P**rotocol) : un protocole permettant un transfert de donnée contrôlé avec une gestion des erreurs.
- UDP (**U**ser **D**atagram **P**rotocol) : un protocole sans contrôle d'erreur, mais permettant des interactions plus rapide.

La différence majeure entre les deux tient au fait que TCP gère la transmission, là ou UDP se contente d'envoyer des paquets sans aucun contrôle de la transmission.

##### <span style="color: rgb(53,152,219);">***2.4.1 TCP***</span>

Un paquet TCP est appelé un <span style="color: rgb(132,63,161);">***Segment***</span>.

TCP prends en charge la gestion des erreurs. A chaque trame transmise, des informations de contrôle y sont adjointes.

Ces informations permettent ainsi au récepteur de pouvoir s'assurer du numéro de paquet dans la transmission, du fait que le paquet soit complet et reçu sans erreur, de gérer les erreur éventuelles en demandant un nouvel envoi de paquet et enfin de savoir quand la transmission est complétée.

<p class="callout success">*Cela le rends donc idéal pour tous les protocoles nécessitant que la donnée soit reçue de façon certaine. Par exemple pour le FTP, SFTP, SMB, HTTP, etc...*</p>

Un échange TCP se déroule de la façon suivante :

<table id="bkmrk-etape-message-descri" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 6.7938%;"></col><col style="width: 11.3808%;"></col><col style="width: 81.8254%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(194,224,244);">**Etape**</td><td style="background-color: rgb(194,224,244);">**Message**</td><td style="background-color: rgb(194,224,244);">**Description**</td></tr><tr><td class="align-center">**1**</td><td>SYN  
</td><td>Un message SYN est envoyé par la machine 1, dans le cadre d'un processus appelé '<span style="color: rgb(132,63,161);">***handshake***</span>'. Ce paquet est issu afin d'initier la connexion et synchroniser les deux machines.</td></tr><tr><td class="align-center">**2**</td><td>SYN / ACK</td><td>Ce paquet est envoyé par la machine 2 après réception du paquet de la machine 1 permettant de valider la réception de la demande d'échange.</td></tr><tr><td class="align-center">**3**</td><td>ACK</td><td>Ce message sera ensuite envoyé après chaque transmission, afin d'en valider la réception.</td></tr><tr><td class="align-center">**4**</td><td>DATA</td><td>Une fois la connexion établie, les données sont transmises à travers des messages data, qui seront 'acknowledged'.</td></tr><tr><td class="align-center">**5**</td><td>FIN</td><td>A la fin de la transmission, ce paquet est utilisé pour clôre proprement la session.</td></tr><tr><td class="align-center">**\#**</td><td>RST</td><td>Ce paquet est utilisé en lieu et place du paquet FIN si il y a eu un problème durant la transmission. Celui-ci terminera alors de façon abrupte la communication.</td></tr></tbody></table>

<div drawio-diagram="175"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782717563-png.png" alt="drawing-1-1782717563.png"/></div>

Ainsi, les données importantes présentes dans les trames TCP Sont :

<table id="bkmrk-en-t%C3%AAte-description--1" style="border-collapse: collapse; width: 100%; height: 346.344px;"><colgroup><col style="width: 24.9106%;"></col><col style="width: 75.0894%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="background-color: rgb(194,224,244); height: 29.7969px;">**en-tête**</td><td style="background-color: rgb(194,224,244); height: 29.7969px;">**Description**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**SRC** (Source address)  
</td><td style="height: 29.7969px;">Adresse IP de la source de la transmission.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**DST** (Destination address)  
</td><td style="height: 29.7969px;">Adresse IP de la destination de la transmission.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**SRC port**</td><td style="height: 29.7969px;">Le port source de la transmission.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**DST port**  
</td><td style="height: 29.7969px;">Le port de destination de la transmission.</td></tr><tr style="height: 48.375px;"><td style="height: 48.375px;">**Sequence Number**</td><td style="height: 48.375px;">Lors de l'établissement de la connexion, le premier paquet reçois un numéro initial aléatoire. il constituera le premier numéro de la séquence à transmettre.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**ACK Number**</td><td style="height: 29.7969px;">Après l'envoi d'un bloc de donnée ayant reçu un Sequence Number, le nombre du prochain bloc reçois le nombre de séquence + 1 et ainsi de suite.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Checksum**  
</td><td style="height: 29.7969px;">Somme de contrôle, pour vérifier l'intégrité du paquet.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Data**</td><td style="height: 29.7969px;">Là où se situe la donnée envoyée dans la trame.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Flag**</td><td style="height: 29.7969px;">Ce champ détermine comment la trame doit être traitée par les deux machines durant le processus de Handshake. ( SYN / ACK / FIN / RST )</td></tr></tbody></table>

Cela permet de s'assurer que la transmission se déroule bien, de gérer les erreurs.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/DzSimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/DzSimage-png.png)

##### <span style="color: rgb(53,152,219);">***2.4.1 UDP***</span>

Un paquet UDP est appelé un <span style="color: rgb(132,63,161);">***Datagrame***</span>*.*

Contrairement à TCP, le protocole UDP ne prends pas en charge de contrôle de transmission ou d'erreur. Ce qui rends la perte de paquet irrémédiable.

Mais cette absence de contrôle en fait également son point fort. En effet, du fait de sa simplicité, il est très utile pour gérer des flux continus.

<div drawio-diagram="177"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782720795-png.png" alt="drawing-1-1782720795.png"/></div>

<p class="callout success">*Cela rends UDP parfait pour des transmissions continues et massive, comme par exemple des flux vidéos, VoIP ou autres...*  
</p>

<details id="bkmrk-outils-de-diagnostic-3"><summary>Outils de diagnostics</summary>

<table><thead><tr><td style="border-style: solid; background-color: rgb(194,224,244);">Outils</td><td style="border-style: solid; background-color: rgb(194,224,244);">DIgnostics</td></tr></thead><tbody><tr><td style="border-style: solid;">netstat</td><td style="border-style: solid;">Ports, sessions, TCP states</td></tr><tr><td style="border-style: solid;">ss</td><td style="border-style: solid;">Sockets, queues, states</td></tr><tr><td style="border-style: solid;">tcpdump</td><td style="border-style: solid;">Flags, handshake, resets</td></tr><tr><td style="border-style: solid;">Wireshark</td><td style="border-style: solid;">analyse complète</td></tr><tr><td style="border-style: solid;">lsof</td><td style="border-style: solid;">Process ↔ port mapping</td></tr><tr><td style="border-style: solid;">telnet / nc</td><td style="border-style: solid;">Disponibilité du port</td></tr><tr><td style="border-style: solid;">curl / wget</td><td style="border-style: solid;">TCP errors, resets</td></tr><tr><td style="border-style: solid;">(PowerShell) test-netconnection</td><td style="border-style: solid;">Windows TCP diagnostics</td></tr><tr><td style="border-style: solid;">iperf</td><td style="border-style: solid;">Throughput, retransmissions</td></tr><tr><td style="border-style: solid;">ssldump</td><td style="border-style: solid;">TLS handshake issues</td></tr></tbody></table>

</details>#### <span style="color: rgb(35,111,161);">**2.5 Couche 5 : Session**</span>

La couche 5 permet le contrôle des '<span style="color: rgb(132,63,161);">***sessions***</span>' de communications entre les applications.

C'est ici que les échanges vont être commencé, suivis, terminés entre les interlocuteurs.

C'est également ici que les erreurs de communications, les mises en attentes de paquets vont être gérées.

#### <span style="color: rgb(35,111,161);">**2.6 Couche 6 : Présentation**</span>

La couche 6 permet la mise en forme préalable des données de la couche suivante, soit sa '<span style="color: rgb(132,63,161);">***présentation***</span>'.

C'est sur cette couche que ce fait par exemple le chiffrement du flux de données avant l'envoi de la trame (SSL / TLS).

C'est donc aussi sur cette couche que s'opèrera le déchiffrement.

Si des algorithmes de compression de flux sont mis en œuvre, ils se reposeront aussi sur cette couche pour la compression et décompression des flux.

#### <span style="color: rgb(35,111,161);">**2.7 Couche 7 : Application**</span>

C'est enfin sur cette couche que passe la communication des différents services et application.

C'est là que se retrouvent l'ensemble des protocoles liés aux applications comme le DNS, DHCP, NTP, HTTP, etc...

<details id="bkmrk-outils-de-diagnostic-4"><summary>Outils de diagnostics</summary>

Côté client, tester la connexion TCP avec telnet, netcat ou autre.

```powershell
Telnet
```

</details>---

### <span style="text-decoration: underline;"><span style="color: rgb(52,73,94); text-decoration: underline;">III. Conclusion</span></span>

Lors d'un diagnostic sur un problème réseau, il est important d'avoir ce modèle en tête et de réfléchir au problème couche par couche en partant de la plus basse.

Cela permet de gagner du temps sur la résolution d'un problème.

A moins bien sûr que la couche qui pose problème soit clairement identifiée au départ par le retour obtenu ou le message d'erreur.

Basiquement, pour une résolution de problème sur la connectivité des VM, les questions à se poser sont :

1. La carte réseau existe et est connectée
2. Je suis situé sur le bon Vswitch (VMBR)
3. Je suis dans la bonne plage IP des deux côté
4. Les pare-feu / routeurs sont bien configurés

Si le signal est OK et que le ping passe,

1. Le service est démarré sur le serveur,
2. Le port est ouvert
3. la configuration de mon service est correcte
4. le contenu est accessible.

# Réseau - Protocole DHCP

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wYQnovice-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wYQnovice-png.png)  
</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Novice

Résumé :

- **OSI** : couche 7 (Application) sur couche 4 (Transport)
- **Type** : UDP
- **Port** : 67, 68

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Le protocole DHCP (**D**ynamic **H**ost **C**onfiguration **P**rotocol) est un protocole permettant la configuration réseau automatique d'un ou plusieurs hôtes par un serveur.

Cela permet de gérer un grand nombre d'hôtes sans nécessiter une intervention des administrateurs.

Les échanges entre le client et le serveur se font entre la couche 5 et 7 du modèle OSI.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Diagramme </span>**</span>

<div drawio-diagram="160"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1768895411-png.png" alt="drawing-1-1768895411.png"/></div>

##### <span style="color: rgb(53,152,219);">*1 - DHCP Discover*</span>

L'hôte configuré en DHCP envoie un **broadcast** général. Il place son **adresse MAC** dans le paquet.

Il utilise l'ip **0.0.0.0** en source et envoie son broadcast à **255.255.255.255** en destination.

Cela lui permet d'adresser toutes les machines présentes sur le réseau.

Si un serveur DHCP se trouve à portée, il captera le broadcast et répondra alors.

##### <span style="color: rgb(53,152,219);">*2 - DHCP Offer*</span>

Le serveur DHCP reçoit la requête et, comme le PC de destination n'a pas d'adresse IP, il va alors répondre également en **broadcast.**

<p class="callout info">**Info** : Certains clients acceptent une réponse en unicast. Le DHCP pourra alors être configuré pour leur répondre en unicast.</p>

Il va envoyer dans le paquet la **configuration réseau** (ip, masque, passerelle, dns, etc...) ainsi qu'une **durée de bail** et l'**adresse MAC du pc demandeur**.

Si plusieurs serveurs DHCP sont présents, selon leurs configuration, l'un d'entre eux ou tous répondront à la requête et le client fera son choix (généralement basé sur la réponse la plus rapide).

##### <span style="color: rgb(53,152,219);">*3 - DHCP Request / DHCP Decline*</span>

L'ensemble des hôtes présents sur le réseau reçoivent la réponse.

Comme le demandeur avais placé son **adresse MAC** dans le paquet, il comprends que la réponse lui est adressée. Les autres hôtes lisent l'adresse MAC, et comme ce n'est pas la leur, ignorent le message.

Si plusieurs serveurs DHCP ont répondus, le client fera alors son choix (généralement basé sur la réponse la plus rapide).

Ensuite, deux scénarii :

- Le client vérifie sa configuration, voit que la configuration proposée correspond à son besoin et ne rentre pas en conflit avec l'une de ses configuration déjà existantes. Il demandera alors au serveur si il peut utiliser cette configuration avec un message **DHCP Request**.
- Le client vérifie sa configuration et voit que la configuration proposée rentre en conflit avec l'une de ses configuration. Il refuse donc l'offre et renvoie un message **DHCP Decline**. Puis l'échange s'arrête là.

##### <span style="color: rgb(53,152,219);">*4 - DHCP Ack*</span>

Le serveur qui a reçu le message de requête va alors la prendre en compte et renvoyer au client un message en lui indiquant qu'il a bien **Validé** cette demande.

##### <span style="color: rgb(53,152,219);">*Suite à cet échange*</span>

Une fois cet échange terminé le serveur va alors enregistrer dans sa base l'adresse MAC du PC ayant fait la demande ainsi que la configuration qui lui a été attribuée ainsi que la durée du bail.

Un compteur se met alors en route. A la fin de celui-ci, le **bail** étant terminé, le serveur va **libérer** cette configuration et la remettre dans son **pool** de disponibilité. Elle pourra donc ensuite être réattribuée à un autre hôte qui fera une demande.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Configuration</span>**</span>

Lors de la configuration d'un serveur DHCP, il va falloir un minimum d'informations :

- l'adresse IP de début de plage (la première qui sera proposée aux hôtes)
- l'adresse IP de fin de plage (la dernière qui sera proposée) 
    - toutes les adresses IP qui seront entre les deux constitueront la **Plage DHCP** ou le **Pool d'adresses**.
- le masque de sous-réseau
- l'adresse de la passerelle

Il est possible de fournir au client plus de configurations :

- Les serveurs de noms (**DNS**)
- Les serveurs de temps (**NTP**)
- Les serveurs **TFTP** (serveurs de démarrage réseau, pour faire booter un PC sur une image situé sur le réseau)
- etc...

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Autres principes</span>**</span>

**Réservation** : Il est possible de réserver une configuration. Lorsqu'un hôte obtient une configuration, on pourra demander au serveur de lui réattribuer systématiquement la même.

**Plage d'exclusion** : Il est également possible de définir à l'intérieur des plages d'adresses des exclusions, afin de préciser que certaines adresses ne doivent pas être distribuées.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Relais DHCP</span>**</span>

Comme vu plus haut, le DHCP s'appuie essentiellement sur des broadcasts. Hors, le problème est que les broadcast ne passent pas les routeurs.

Si l'on veut distribuer des adresses sur un ou plusieurs réseaux se situant derrière des routeurs, il faudra donc utiliser un **relai DHCP**.

Le rôle de celui-ci sera de prendre le **broadcast** envoyé par le client et de le renvoyer sous forme d'**unicast** au serveur DHCP. Puis de récupérer la réponse de celui-ci et de la retransmettre en **broadcast** dans le réseau d'origine.

Ainsi :

<div drawio-diagram="161"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1759516338-png.png" alt="drawing-1-1759516338.png"/></div>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">V. Cas de plusieurs réseaux</span>**</span>

Dans le cas où un serveur devrait servir plusieurs étendues **réseaux,** lors du passage du relais, celui-ci glisse dans le paquet (champ giaddr) son adresse IP.

En se basant sur cette adresse, le serveur DHCP choisit alors l'étendue adaptée et fait une proposition dans ce sens.

C'est ainsi que le tri se fait entre les demandes.

<p class="callout info">**Info** : A noter que si le relai DHCP peut être une machine dans le réseau, certains routeurs proposent nativement cette fonctionnalité.</p>

# Réseau - Protocole DNS

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wYQnovice-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/wYQnovice-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Novice

Résumé :

- **OSI** : couche 4, 6 &amp; 7
- **Type** : UDP (parfois TCP)
- **Port** : 53 (853 DNSsec)

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Le protocole DNS (**D**omain **N**ame **S**ystem) permet de traduire les noms de domaine lisibles par l’homme (comme `www.example.com`) en adresses IP compréhensibles par les machines (`192.0.2.1`). Il joue un rôle fondamental dans la navigation sur Internet et dans la résolution de noms au sein des réseaux locaux.

Les échanges DNS se situent entre les couches 5 à 7 du modèle OSI, bien qu’ils reposent sur des mécanismes de transport en UDP ou TCP selon le contexte.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Diagramme</span>**</span>

<div drawio-diagram="162"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1760434403-png.png" alt="drawing-1-1760434403.png"/></div>

##### <span style="color: rgb(53,152,219);">*1 - Vérification locale (cache)*</span>

Lorsqu'une résolution est nécessaire ; effectuée par l'utilisateur ou le système ; la machine va dans un premier temps consulter son cache local.

- Si l'enregistrement s'y trouve, il va utiliser celui-ci.
- Si l'enregistrement ne s'y trouve pas :

##### <span style="color: rgb(53,152,219);">*2 - Vérification locale (fichier)*</span>

Le client va vérifier si ses fichiers 'Hosts' contiennent l'enregistrement.

- Si oui, il sera lu et mis en cache puis l'utiliser.
- Si non :

##### <span style="color: rgb(53,152,219);">*3 - DNS Query*</span>

Le client va interroger le(s) serveur(s) déclarés dans sa configuration réseau.

Il existe 3 types de requêtes :

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/VR4image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/VR4image-png.png)

*Source : geeksforgeeks*

- **Requête récursive** : Si le resolver (client) ne trouve pas l'enregistrement il va interroger le(s) DNS paramétré(s) et attends une réponse complète. 
    - Le serveur va alors interroger ses forwarder et ainsi de suite jusqu'à ce qu'une réponse revienne au client.

- **Requête Itérative** : Si le resolver (client) ne trouve pas l'enregistrement, il va interroger le(s) DNS paramétré(s) et attend une réponse au moins partielle. 
    - Le serveur va alors chercher un autre serveur qui a une information plus complète et renvoyer son adresse au client, qui pourra alors lui adresser sa requête, ainsi de suite jusqu'à résolution complète.

- **Requête non récursive** : Si le resolver (client) ne trouve pas l'enregistrement il va interroger le(s) DNS paramétré(s) et demande de consulter le cache.  
    
    - Le serveur regarde dans son cache, soit il a l'information et la transmet au client, soit il n'a pas l'information et renvoie qu'il ne l'a pas. La recherche s'arrête là.

Dans tous les cas, si un serveur ne dispose pas de la réponse, il vérifiera si l'un de ses forwarder ou si les serveurs racine ont la réponse et soit fera la recherche pour le client (Récursive) soit lui donnera l'adresse d'un forwarder ou serveur racine (itérative).

##### <span style="color: rgb(53,152,219);">*4-5 - Vérification du cache*</span>

Tout comme le client effectue de son côté une vérification de son cache et de ses fichiers locaux aux étapes 1 et 2, les serveurs relais vont effectuer la même opération. Cela permettra une réponse plus rapide.

##### <span style="color: rgb(53,152,219);">*6 - Mise à jour du cache*</span>

Une fois la réponse obtenue, le cache local du resolver est mis à jour.

Ces enregistrements resterons mis en cache pour la durée du TTL.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Principes de bases</span>**</span>

#### <span style="color: rgb(35,111,161);">**3.1 Le cache DNS**</span>

Chaque enregistrement DNS dispose d'un TTL (Time To Live). Lorsqu'un enregistrement est mis en cache, il périmera à l'expiration du TTL. Celui-ci sera alors supprimé du cache et rajouté à nouveau lors d'une prochaine requête.

<p class="callout success">**Astuce** : Tous les systèmes disposent de commandes pour vider manuellement ce cache.</p>

<p class="callout info">**Info** : C'est cette mécanique qui est utilisée lors des attaques par empoisonnement de cache DNS (DNS poisoning).</p>

#### <span style="color: rgb(35,111,161);">**3.2 La hiérarchie des serveurs DNS**</span>

L’architecture DNS se compose d’un système de résolution de nom hiérarchique et décentralisé pour les ordinateurs, les services ou toute autre ressource connectée à Internet ou à un réseau privé. Il stocke les différentes informations associées des noms de domaine attribués à chacune des ressources.

La hiérarchie DNS repose sur plusieurs niveaux qui peuvent intervenir lors d’une résolution DNS :

- Tout en haut : **Les serveurs DNS racines**
    - Ceux qui gèrent les domaines de niveaux supérieurs.
- Puis en dessous **les serveurs de domaine de premier niveau**
    - Les domaines nationaux par exemple .fr, .eu, etc... (ou encore d'autres comme .com, .net, etc...).
- Au niveau intermédiaire **les serveurs DNS d'autorité**
    - Les serveurs faisant autorité pour les domaines complets comme mfrstegreve.fr ou labs404.com (souvent ceux du registar)
- Puis **les DNS récursifs et itératives**
    - Ce sont les serveurs enregistrés dans les paramètres de la connexion (souvent ceux du FAI ou les DNS locaux).

<details id="bkmrk-liste-des-serveurs-r"><summary>Liste des serveurs racines</summary>

Actuellement, il existe 13 serveurs DNS racines dont une grande majorité se trouvent aux USA.

<figure class="wp-block-table"><table><thead><tr><th style="background-color: rgb(194,224,244);">Serveurs DNS racines</th><th style="background-color: rgb(194,224,244);">Adresse IPv4</th><th style="background-color: rgb(194,224,244);">Adresse IPv6</th><th style="background-color: rgb(194,224,244);">Opérateur</th></tr></thead><tbody><tr><td>A</td><td>198.41.0.4</td><td>2001:503:ba3e::2:30</td><td>VeriSign</td></tr><tr><td>B</td><td>192.228.79.201</td><td>2001:478:65::53</td><td>USC-ISI</td></tr><tr><td>C</td><td>192.33.4.12</td><td>2001:500:2::c</td><td>Cogent Communications</td></tr><tr><td>D</td><td>199.7.91.13</td><td>2001:500:2d::d</td><td>University of Maryland</td></tr><tr><td>E</td><td>192.203.230.10</td><td> </td><td>NASA</td></tr><tr><td>F</td><td>192.5.5.241</td><td>2001:500:2f::f</td><td>ISC</td></tr><tr><td>G</td><td>192.112.36.4</td><td> </td><td>U.S. DoD NIC</td></tr><tr><td>H</td><td>128.63.2.53</td><td>2001:500:1::803f:235</td><td>US Army Research Lab</td></tr><tr><td>I</td><td>192.36.148.17</td><td>2001:7FE::53</td><td>Autonomica</td></tr><tr><td>J</td><td>192.58.128.30</td><td>2001:503:c27::2:30</td><td>VeriSign</td></tr><tr><td>K</td><td>193.0.14.129</td><td>2001:7fd::1</td><td>RIPE NCC</td></tr><tr><td>L</td><td>199.7.83.42</td><td>2001:500:3::42</td><td>ICANN</td></tr><tr><td>M</td><td>202.12.27.33</td><td>2001:dc3::35</td><td>WIDE Project</td></tr></tbody></table>

</figure></details>#### <span style="color: rgb(35,111,161);">**3.3 Les types de domaines**</span>

Il en existe 3 types :

- **Les domaines Génériques** : Des domaines sans rattachements géographiques mais mondialement reconnus et utilisés. 
    - .org, .com, .net, ...
- **Les domaines Nationaux ou Coutry Code Domain** : Domaines attachés à une origine géographique.  
    
    - .fr, .uk, .au, .ru, .us, ...
- **Les domaines inverses** : Utilisé pour les 'Reverse lookup'. Les recherches inversées. Notamment utilisés pour vérifier qu'une IP est bien dans le domaine recherché. 
    - .arpa

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Types d'enregistrements DNS</span>**</span>

Les enregistrements DNS sont des parties importantes de la Système de nom de domaine (DNS). Il existe plus de 30 types d'enregistrements, chacun servant de saisie de base de données qui fournit des informations spécifiques sur un domaine, y compris son adresse IP, ses serveurs de messagerie et sa sécurité. Ces enregistrements sont stockés dans des fichiers DNS Zone et gérés par les serveurs DNS.


#### **<span style="color: rgb(35,111,161);">4.1 Terminologie DNS</span>**

Avant de voir les types de dossiers DNS spécifiques, il est utile de comprendre une terminologie DNS de base.

Voici quelques termes clés utiles dans la compréhension de DNS Records.

<div class="amo aob aqq aqc qh" id="bkmrk-enregistrement-des-r"><div class="qk qm">- **Enregistrement des ressources:** L'élément de données de base dans le DNS. Chaque enregistrement spécifie des informations sur un domaine.
- **Nom:** Le nom de domaine auquel l'enregistrement s'applique.
- **TTL (temps de vie):** La durée pour laquelle le dossier est mis en cache par les DNS Resolvers.
- **Classe:** Spécifie la famille du protocole. Dans (Internet) est le plus courant.
- **Taper:** Le type d'enregistrement DNS (par exemple, a, aaaa, cname).
- **Donnés:** Les données spécifiques de l'enregistrement, telles qu'une adresse IP.
- **Fichiers de zone:** Fichiers contenant des mappages entre les noms de domaine et les adresses IP.
- **Nom du serveur:** Un serveur qui gère les enregistrements DNS pour un domaine.

</div></div>
#### **<span style="color: rgb(35,111,161);">4.2 Types d'enregistrements DNS les plus courants</span>**

Chaque type d'enregistrement DNS a une fonction spécifique, ce qui aide à gérer les noms de domaine et à garantir un approvisionnement approprié du trafic Internet.

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Ajnimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Ajnimage-png.png)

*source : Wikipedia*

#### **<span style="color: rgb(35,111,161);">4.3 Champs spécifiques</span>**

Certains protocoles se basent sur l'utilisation de champs spécifiques. La plupart du temps, il s'agit de champs TXT devant être formatés de manière très précise.

C'est le cas par exemple pour la vérification des serveurs de messageries qui peuvent utiliser les champs **DMARK** et **SPF**.

Ou la VoIP.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">V. Principes avancés</span>**</span>


#### **<span style="color: rgb(35,111,161);">5.1 Recherche inversée</span>**

Tout comme il est possible avec le DNS de savoir quelle adresse IP corresponds à quel nom d'hôte, il est également possible d'effectuer une recherche inversée pour avoir les noms attachés à une adresse IP.

Cela sert dans le cadre de vérification ou de diagnostic.

Cette recherche s'appuie sur une zone de recherche inversée contenant les champs en **.arpa**.

#### **<span style="color: rgb(35,111,161);">5.2 DNSsec</span>**

Le DNSSEC (**D**omain **N**ame **S**ystem **SEC**urity extensions) est une extension du protocole DNS qui ajoute une couche de sécurité en garantissant l'authenticité des réponses DNS.

Chaque zone DNS est signée avec une clé privée.

La clé publique est placée dans l'un des champs de la zone et permet à un client qui ferai une requête de vérifier l'authenticité de la réponse.

Cela permet de se prémunir des attaques de type "DNS spoofing" ou de "cache poisoning".

<p class="callout warning">**Attention** : Cela permet de garantir l'authenticité de la réponse mais ne chiffre pas les échanges. De plus tous les équipements ne seront pas forcement compatible avec ce protocole.</p>

Les enregistrements spécifiques utilisés sont :

- **RRSIG** : contiens la signature cryptographique d'un enregistrement DNS.
- **DNSKEY** : contient la clé publique utilisée pour vérifier les signatures.
- **DS** : sert à déléguer la vérification entre zones.

#### **<span style="color: rgb(35,111,161);">5.3 DoH / DoT</span>**

Le DoH (**D**ns **O**ver **H**ttps), vise à faire passer les requêtes DNS par le biais d'un canal chiffré par HTTPS. Rendant son interception et sa modification plus difficile.

Si aujourd'hui beaucoup de navigateurs l'intègre nativement, il est très peu présent sur les équipements réseaux.

Le DoT (**D**ns **O**ver **T**ls) vise à faire passer les requêtes DNS par le biais d'un canal chiffré par TLS. Les avantages sont les mêmes qu'avec le DoH. Mais il utilise un port à part (853), permettant de le différencier du trafic HTTPS, mais également de faire un filtrage plus fin sur les pare-feu.

# Réseau - Protocole RIP

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ayCconfirme-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ayCconfirme-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Confirmé

Notions : Protocoles réseaux, routage, routage dynamique.

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Le protocole RIP pour **R**outing **I**nformation **P**rotocol est un protocole permettant aux routeurs d'échanger automatiquement leurs tables de routage. Il fait partie des protocoles IGP (**I**nterior **G**ateway **P**rotocol) qui sont utilisés à l'intérieur d'un même réseau ou organisation.

C'est un protocole de <span style="color: rgb(132,63,161);">***couche 3***</span>.

Cela facilite la gestion du parc, permettant notamment de mettre à jour automatiquement les tables de routages en cas d'ajout ou suppression d'un réseau, rendant celui-ci facilement scalable et simple à administrer.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Principes de base</span>**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Fonctionnement**</span>

Le principe du RIP est asses simple :

Chaque routeur génère une table de routage composée de ses réseaux connus directement accessibles via ses interface. Il y ajoute les routes connues ainsi que leur distances en nombre de saut.

Puis, régulièrement (par défaut 30 secondes), il envoie cette table à ses partenaires de réplication. Dans la première version du protocole, cela se fait par broadcast. Puis cela a été changé pour du multicast dans les versions suivantes du protocole ( 224.0.0.9 pour RIPv2 en IPV4, puis dans le RIPng pour IPV6 : FF02::9)

Chaque routeur, met ainsi ses tables à jour et peut les propager aux autres. Les doublons sont éliminés et les routes avec un minimum de saut sont conservées afin d'optimiser la performance.

Si une route n'a pas eu d'update dans un délai de 180 secondes, elle est marquée comme invalide. Passé 240 secondes, elle est supprimée.

Ces délais permettent ainsi d'ajouter une purge des routes inutiles en plus des ajouts, permettant de conserver des tables de routages précises.

#### <span style="color: rgb(35,111,161);">**2.2 Mécanismes internes**</span>

Le RIP utilise plusieurs mécanismes en interne pour éviter des boucles dans la topologie.

- **Split Horizon** : un routeur n'anonce pas une route sur l'interface par laquelle il l'a apprise.
- **Route Poisoning** : Une route devenue invalide est supprimée.
- **Hold-down Timer** : Empêche une acceptation trop rapide d'une route potentiellement incorrecte

Voici une liste plus détaillées des timers clés :

<table id="bkmrk-timer-valeur-r%C3%B4le-up"><thead><tr><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Timer</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Valeur</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Rôle</td></tr></thead><tbody><tr><td style="border-style: solid;">Update</td><td style="border-style: solid;">30 s</td><td style="border-style: solid;">Envoi périodique des tables</td></tr><tr><td style="border-style: solid;">Invalid</td><td style="border-style: solid;">180 s</td><td style="border-style: solid;">Route considérée invalide</td></tr><tr><td style="border-style: solid;">Hold-down</td><td style="border-style: solid;">180 s</td><td style="border-style: solid;">Stabilisation</td></tr><tr><td style="border-style: solid;">Flush</td><td style="border-style: solid;">240 s</td><td style="border-style: solid;">Suppression de la route</td></tr></tbody></table>

#### <span style="color: rgb(35,111,161);">**2.2 Limitations**</span>

Le RIP repose essentiellement sur le <span style="color: rgb(132,63,161);">***hop count***</span>. Ce compteur de saut est limité à 15 sauts.

Cela le rends inefficace pour de larges topologies et limite donc son usage à des réseaux de petite tailles ou de tailles moyennes.

De plus en terme de priorité de traitement, les requêtes RIP sont les moins prioritaires.

<table id="bkmrk-protocoler-distance-"><thead><tr><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Protocoler</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Distance administrative</td></tr></thead><tbody><tr><td style="border-style: solid;">RIP</td><td style="border-style: solid;">120</td></tr><tr><td style="border-style: solid;">OSPF</td><td style="border-style: solid;">110</td></tr><tr><td style="border-style: solid;">EIGRP</td><td style="border-style: solid;">90</td></tr><tr><td style="border-style: solid;">statique</td><td style="border-style: solid;">1</td></tr><tr><td style="border-style: solid;">connectée</td><td style="border-style: solid;">0</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Versions de RIP</span>**</span>

Il existe 3 versions du protocole RIP :

<table id="bkmrk-feature-ripv1-%281988%29" style="width: 91.0714%;"><thead><tr><td class="align-center" style="border-style: solid; width: 24.4764%; background-color: rgb(194,224,244);">Feature</td><td class="align-center" style="border-style: solid; width: 30.6262%; background-color: rgb(194,224,244);">RIPv1 (1988)</td><td class="align-center" style="border-style: solid; width: 26.311%; background-color: rgb(194,224,244);">RIPv2 (1993)</td><td class="align-center" style="border-style: solid; width: 18.5864%; background-color: rgb(194,224,244);">RIPng (1997) for IPv6</td></tr></thead><tbody><tr><td style="border-style: solid; width: 24.4764%;">Méthode de mise à jour</td><td style="border-style: solid; width: 30.6262%;">Broadcast (255.255.255.255)</td><td style="border-style: solid; width: 26.311%;">Multicast (224.0.0.9)</td><td style="border-style: solid; width: 18.5864%;">Multicast (FF02::9)</td></tr><tr><td style="border-style: solid; width: 24.4764%;">Adressage</td><td style="border-style: solid; width: 30.6262%;">Classful (pas d'info de sous réseau)</td><td style="border-style: solid; width: 26.311%;">Classless (inclus le masque)</td><td style="border-style: solid; width: 18.5864%;">Classless (IPv6)</td></tr><tr><td style="border-style: solid; width: 24.4764%;">Authentification</td><td style="border-style: solid; width: 30.6262%;">Pas de support</td><td style="border-style: solid; width: 26.311%;">plain text, MD5</td><td style="border-style: solid; width: 18.5864%;">plain text, MD5</td></tr><tr><td style="border-style: solid; width: 24.4764%;">Version IP supportées</td><td style="border-style: solid; width: 30.6262%;">IPv4</td><td style="border-style: solid; width: 26.311%;">IPv4</td><td style="border-style: solid; width: 18.5864%;">IPv6</td></tr><tr><td style="border-style: solid; width: 24.4764%;">Protocole / port</td><td style="border-style: solid; width: 30.6262%;">UDP 520</td><td style="border-style: solid; width: 26.311%;">UDP 520</td><td style="border-style: solid; width: 18.5864%;">UDP 521</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Considérations de sécurité</span>**</span>

<p class="callout warning">**Attention** : Le protocole RIP est considéré aujourd'hui comme obsolète. Il est en effet remplacé par d'autres protocoles plus modernes et sécurisés.  
</p>

Le principal risque du protocole RIP reste l'empoisonnement des routes par un tiers ou un équipement malveillant.

Il est donc primordial de respecter à minima les deux conditions suivante lors de la mise en place :

- Utiliser à minima la version 2 du protocole qui permet une authentification
- Utiliser une authentification MD5 et pas une authentification plainText.

Il est à noter que le RIP n'utilise pas directement MD5 pour hasher un mot de passe, mais comme fonction de hashage dans un mécanisme d'authentification HMAC-Like.

Aussi, il ne s'agit pas de hasher un mot de passe, mais le paquet RIP complet. Lors de l'échange, les routeurs disposant tous de la même clé, ils vont recalculer localement le hash de la trame reçue afin de certifier qu'elle est bien originaire d'un routeur connu.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">V. Conclusion</span>**</span>

Même si son usage est déprécié, Il reste intéressant à voir à des fins pédagogiques car il permet d'introduire les principes de routage dynamique avec un protocole simple dans son fonctionnement.

De plus, sur les équipements plus anciens, il s'agit souvent de la seule alternative disponible.

# Réseau - Protocole STP/RSTP

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ayCconfirme-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/ayCconfirme-png.png)  
</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Confirmé

Notions : Réseau, protocoles, résilience réseau.

</td></tr></tbody></table>

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**I. Introduction**</span>

Dans le cadre de la résilience d'une topologie réseau, il est essentiel de redonder des liens afin de palier à une rupture éventuelle.

Plusieurs topologies réseaux spécifiques existent. Dont les deux suivantes :

<table id="bkmrk-topologie-boucle-%28-r" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td style="border-style: hidden;"><div drawio-diagram="179"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1779183432-png.png" alt="drawing-1-1779183432.png"/></div>

</td><td style="border-style: hidden;"><div drawio-diagram="180"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1779183524-png.png" alt="drawing-1-1779183524.png"/></div>

</td></tr><tr><td class="align-left" style="border-style: hidden;">*Topologie Boucle ( ring )*</td><td class="align-left" style="border-style: hidden;">*Topologie meshée*</td></tr></tbody></table>

Cependant, ces boucles créent également deux problèmes majeurs :

- les tempêtes de broadcasts, dues au boucles réseaux présentes dans la topologie.
- Des instabilités dans les tables MAC.
- Des trames en doublons.

Ce qui peut mener à des dysfonctionnement applicatifs ( rupture de session ), des pertes de performances ( collision de paquets, réadressage MAC ) voire à un effondrement du réseau.

Pour éviter ces problèmes et rendre ce type de topologies possibles, le protocole <span style="color: rgb(132,63,161);">***STP***</span> ( **S**panning **T**ree **P**rotocol ) a été créé.

Cependant, dû à ses problèmes de lenteur de cicatrisation réseau ( 30-50 secondes de délai de convergence ), une version plus moderne en a été créée : le protocole <span style="color: rgb(132,63,161);">***RSTP***</span> ( **R**apid **S**panning **T**ree **P**rotocol ).

Celui-ci réduit les temps de cicatrisation entre 1 et 3 secondes et apporte quelques améliorations :

- Simplification des rôles des ports
- Meilleure stabilité
- rétrocompatible avec STP

---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**II. Fonctionnement STP/RSTP**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Principe général**</span>

Le fonctionnement de base du STP / RSTP est le suivant :

##### **<span style="color: rgb(53,152,219);">*2.1.1 Election de la passerelle racine ( root bridge )*</span>**

Chaque switch envoie une trame d'un type spécifique appelée <span style="color: rgb(132,63,161);">***BPDU***</span> ( **B**ridge **P**rotocol **D**ata **U**nit ).

Cette trame contient les informations de priorité, d'adresse MAC et de coût du chemin racine.

Une fois ces trames reçues, le switch ayant la ***<span style="color: rgb(132,63,161);">priorité</span>*** ave la valeur la plus basse devient le switch racine.

<p class="callout info">**Info** : En l'absence de priorité définies sur les switch, c'est la valeur des adresses MAC qui est prise en compte et fait office de valeur de priorité.</p>

Une fois ce processus d'élection achevé, les trames continuent à être envoyées de manière continue. Si un switch apparaît avec une priorité plus élevée, ce rôle lui sera transféré.

<p class="callout success">**Conseil** : C'est ce qui rend la résilience possible et l'architecture scalable. Si le root bridge tombe, celui avec la meilleure priorité disponible est automatiquement élue. Si un switch avec une meilleure priorité est ajouté à la topologie, il est également automatiquement élu et récupère le rôle de root bridge.</p>

##### ***<span style="color: rgb(53,152,219);">2.2.2 Détermination des ports racine ( root ports )</span>***

<div id="bkmrk-chaque-switch-non-ra">Chaque <span style="color: rgb(132,63,161);">***switch non-racine***</span> détermine ensuite son <span style="color: rgb(132,63,161);">***root port***</span>. Il s'agit du port qui a le chemin le plus court pour accéder à la racine.</div><div id="bkmrk-ce-chemin-est-calcul">Ce chemin est calculé en faisant la somme des <span style="color: rgb(132,63,161);">***coûts***</span> pour chaque chemin.</div><div id="bkmrk--10"></div><div id="bkmrk-le-co%C3%BBt-est-calcul%C3%A9-">Le coût est calculé en fonction de la rapidité des liens. Voici un tableau avec les valeurs de références.</div><div id="bkmrk--11"></div><div id="bkmrk-d%C3%A9bit-du-lien-co%C3%BBt-s"><table><thead><tr><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Débit du lien</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Coût STP (802.1t)</td></tr></thead><tbody><tr><td class="align-center" style="border-style: solid;">10 Mb/s</td><td class="align-center" style="border-style: solid;">2 000 000</td></tr><tr><td class="align-center" style="border-style: solid;">100 Mb/s</td><td class="align-center" style="border-style: solid;">200 000</td></tr><tr><td class="align-center" style="border-style: solid;">1 Gb/s</td><td class="align-center" style="border-style: solid;">20 000</td></tr><tr><td class="align-center" style="border-style: solid;">10 Gb/s</td><td class="align-center" style="border-style: solid;">2 000</td></tr><tr><td class="align-center" style="border-style: solid;">100 Gb/s</td><td class="align-center" style="border-style: solid;">200</td></tr><tr><td class="align-center" style="border-style: solid;">1 Tb/s</td><td class="align-center" style="border-style: solid;">20</td></tr></tbody></table>

</div><p class="callout info">**Info** : En cas d'égalité entre deux chemins, c'est le voisin avec le bridge ID le plus faible qui l'emporte. Si l'égalité persiste, c'est le Port ID le plus faible qui est choisi.</p>

<div id="bkmrk--12"></div><div id="bkmrk--13"></div><div id="bkmrk-ce-port-sera-donc-ta">Ce port sera donc tagué comme <span style="color: rgb(132,63,161);">***actif***</span>.</div><div id="bkmrk--14"></div><div id="bkmrk--15"></div><div id="bkmrk-exemple-%3A-switch-a-e">*Exemple :* Switch A est le Root Bridge. Switch B peut atteindre A via deux chemins :</div>- ***Chemin 1 : B → C → A***

<div id="bkmrk-b%E2%80%93c-%3A-1-gb%2Fs-%E2%86%92-co%C3%BBt-" style="padding-left: 40px;">- - *B–C : 1 Gb/s → coût 20 000*
    - *C–A : 1 Gb/s → coût 20 000*
    - ***Total = 40 000***

</div>- ***Chemin 2 : B → D → A***

<div id="bkmrk-b%E2%80%93d-%3A-10-gb%2Fs-%E2%86%92-co%C3%BBt" style="padding-left: 40px;">- - *B–D : 10 Gb/s → coût 2 000*
    - *D–A : 1 Gb/s → coût 20 000*
    - ***Total = 22 000***

</div>***Le Root Port de B sera le port vers D**, car 22 000 &lt; 40 000.*

<div id="bkmrk--16"></div>##### ***<span style="color: rgb(53,152,219);">2.2.3 Désignation des switches et ports désignés ( designated ports )</span>***

<div id="bkmrk--17"></div><div id="bkmrk--18"></div><div id="bkmrk--19"></div><div id="bkmrk--20"></div><div id="bkmrk--21"></div><div id="bkmrk-d%C3%A9signation-des-swit"></div><div id="bkmrk--22"></div><div id="bkmrk-sur-chaque-segment-d">Sur chaque segment de la topologie, un switch deviens <span style="color: rgb(132,63,161);">***Designated Bridge***</span> et ces ports non root participants à la topologie deviennent des <span style="color: rgb(132,63,161);">***designated ports***</span>. Ces switches et ces ports serviront de <span style="color: rgb(132,63,161);">***forwarders***</span> aux switches suivants sur la topologie, ceux qui sont plus loin que la racine.</div>##### <span style="color: rgb(53,152,219);">***2.2.4 Blocage des ports redondants ( Redundant ports )***</span>

Les ports participant à la topologie mais n'étant désignés ni comme <span style="color: rgb(132,63,161);">***root***</span>, ni comme<span style="color: rgb(132,63,161);"> ***designated***</span> seront alors bloqués et deviendrons des <span style="color: rgb(132,63,161);">***blocked ports***</span>. Ces ports pourront être activés en cas de dysfonctionnement de l'un des ports actif.

En attendant, ceux-ci :

- ne transfèrent plus le trafic,
- n'apprennent plus d'adresses MAC,
- n'écoutent plus de trafic, hormis les trames BPDU.

C'est comme cela que les switches de la topologie se prémunissent des boucles réseaux et c'est ce fonctionnement qui explique également les latences de cicatrisation.

On a donc 5 états possibles pour un port :

<div id="bkmrk-disabled-blocking-%282">1. **Disabled**
2. **Blocking** (20 seconds)
3. **Listening** (15 seconds)
4. **Learning** (15 seconds)
5. **Forwarding**

</div>#### <span style="color: rgb(35,111,161);">**2.2 Les améliorations de RSTP**</span>

Pour simplifier le fonctionnement du protocole et accélérer les temps de cicatrisation réseau, le RSTP va apporter quelques changements à ce fonctionnement.

- L'ajout d'un nouveau type de port dit <span style="color: rgb(132,63,161);">***edge port***</span> (PortFast), permettant de relier des équipements actifs ou des terminaux sans que cela ne déclenche un recalcul de topologie.

- Des négociations plus rapides lors des élections de switch et de détermination des status des ports basés sur un mécanisme de <span style="color: rgb(132,63,161);">***Proposal/Agreement :***</span>
    - Un switch propose un port comme Designated port.
    - Les voisins directs approuvent.
    - Les deux ports passent automatiquement en mode forward.

Pour vulgariser, lorsqu'un switch reçois un BPDU de son voisin, il peut décider :

- "Ce voisin a un meilleur chemin vers le root que moi" --&gt; Je deviens Root port
- "J'ai un meilleur chemin que lui" --&gt; Je deviens Designated Port

<details id="bkmrk-d%C3%A9tail-de-la-n%C3%A9gocia"><summary>Détail de la négociation</summary>

1. **Un switch reçois une BPDU "meilleure"** : Il comprend que son port doit devenir 'root port'.
2. **Il bloque temporairement tous ses 'designated ports'** : Ce qui évite les boucles.
3. **Il envoie un 'agreement' à son voisin** : Si il peut garantir que cela ne créée pas de boucle.
4. **Le voisin passe son port en forwarding** : Pas de délai d'attente comme en stp classique.
5. **Le switch débloque tous ses 'designated ports'** : La topologie converge ainsi en quelques milisecondes.

</details>Voici un comparatif des deux protocoles permettant de se faire un ordre d'idée

<div id="bkmrk-feature-stp-%28802.1d%29"><div tabindex="0"><table><thead><tr><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">Fonctionnalité</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">STP (802.1D)</td><td class="align-center" style="border-style: solid; background-color: rgb(194,224,244);">RSTP (802.1w)</td></tr></thead><tbody><tr><td class="align-center" style="border-style: solid;">Convergence</td><td class="align-center" style="border-style: solid;">30–50s</td><td class="align-center" style="border-style: solid;">1–3s</td></tr><tr><td class="align-center" style="border-style: solid;">Etat de ports</td><td class="align-center" style="border-style: solid;">5</td><td class="align-center" style="border-style: solid;">3</td></tr><tr><td class="align-center" style="border-style: solid;">Rôle de ports</td><td class="align-center" style="border-style: solid;">3</td><td class="align-center" style="border-style: solid;">4</td></tr><tr><td class="align-center" style="border-style: solid;">BPDU</td><td class="align-center" style="border-style: solid;">seul le root envoie</td><td class="align-center" style="border-style: solid;">tous les switchs envoient</td></tr><tr><td class="align-center" style="border-style: solid;">Détection de dysfonctionnement</td><td class="align-center" style="border-style: solid;">Lent</td><td class="align-center" style="border-style: solid;">Fast Handshake</td></tr><tr><td class="align-center" style="border-style: solid;">Edge ports</td><td class="align-center" style="border-style: solid;">Optionnel</td><td class="align-center" style="border-style: solid;">Concept Natif</td></tr></tbody></table>

</div></div>---

### <span style="text-decoration: underline; color: rgb(52,73,94);">**III. Caractéristiques des ports**</span>

#### <span style="color: rgb(35,111,161);">**3.1 Caractéristiques générales**</span>

Les ports peuvent être identifiés sur les switches de la façon suivante :

<table id="bkmrk-identification-sur-l" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(194,224,244);">**Identification sur le switch**</td><td class="align-center" style="background-color: rgb(194,224,244);">**Correspondance**</td><td class="align-center" style="background-color: rgb(194,224,244);">**Caractéristiques**</td></tr><tr><td>**RP**  
</td><td>Root Port</td><td>- Un seul par switch.
- Non applicable au root bridge.
- Représente le chemin le plus court vers le root bridge.

</td></tr><tr><td>**DP**</td><td>Designated Port</td><td>- Un par segment.
- Transmettent le trafic vers l'aval depuis le root bridge.

</td></tr><tr><td>**AP**</td><td>Alternate Port</td><td>- port de backup pour le root port.
- Si le RP est coupé, il prends le relai.

</td></tr><tr><td>**BP**

</td><td>Backup Port</td><td>- port de backup pour un designated port (sur le même switch).
- Rare dans les topologies réseaux modernes.

</td></tr><tr><td>**EP**

</td><td>Edge Port (PortFast)</td><td>- Ne participe pas à la topologie.
- Relie un équipement actif.

</td></tr></tbody></table>

En RSTP, un port peut avoir trois états fonctionnels ( Au lieu de 5 en STP ) :

- **Discarding** : Ne forwarde pas le trafic, n'apprends pas les MAC.
- **Learning** : Apprends les MAC address.
- **Forwarding** : Forwarde le traffic, port actif.

Les ports ne participant pas à la topologie où les équipements actifs sont connectés sont les <span style="color: rgb(132,63,161);">***Edge Ports*** </span>(PortFast).

Pas de recalcul ou de changement d'état sur ces ports car ils ne participent pas à la topologie. Ils passent directement en mode <span style="color: rgb(132,63,161);">***forward***</span>. Cela permet d'annuler les délais pour les équipements actifs branchés dessus.

#### <span style="color: rgb(35,111,161);">**2.2 BPDU Guard &amp; Loop Guard**</span>

En plus de ce qui a été vu ci-dessus, il existe deux fonctionnalités supplémentaires applicables aux ports en STP/RSTP.

La première est le <span style="color: rgb(132,63,161);">***BPDU Guard***</span> : C'est une fonctionnalité qui sert à protéger les <span style="color: rgb(132,63,161);">***Edge Ports***</span> des trames BPDU non désirées.

Ces ports ne participant pas à la topologie, ils ne doivent pas traiter de trames BPDU.

Si toutefois, suite à une erreur de manipulation (mauvais branchement par exemple), ces ports reçoivent des trames BPDU, cela veut dire qu'un port RSTP a été branché sur un port ne participant pas à la topologie et donc naturellement non protégé contre les boucles réseaux.

Dans ce cas, le BPDU Guard va automatiquement couper le port pour prévenir la boucle. Le port passe alors en état <span style="color: rgb(132,63,161);">***Err-disable***</span>.

La seconde est <span style="color: rgb(132,63,161);">***Loop Guard***</span> : C'est une fonctionnalité qui sert à protéger les liens <span style="color: rgb(132,63,161);">***Trunk***</span> et les <span style="color: rgb(132,63,161);">***uplinks***</span> de boucles unidirectionnelles.

#### <span style="color: rgb(35,111,161);">**2.2 Rapid-PVST**</span>

Le rapid-PVST ou (**P**er **V**lan **S**panning **T**ree) est un RSTP appliqué par VLAN.

Ainsi si plusieurs VLAN co-existent au sein d'une même topologie physique, il est possible de définir une instance de RSTP par VLAN.

Chaque VLAN dispose ainsi de :

- Son Root Bridge,
- Ses chemins favoris,
- Ses propres root ports,
- Ses propres designated ports.

<p class="callout success">**Conseil** : Cela peut se révéler particulièrement intéressant dans de vastes structures dans lesquelles il est important voire crucial d'optimiser ses chemins réseaux et d'équilibrer la charges sur les différents liens. Ou dans le cas d'usages intensifs de bande passante sur des vlan concurrentiels ( voip / Vidéo )...   
</p>

Cependant pour des réseaux à très grande échelle, il sera préférable d'utiliser le protocole <span style="color: rgb(132,63,161);">***MSTP***</span>.

Il sera également bon de prendre en compte que vu que le Rapid-PVST est instancié par VLAN, il consomme également plus de CPU.

<div id="bkmrk--42">---

</div>### <span style="text-decoration: underline; color: rgb(52,73,94);">**IV. Les trames BPDU**</span>

Comme vu jusqu'ici, le RSTP repose sur l'utilisation de trames spéciales appelées BPDU.

Contrairement au STP classique où seul le root bridge envoie des trames, en RSTP, chaque switch envoie ces trames en plus de forwarder celles du root bridge. C'est cela qui permet des délais de cicatrisation si courts.

 Ces trames se déclinent en deux types.

#### <span style="color: rgb(35,111,161);">**4.1 Les Configuration BPDU**</span>

Il s'agit des paquest BPDU normaux, envoyés toutes les 2 secondes par le Root Bridge.

Celles-ci contiennent :

- l'ID du root Bridge
- Le coût du chemin vers le root
- l'ID du bridge émetteur
- l'ID du port émetteur
- les différents timers (Hello, Max Age, Forward Delay) si ceux-ci sont utilisés

Leur rôle est de maintenir la topologie. Elles servent également a élire ou ré-élire un root bridge et déterminer les root ports et designated ports.

#### <span style="color: rgb(35,111,161);">**4.2 Les TCN BPDU ( Topology Change Notification ) en STP**</span>

En STP classique, ce sont les trames spéciales envoyées par un switch qui détecte un changement dans la topologie.

( par exemple : Un port qui passe de forwarding à down ou inversement, un lien qui tombe, un switch ajouté ou retiré de la topologie, etc...)

Cela fonctionne de la façon suivante :

1. Un switch non-root détecte un changement de topologie.
2. Il envoie une TCN BPDU vers son root port.
3. Chaque switch intermédiaire accuse réception et relaie vers le root bridge.

Le root bridge active alors le <span style="color: rgb(132,63,161);">***Topology Change Flag***</span> dans ses configuration BPDU et diffuse cette information sur l'ensemble du réseau.

Chaque switch va alors réduire le temps le mise en cache des adresse MAC ( aging time) afin de les purger au plus vite.

<p class="callout info">**Info** : En RSTP, ces trames sont supprimées et leur mécaniques sont intégrées dans les BPDU normaux, ce qui est beaucoup plus rapide.</p>

#### <span style="color: rgb(35,111,161);">**4.3 Détection des changements en RSTP**</span>

En RSTP, plutôt que d'utiliser des trames dédiées sur un changement de topologie, le Change Flag est intégré dans les trames classiques. Et comme chaque switch émets ses propres trames en permanence en plus de forward celles du root bridge, l'information se diffuse donc bien plus rapidement.

Ainsi, lorsqu'un port change d'état ( Up / Down / Forwarding), le RSTP :

- Met immédiatement à jour son rôle (RP, DP, AP, ...)
- Envoie une BPDU avec le bit *<span style="color: rgb(132,63,161);">**Topology Change**</span>* activé
- Informe dirrectement ses voisins, et ce 
    - sans attendre le Max Age
    - sans envoyer de TCN BPDU à destination du root bridge
- Ses voisins mettent immédiatement à jour leurs tables MAC 
    - Rendant ainsi la propagation de l'information immédiate et bidirectionnelle.

La propagation devient ainsi locale plutôt que globale et les délais de cicatrisation sont ainsi réduits à leur minimum.

Un changement de topologie met désormais entre 1 et 3 secondes à être totalement oppérationnel.

<div id="bkmrk--39">---

</div>### <span style="text-decoration: underline; color: rgb(52,73,94);">**V. Bonnes pratiques**</span>

Il est important, compte tenu des mécanismes ci-dessus, de prendre en considération l'ensemble des fonctionnalités dans la construction d'une topologie à la fois résiliente et optimisée.

- Toujours définir un Root Bridge soi-même.
- Définir les priorité des switches manuellement pour définir des routes "préférées".
- Bien déclarer les ports ne participant pas à la topologie en Edge Ports.
- Sur ces ports, activer BPDU Guard pour éviter les erreurs de manipulation.
- Utiliser préférentiellement un mode 'Point-to-point' sur les trunk.
- Activer Loop Guard sur les trunks
- Eviter de mixer STP et RSTP.

<div id="bkmrk--49">---

</div>### <span style="text-decoration: underline; color: rgb(52,73,94);">**VI. Conclusion**</span>

Le protocole RSTP est primordial dans les architectures réseaux modernes critiques où le réseaux doit à tout prix être stable et fonctionnel. Rendant ainsi centraux les aspects de redondance et de convergence rapide.

Mais il fait entrer beaucoup de notions différentes complexes qu'il est essentiel de bien comprendre et maîtriser afin de rendre son infrastructure la plus optimisée possible.

<div id="bkmrk--54"></div><div id="bkmrk--55"></div>

# Réseau - sockets

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)  
</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : adressage IP, port, modèle OSI, protocoles réseaux.

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

<p class="callout danger">**Prérequis** : Connaître les notions de modèle OSI et l'adressage IP (à minima V4).</p>

Lorsqu'une machine veut utiliser un protocole pour envoyer ou recevoir des informations sur un réseau, elle va devoir ouvrir un canal de communication.

Comme la machine peut ouvrir plusieurs canaux de communication à la fois, elle va avoir besoin de pouvoir identifier quel canal est utilisé pour quelle communication.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Principes du socket</span>**</span>

#### **<span style="color: rgb(35,111,161);">2.1 Définition</span>**

En réseau, un socket est un couple d'adresse ip / port basés sur un protocole, permettant d'envoyer ou recevoir des données à travers un réseau informatique.

Il y a 3 choses qui identifient un socket sur le réseau :

- **Adresse IP** : l'adresse IP avec laquelle la machine initie la communication.
- **Port** **source** : le port source qu'elle va dédier à la communication (selon le protocole, celui-ci peut être fixe, compris dans une plage ou défini aléatoirement).
- **Protocole** : Le protocole utilisé dans la communication.

Pour la machine, un socket se présente comme suit : ***&lt;ip machine&gt;:&lt;port&gt;.***

*Par exemple : 192.168.1.10:250458 (TCP)*

Il existe trois types de socket, basé sur le protocole utilisé (TCP, UDP, Raw) :

<table id="bkmrk-type-description-uti" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(194,224,244);">Type</td><td class="align-center" style="background-color: rgb(194,224,244);">Description</td><td class="align-center" style="background-color: rgb(194,224,244);">Utilisation type</td></tr><tr><td>**Stream Socket (TCP)**</td><td>Fiable et orienté connexion.</td><td>navigation web, messagerie, etc...</td></tr><tr><td>**Datagram Socket (UDP)**</td><td>Plus rapide mais pas de contrôle</td><td>streaming vidéo, VoIP, jeux en ligne, etc...</td></tr><tr><td>**RAW Socket**</td><td>Accès direct aux couches basses</td><td>Diagnostics réseaux, protocoles personnalisés, etc...</td></tr></tbody></table>

#### **<span style="color: rgb(35,111,161);">2.1 Limitations</span>**

Un socket ne peut être attribué qu'a un seul canal de communication à la fois, donc si la machine veut en ouvrir plusieurs, elle devra utiliser plusieurs sockets différents.

Selon les protocoles utilisés et leurs limitations ou paramétrage, elle ne pourra en ouvrir qu'un nombre simultané limité. Voire un seul.

#### **<span style="color: rgb(35,111,161);">2.3 Attribution des sockets</span>**

Un socket ne peut être attribué qu'a un seul canal de communication à la fois, donc si la machine veut en ouvrir plusieurs, elle devra utiliser plusieurs sockets différents.

Selon les protocoles utilisés et leurs limitations ou paramétrage, elle ne pourra en ouvrir qu'un nombre simultané limité. Voire un seul.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Socket client et socket serveur</span>**</span>

#### **<span style="color: rgb(35,111,161);">3.1 Côté serveur</span>**

Côté serveur, le socket d'écoute est fixé par le protocole.

Il peut s'agir d'un port fixe : par exemple le 53(UDP/TCP) pour le DNS ou le 123 (UDP) pour le NTP.

Une plage de port : 3478 - 3481 (Microsoft TEAMS)

*Souvent, un port unique fait office de point d'entrée et un répartiteur écoutant sur ce port, redirige le client sur un port destination spécifique de la plage.*

#### **<span style="color: rgb(35,111,161);">3.1 Côté client</span>**

Côté client, il s'agit le plus souvent d'un port source dynamique

Sauf fonctionnement spécifique, la plage de port pour un socket côté client s’étend de  **49152 - 65535** conformément à ce qui est prévus dans les catégories de ports.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Opérations de diagnostics</span>**</span>

#### **<span style="color: rgb(35,111,161);">4.1 Visualiser les sockets utilisés.</span>**

##### *<span style="color: rgb(35,111,161);">4.1.2 Sur windows</span>*

Utiliser les commandes suivantes :

```bash
netstat -an
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Ljlimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/Ljlimage-png.png)

Pour plus de détails :

```bash
netstat -anob
```

Lister seulement les ports en écoutes :

```
netstat -anob | findstr LISTENING
```

##### *<span style="color: rgb(35,111,161);">4.1.2 Sur linux</span>*

Utiliser les commandes suivantes :

```
netstat
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/K4oimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/K4oimage-png.png)

Lister seulement les ports en écoutes :

```bash
netstat -tunlp
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/DnEimage-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/DnEimage-png.png)

Lister depuis les processus :

```
lsof -nP -iTCP -sTCP:LISTEN
```

[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/PX8image-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/PX8image-png.png)

# Réseau - Topologies

<p class="callout danger">***<span style="color: rgb(52,73,94);">DISCLAIMER : Cette page est actuellement en cours de rédaction et son contenu peut être incomplet ou inexact</span>***</p>

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/w4Sdebutant-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : Topologies réseaux, fondamentaux

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Un réseau est un ensemble de machines interconnectées. Il peut prendre plusieurs formes qui seront appelées '<span style="color: rgb(132,63,161);">***Topologies***</span>'.

Une topologie réseau est la couche structurelle sur laquelle les machines vont s'interconnecter pour former le réseau.

Cela conditionnera en partie les protocoles utilisés pour communiquer, mais aura aussi un impact sur des critères comme :

- La performance
- La résilience
- La scalabitilé

Habituellement la notion de topologie fait autant référence à la couche physique des interconnexions ( câbles, antennes, fibres, etc... )

qu'a la couche logique (comment les chemins réseaux sont organisés).

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Topologies classiques</span>**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Topologie en étoile**</span>

C'est la topologie la plus courante. l'Ensemble des équipements sont reliés à un point central qui servira à distribuer le réseau.

Adapté au réseaux petits à moyens, elle peut rapidement être mise à l'échelle.

<div drawio-diagram="181"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782909637-png.png" alt="drawing-1-1782909637.png"/></div>


---

#### <span style="color: rgb(35,111,161);">**2.2 Topologie en étoile étendue ou hiérarchisée.**</span>

C'est la topologie la plus courante des que les réseaux grossissent un peu.

L'on part d'un cœur de réseau qui se situe au niveau le plus haut, puis on décentralise sur des équipements périphériques. En fonction de la charge et du nombre, il est possible d'ajouter également des switches sur les autres switches, etc...

<div drawio-diagram="182"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782910237-png.png" alt="drawing-1-1782910237.png"/></div>

<p class="callout info">**Info** : Cette topologie en arborescence comporte également une variant plus large pour les grosses structures ou les structures multi-sites. Avec des routeurs plus réguliers et différents niveaux de swiches.</p>

---

#### <span style="color: rgb(35,111,161);">**2.3 Topologie meshée**</span>

En français topologie '<span style="color: rgb(132,63,161);">***maillée***</span>'.

Certains liens sont redondés et les équipements sont interconnectés. Cette topologie est particulièrement appréciée sur des réseaux où la fiabilité l'optimisation prime sur la simplicité d'installation.

<div drawio-diagram="183"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782911071-png.png" alt="drawing-1-1782911071.png"/></div>

<p class="callout success">**Trivia** : Ce qui ressemble très vite à une toile d'araignée. D'où l'origine du '<span style="color: rgb(132,63,161);">***web***</span>';</p>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Topologies industrielles</span>**</span>

#### <span style="color: rgb(35,111,161);">**3.1 Topologie en bus**</span>

Autrefois utilisée pour les réseaux informatiques à leurs débuts, il s'agit d'une des forme de réseau les plus simples et prévisibles.

Chaque équipement est connecté à un bus et dispose d'un ordre de passage sur le réseau.

Le long du bus, une trame circule d'un bout à l'autre dans les deux sens et fait transiter la donnée.

<div drawio-diagram="184"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782911637-png.png" alt="drawing-1-1782911637.png"/></div>

<p class="callout success">**Trivia** : C'est cette notion de bus et de trame qui donneront ensuite les notions de trame réseau et de BUS au sens largeur de bande passante de la connectique.</p>

#### <span style="color: rgb(35,111,161);">**3.2 Topologie en anneau**</span>

Bien que se retrouvant essentiellement dans le milieu industriel, elle peut parfois faire sens dans des réseaux vidéos ou voix sur IP associée à une politique de QoS. Voire même informatique classique dans la mesure où elle permet une forme basique de redondance tout en coûtant sensiblement moins cher que le réseau mesh.

<div drawio-diagram="185"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-07/drawing-1-1782914081-png.png" alt="drawing-1-1782914081.png"/></div>

#### <span style="color: rgb(35,111,161);">**3.1 Topologie en anneau**</span>