Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

📦 TCP/IP – Le Modèle Internet (Protocoles, Couches & Paquets)

Guide complet IDEO-Lab sur la suite de protocoles qui fait fonctionner Internet.

1.1

Modèle TCP/IP

La suite de protocoles d'Internet (4 Couches).

TCP/IP Modèle
1.2

vs. Modèle OSI

Comparaison (Pratique vs Théorique).

OSI 7 Couches
1.3

Encapsulation (PDU)

Data, Segment, Paquet, Trame, Bit (PDU).

Encapsulation PDU
2.1

Accès : Ethernet & MAC

Couche 2. Trame Ethernet, Adresse MAC (Physique).

Ethernet Couche 2 MAC
2.2

Accès : ARP

Address Resolution Protocol (IP -> MAC). Broadcast.

ARP IP-to-MAC
2.3

Internet (L3) : IP

Internet Protocol. Adressage logique, routage, best-effort.

IP Couche 3
3.1

L3 : Adressage IPv4

32 bits, Classes, IP Privées (RFC1918), Masque/CIDR.

IPv4 Subnet
3.2

L3 : Adressage IPv6

128 bits, Hexadécimal, SLAAC, Fin de NAT.

IPv6 128 bits
3.3

L3 : ICMP

Diagnostic. Ping (Echo), Tracert (TTL Exceeded).

ICMP Ping Tracert
4.1

Transport (L4) : TCP

Transmission Control Protocol. Fiable, Connecté.

TCP Couche 4 Fiable
4.2

TCP : 3-Way Handshake

Établissement de session (SYN, SYN-ACK, ACK).

Handshake SYN ACK
4.3

TCP : Fiabilité

Contrôle de flux (Windowing), Séquençage (SEQ/ACK).

Flow Control Sliding Window
5.1

Transport (L4) : UDP

User Datagram Protocol. Non-fiable, Rapide.

UDP Couche 4 Rapide
5.2

TCP vs. UDP

Fiable (Web) vs. Rapide (VoIP, DNS).

Comparatif Fiable Non-fiable
5.3

Ports & Sockets

Multiplexage (L4). Socket = IP + Port.

Ports Socket
6.1

Application (L7) : DNS

Domain Name System (Nom -> IP). Port 53.

DNS UDP 53
6.2

Application (L7) : DHCP

Configuration IP auto (DORA). Port 67/68.

DHCP DORA
6.3

Application (L7) : HTTP/S

Hypertext Transfer Protocol. Port 80 / 443 (TLS).

HTTP HTTPS TCP 80
1.1 Le Modèle TCP/IP
La Suite de Protocoles d'Internet

TCP/IP (Transmission Control Protocol / Internet Protocol) n'est pas un seul protocole, mais une suite de protocoles. C'est le modèle pratique sur lequel Internet est construit.

Il fournit un cadre standardisé pour la communication de données, de bout en bout, à travers des réseaux hétérogènes. Il garantit que les données envoyées depuis un PC à Paris arrivent intactes sur un serveur à Tokyo.

Le Modèle TCP/IP (4 Couches)

Le modèle TCP/IP (ou "modèle DoD") est un modèle fonctionnel à 4 couches.

CouchePDUExemples de Protocoles
4ApplicationDataHTTP, HTTPS, FTP, SMTP, DNS, DHCP
3TransportSegment (TCP) / Datagram (UDP)TCP, UDP
2InternetPaquet (Packet)IP (IPv4, IPv6), ICMP, ARP
1Accès Réseau (Link)Trame (Frame)Ethernet, Wi-Fi, Adresses MAC
1.2 Comparaison : Modèle OSI vs. TCP/IP

L'OSI (Open Systems Interconnection) est un modèle théorique à 7 couches, utilisé comme référence académique. Le TCP/IP est le modèle pratique (4 couches) réellement implémenté.

Modèle OSI (7 Couches)
7. Application
6. Présentation (SSL, JPEG)
5. Session (NetBIOS)
-------------------------------
4. Transport (TCP, UDP)
-------------------------------
3. Réseau (IP)
-------------------------------
2. Liaison (MAC, Ethernet)
1. Physique (Câble, Bits)
Modèle TCP/IP (4 Couches)
4. Application (Couches 5-7 OSI)
   (HTTP, DNS, DHCP)
