# 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-bts/page/reseau-adressage-ipv4 "Réseau - Adressage IPV4")
- [Réseau - Adressage IPv6](https://docs.labs404.fr/books/00-a-rediger/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)*Source : TryHackMe*

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