-------------------------------
3. Transport (Couche 4 OSI)
   (TCP, UDP)
-------------------------------
2. Internet (Couche 3 OSI)
   (IP, ICMP, ARP)
-------------------------------
1. Accès Réseau (Couches 1-2 OSI)
   (Ethernet, Wi-Fi, MAC)
1.3 Encapsulation & PDU (Protocol Data Unit)

L'encapsulation est le processus (descendant) où chaque couche "enveloppe" les données de la couche supérieure en y ajoutant son propre en-tête (header).

[ DONNÉES (HTTP) ]
   │
   ▼ (Couche 4 : Transport)
[ En-tête TCP | DONNÉES ] = SEGMENT
   │
   ▼ (Couche 3 : Internet)
[ En-tête IP | En-tête TCP | DONNÉES ] = PAQUET
   │
   ▼ (Couche 2 : Accès Réseau)
[ En-tête L2 (MAC) | En-tête IP | ... | DONNÉES | En-queue L2 (FCS) ] = TRAME
   │
   ▼ (Couche 1 : Physique)
(BITS) 01101001010111... (sur le câble)

PDU (Protocol Data Unit) : C'est le nom que l'on donne au "paquet" à chaque couche :

  • L7 (Application) : Données (Data)
  • L4 (Transport) : Segment (TCP) ou Datagram (UDP)
  • L3 (Internet) : Paquet (Packet)
  • L2 (Accès) : Trame (Frame)
  • L1 (Physique) : Bit
2.1 Couche 1/2 : Ethernet & Adresse MAC

La couche Accès Réseau (L1/L2) gère la communication physique sur un même réseau local (LAN). Le standard dominant est Ethernet.

Trame Ethernet (Frame)

C'est l'enveloppe L2 qui contient le paquet IP. Elle utilise les adresses MAC pour la livraison locale (de PC à Switch, de Switch à Routeur).

Adresse MAC (Couche 2)

L'adresse MAC (Media Access Control) est l'adresse physique (48 bits, 00:1A:2B:3C:4D:5E) unique, gravée sur la carte réseau (NIC). (Voir guide Commutation).

Analogie : L'Adresse IP (L3) est votre *adresse postale* (change si vous déménagez). L'Adresse MAC (L2) est votre *numéro de passeport* (ne change jamais).

2.2 Couche 2/3 : ARP (Address Resolution Protocol)

ARP est le "traducteur" L3 -> L2, indispensable sur un LAN.

Problème : PC A (192.168.1.50) veut envoyer un paquet à PC B (192.168.1.60). Il connaît l'IP (L3), mais pour créer la trame Ethernet, il a besoin de l'adresse MAC (L2) de PC B.

Flux de Résolution ARP
1. [Cache ARP] : PC A regarde dans sa "cache ARP" (table locale).
   (Trouvé ? -> Va à l'étape 4. Non trouvé ? -> Étape 2)

2. [ARP Request (Broadcast)] : PC A envoie une trame (L2)
   à l'adresse MAC de broadcast (FF:FF:FF:FF:FF:FF).
   Message : "QUI A L'IP 192.168.1.60 ?"

3. [Réponse (Switch)] : Le Switch "flood" ce broadcast
   à tous les ports (sauf la source).

4. [ARP Reply (Unicast)] : Seul PC B (192.168.1.60) répond.
   Message : "C'EST MOI ! Mon MAC est 00:AA:BB:CC:DD:EE."
   (PC A stocke cette info dans son cache ARP).

PC A peut maintenant créer la trame : (Dest: 00:AA:BB...) [Paquet IP (Dest: 192.168.1.60)].

2.3 Couche 3 (Internet) : IP (Internet Protocol)

IP (Internet Protocol) est le protocole de Couche 3. C'est la "colle" d'Internet. Son seul travail est de "router" (acheminer) des paquets d'une source à une destination, à travers des réseaux multiples (WAN).

Caractéristiques Clés d'IP
  • Sans Connexion (Connectionless) : N'établit pas de session (Handshake) avant d'envoyer.
  • Non Fiable (Unreliable) : Ne garantit pas la livraison. Il n'y a pas d'ACK, de séquençage, ou de retransmission. (C'est le travail de TCP en Couche 4).
  • Best-Effort (Au Mieux) : Le réseau "fait de son mieux" pour livrer le paquet, mais sans garantie.
En-tête (Header) IPv4 (Simplifié)
  • Version : (4)
  • TTL (Time To Live) : (ex: 64) Décrémenté à chaque routeur. Si 0, le paquet est détruit (évite les boucles).
  • Protocol : (ex: 6 pour TCP, 17 pour UDP) Indique quoi faire du payload (L4).
  • Source IP Address : (32 bits)
  • Destination IP Address : (32 bits)
3.1 L3 : Adressage IPv4 & Sous-réseaux
Adressage IPv4 (32 bits)

Adresse de 32 bits, 4 octets (0-255). ex: 172.217.22.14

Classes (Historique)
  • Classe A (1. à 126.) : Masque /8 (255.0.0.0). (Très grands réseaux).
  • Classe B (128. à 191.) : Masque /16 (255.255.0.0).
  • Classe C (192. à 223.) : Masque /24 (255.255.255.0).
Adresses Spéciales
  • Privées (RFC 1918) : 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. (Non routables sur Internet).
  • Loopback : 127.0.0.1 (localhost).
  • APIPA : 169.254.0.0/16 (Auto-configuration si DHCP échoue).
Masque de Sous-Réseau & CIDR

Le masque (Subnet Mask) sépare l'adresse IP en deux parties : Partie Réseau (Network) et Partie Hôte (Host).

Exemple : 192.168.1.50 /24
  • Notation CIDR : /24 (24 bits pour le réseau).
  • Masque : 255.255.255.0 (11111111.11111111.11111111.00000000)
  • ID Réseau : 192.168.1.0 (Les 24 premiers bits).
  • ID Hôte : 50 (Les 8 bits restants).
  • Plage : 192.168.1.1 à 192.168.1.254 (.0 = Réseau, .255 = Broadcast).
3.2 L3 : Adressage IPv6

IPv6 est le successeur d'IPv4, conçu pour résoudre le problème d'épuisement des adresses.

Caractéristiques
  • Taille : 128 bits (contre 32). (2^128 adresses... un nombre astronomique).
  • Format : Hexadécimal (8 groupes de 16 bits, séparés par :).
  • Exemple : 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Simplification
  • Zeros de tête : :0db8: -> :db8:
  • Suite de zéros : :0000:0000: -> :: (Une seule fois par adresse).
  • Exemple simplifié : 2001:db8:85a3::8a2e:370:7334
Fin du NAT

Avec 2^128 adresses, chaque appareil peut avoir sa propre IP publique unique. Le NAT n'est plus nécessaire (en théorie), restaurant la connectivité "end-to-end".

SLAAC : Auto-configuration (StateLess Address AutoConfiguration) où un client génère sa propre IP à partir du préfixe annoncé par le routeur (via ICMPv6).

3.3 L3 : ICMP (Internet Control Message Protocol)

ICMP est un protocole de Couche 3 utilisé pour le diagnostic et les messages d'erreur (il ne transporte pas de données utilisateur comme TCP/UDP).

Outil : ping

Utilise les messages ICMP Type 8 (Echo Request) et Type 0 (Echo Reply).

Objectif : Vérifier la disponibilité (Up/Down) et la latence (temps aller-retour) d'un hôte.

C:\> ping 8.8.8.8
Réponse de 8.8.8.8 : octets=32 temps=15 ms TTL=118
Outil : tracert / traceroute

Objectif : Découvrir le "chemin" (les "sauts" de routeurs) vers une destination.

Fonctionnement :

  1. Envoie un paquet (ICMP ou UDP) avec un TTL (Time To Live) de 1.
  2. Le 1er Routeur reçoit, décrémente TTL (-> 0), le paquet "meurt".
  3. Le 1er Routeur renvoie une erreur : ICMP Type 11 (TTL Exceeded). (L'attaquant connaît l'IP du 1er saut).
  4. Envoie un paquet avec TTL=2. Le 2e Routeur répond "TTL Exceeded".
  5. ... Répète jusqu'à atteindre la destination.
4.1 Transport (L4) : TCP (Transmission Control Protocol)

TCP est le protocole de Couche 4 (Transport) qui "répare" les défauts d'IP (L3). IP est "best-effort", TCP est fiable.

Caractéristiques Clés
  • Orienté Connexion (Connection-oriented) : Établit une session (Handshake 3-Way) avant d'envoyer des données.
  • Fiable (Reliable) : Garantit que les données arrivent, sans erreur, et dans le bon ordre.
    • Séquençage (Sequence Numbers) : Numérote les segments.
    • Accusés de Réception (ACK) : Le récepteur confirme la réception.
    • Retransmission : Si un ACK n'est pas reçu, TCP renvoie le segment manquant.
  • Contrôle de Flux (Flow Control) : Gère la vitesse d'envoi (Sliding Window) pour ne pas saturer le récepteur.

Usage : HTTP, HTTPS, FTP, SMTP, SSH (Toute application où chaque bit compte).

4.2 TCP : 3-Way Handshake & 4-Way Close
3-Way Handshake (Établissement)

Processus en 3 étapes pour ouvrir une connexion TCP (Flags : SYN, ACK).

[CLIENT]                                  [SERVEUR]

  (1) SYN (seq=X) ────────►
      "Je veux me connecter. Mon N° de séquence est X."
                                          (2) ◄──────── SYN/ACK (seq=Y, ack=X+1)
                                              "OK. Mon N° est Y.
                                               J'attends le N° X+1 de toi."
  (3) ACK (seq=X+1, ack=Y+1) ────────►
      "Reçu. J'envoie Y+1."

(Connexion ÉTABLIE)
4-Way Close (Fermeture)

Processus en 4 étapes pour fermer la connexion (Flags : FIN, ACK). (Chaque côté doit fermer indépendamment).

[CLIENT]                                  [SERVEUR]

  (1) FIN ────────►
      "J'ai fini d'envoyer."
                                          (2) ◄──────── ACK
                                              "OK, j'ai reçu ta demande de fin."
(Le serveur peut continuer d'envoyer
 des données si besoin...)
                                          (3) ◄──────── FIN
                                              "OK, j'ai (aussi) fini d'envoyer."
  (4) ACK ────────►
      "Reçu."

(Connexion FERMÉE)
4.3 TCP : Fiabilité (Séquençage & Flow Control)
Séquençage (SEQ/ACK)

TCP numérote chaque octet envoyé avec un Numéro de Séquence (SEQ).

Le récepteur utilise un Numéro d'Accusé de Réception (ACK) pour confirmer les données reçues. L'ACK indique le prochain octet qu'il s'attend à recevoir.

Client envoie 1000 octets (SEQ=1)
[CLIENT] (SEQ=1, len=1000) ────────► [SERVEUR]

Serveur a reçu 1000 octets. Il attend le 1001.
[CLIENT] ◄──────── (ACK=1001) [SERVEUR]

Si le client n'a pas reçu l'ACK=1001 (timeout),
il REnvoie le paquet (SEQ=1).
Contrôle de Flux (Sliding Window)

Attendre un ACK pour *chaque* paquet est lent. Le Sliding Window (Fenêtre Glissante) permet à l'émetteur d'envoyer plusieurs segments (une "fenêtre") avant d'attendre un seul ACK cumulatif.

Le Récepteur (Serveur) "annonce" la taille de sa fenêtre (Window Size) (son buffer) dans l'en-tête TCP.

Client: "Ma Fenêtre est de 64 Ko."
Serveur: "OK, j'envoie 64 Ko de données (Segments 1 à 6)
         sans attendre d'ACK."

Serveur (envoie 6 Ségments)

Client (reçoit tout)
Serveur ◄──────── (ACK=Segment 7)

Si le Client est saturé (buffer plein),
il annonce "Window Size = 0".
Le Serveur arrête d'envoyer.
5.1 Transport (L4) : UDP (User Datagram Protocol)

UDP est l'autre protocole de Couche 4 (Transport). C'est le "service minimum".

Caractéristiques Clés
  • Sans Connexion (Connectionless) : Pas de Handshake (pas de SYN/ACK).
  • Non Fiable (Unreliable) : "Fire and Forget" (Tire et oublie). Pas de séquençage, pas d'ACK, pas de retransmission.
  • Best-Effort (L4) : (Comme IP, mais ajoute les Ports).
  • Rapide : L'en-tête UDP est minuscule (8 octets) comparé à TCP (20+ octets). Très faible "overhead".

Usage : DNS, DHCP, VoIP, Jeux en ligne, Streaming (Où la vitesse est plus importante qu'un paquet perdu occasionnel, et où la retransmission (TCP) serait catastrophique pour le temps réel).

5.2 Comparatif : TCP vs. UDP
CritèreTCP (Transmission Control Protocol)UDP (User Datagram Protocol)
FiabilitéFiable (Reliable)Non Fiable (Unreliable)
ConnexionOrienté Connexion (Handshake)Sans Connexion ("Fire and Forget")
SéquençageOui (Garantit l'ordre)Non (Désordre possible)
ACK / RetransmissionOuiNon
Contrôle de FluxOui (Sliding Window)Non
Vitesse (Overhead)Lent (En-tête 20+ octets)Rapide (En-tête 8 octets)
Cas d'UsageWeb (HTTP/S), Email (SMTP), Fichiers (FTP)Streaming (VoIP, Vidéo), Jeux, DNS, DHCP
5.3 L4 : Ports & Sockets
Ports (Multiplexage)

L'IP (L3) amène le paquet au bon serveur. Le Port (L4) l'amène au bon service/application sur ce serveur.

C'est le multiplexage : un serveur (1 IP) peut héberger des dizaines de services (Ports).

Un port est un nombre de 16 bits (0 à 65535).

PlageNomUsage
0 - 1023Well-Known Ports (Connus)Services standards (HTTP 80, HTTPS 443, SSH 22...).
1024 - 49151Registered Ports (Enregistrés)Applications (ex: MySQL 3306).
49152 - 65535Dynamic/Private PortsPorts sources, assignés aléatoirement par le client (OS).
Socket

Un Socket est le point de terminaison (endpoint) d'une connexion. C'est la combinaison d'une adresse IP et d'un numéro de Port.

Une connexion TCP/IP unique est définie par deux sockets (le "5-Tuple") :

Socket Client:   [IP_Client]:[Port_Client]
Socket Serveur:  [IP_Serveur]:[Port_Serveur]

Exemple (Connexion Web) :
[192.168.1.50:51234] <-----> [142.250.179.196:443]
6.1 Application (L7) : DNS (Domain Name System)
L'Annuaire d'Internet (Port 53)

Le DNS est le système (Couche 7) qui traduit les noms de domaine (google.com) en adresses IP (142.250.179.196). Il utilise UDP 53 (pour les requêtes rapides) et TCP 53 (pour les transferts de zone).

1. [Client] -> [Serveur DNS Récursif (ex: 8.8.8.8)] : "IP de www.google.com ?"
2. [Récursif] -> [Serveur Root (.)] : "Où est .com ?"
3. [Root] -> [Récursif] : "Demande au serveur GTLD."
4. [Récursif] -> [Serveur GTLD (.com)] : "Où est google.com ?"
5. [GTLD] -> [Récursif] : "Demande au serveur de Noms de Google (ex: ns1.google.com)."
6. [Récursif] -> [Serveur (NS Google)] : "Où est www.google.com ?"
7. [NS Google] -> [Récursif] : "C'est 142.250.179.196." (Réponse Autoritatives)
8. [Récursif] (Met en cache) -> [Client] : "C'est 142.250.179.196."
Types d'Enregistrements (Records)
TypeSignificationExemple de Valeur
AAddress (IPv4)142.250.179.196
AAAAAddress (IPv6)2a00:1450:4007::200e
CNAMECanonical Name (Alias)www pointe vers serveur1.ideolab.com.
MXMail eXchangerServeur de messagerie (ex: 10 mail.google.com).
TXTTexteUtilisé pour la vérification (SPF, DKIM).
NSName ServerServeurs de noms (autoritatifs) pour le domaine.
6.2 Application (L7) : DHCP (Dynamic Host Configuration Protocol)

DHCP est le protocole (L7, sur UDP 67/68) qui automatise l'assignation de la configuration IP (L3) aux clients d'un LAN.

Sans DHCP, vous devriez configurer manuellement l'IP, le Masque, la Passerelle et le DNS sur chaque appareil.

Processus DORA (Broadcast)

Le client (nouvel appareil) et le serveur DHCP (Routeur/Box) échangent 4 messages :

1. [Client] -> [Broadcast]
   D - DISCOVER ("Je suis nouveau (MAC: AAAA), qui a une IP ?")

2. [Serveur DHCP] -> [Client]
   O - OFFER ("Salut AAAA ! J'ai 192.168.1.50 pour toi,
               avec Gateway 1.1 et DNS 8.8.8.8.")

3. [Client] -> [Broadcast]
   R - REQUEST ("OK ! Je prends l'offre de ce serveur
                (192.168.1.1) !")

4. [Serveur DHCP] -> [Client]
   A - ACKNOWLEDGE ("C'est noté. L'adresse (Bail/Lease)
                    est à toi pour 24h.")
6.3 Application (L7) : HTTP/HTTPS

HTTP (Hypertext Transfer Protocol) est le protocole applicatif (L7) du World Wide Web. C'est un protocole texte (Requête/Réponse) qui tourne au-dessus de TCP (Port 80).

Exemple de Requête/Réponse
(Connexion TCP établie sur le port 80...)

[CLIENT] -> [SERVEUR] (Requête)
GET /page.html HTTP/1.1
Host: www.example.com
User-Agent: Chrome

[CLIENT] <- [SERVEUR] (Réponse)
HTTP/1.1 200 OK
Content-Type: text/html

<html><body>Hello</body></html>
HTTPS (HTTP Secure)

C'est du HTTP encapsulé dans un tunnel TLS (SSL). Il tourne sur TCP Port 443.

Le "Handshake TLS" (échange de certificats, négociation de la clé symétrique AES) se produit après le "Handshake TCP 3-Way", mais avant que la première requête HTTP ne soit envoyée. (Garantit la Confidentialité et l'Intégrité).

Cheat-sheet : Ports Communs (Well-Known)
PortProtocoleService
20TCPFTP (Data)
21TCPFTP (Contrôle)
22TCPSSH (Secure Shell)
23TCPTelnet (Non sécurisé)
25TCPSMTP (Envoi Email)
53UDP/TCPDNS
67/68UDPDHCP
80TCPHTTP (Web)
PortProtocoleService
110TCPPOP3 (Email)
123UDPNTP (Time Protocol)
143TCPIMAP (Email)
161/162UDPSNMP
443TCPHTTPS (HTTP sur TLS)
500/4500UDPIPsec (IKE / NAT-T)
1194UDP/TCPOpenVPN
3389TCPRDP (Windows Remote)
Cheat-sheet : TCP vs. UDP
CritèreTCP (Transmission Control Protocol)UDP (User Datagram Protocol)
FiabilitéFiable (Reliable)Non Fiable (Unreliable)
ConnexionOrienté Connexion (Handshake)Sans Connexion ("Fire and Forget")
SéquençageOui (Garantit l'ordre)Non (Désordre possible)
ACK / RetransmissionOuiNon
Contrôle de FluxOui (Sliding Window)Non
Vitesse (Overhead)Lent (En-tête 20+ octets)Rapide (En-tête 8 octets)
Cas d'UsageWeb (HTTP/S), Email (SMTP), Fichiers (FTP)Streaming (VoIP, Vidéo), Jeux, DNS, DHCP