Retour au cours

infra / reseaux-tcp-ip

Modèle OSI vs TCP/IP

Leçon 11 exercice

Explication

Un peu d'histoire

TCP/IP est conçu par Vint Cerf et Robert Kahn, qui publient les bases du protocole en 1974, pour succéder aux premiers protocoles d'ARPANET — le réseau militaire et universitaire américain né en 1969, considéré comme l'ancêtre direct d'Internet. TCP/IP devient officiellement le protocole standard d'ARPANET le 1er janvier 1983, une date souvent citée comme la véritable "naissance" d'Internet tel qu'on le connaît aujourd'hui.

Pourquoi apprendre les réseaux TCP/IP aujourd'hui

Comprendre TCP/IP, c'est comprendre comment fonctionne réellement tout ce qui touche à Internet : un site web qui se charge, un appel à une API, une connexion SSH à un serveur, un flux vidéo en streaming. C'est une compétence indispensable pour déboguer des problèmes de connectivité, configurer correctement des serveurs, ou simplement comprendre en profondeur ce qui se passe derrière les outils qu'on utilise tous les jours en tant que développeur ou administrateur système.

Ce que vous allez apprendre

  • Distinguer le modèle OSI (7 couches, théorique) du modèle TCP/IP (4 couches, réellement implémenté)
  • Comprendre le principe d'encapsulation : comment une trame Ethernet contient un paquet IP qui contient un segment TCP
  • Associer chaque couche à des protocoles concrets (HTTP, TCP, IP, Ethernet) et à des outils de diagnostic (curl, ping, tcpdump)
  • Isoler méthodiquement, couche par couche, à quel niveau se situe une panne réseau
  • Parler le même langage que la documentation technique, qui référence souvent "couche 3" ou "couche 7"

Dans quel contexte ?

Un développeur reçoit une alerte : l'API api.exemple.com ne répond plus. Avant de paniquer, il applique le réflexe du modèle en couches : ping 8.8.8.8 (réseau, couche 3), telnet api.exemple.com 443 (port TCP, couche 4), puis curl -v https://api.exemple.com (applicatif, couche 7). En trois commandes, il sait déjà d'où vient le problème.

Pourquoi découper la communication réseau en couches

Faire communiquer deux ordinateurs implique de résoudre des problèmes très différents : transmettre des signaux électriques sur un câble, adresser la bonne machine, garantir qu'aucune donnée ne se perde en route, formater un message compréhensible par une application. Plutôt que de tout résoudre d'un bloc, les réseaux découpent ce problème en couches indépendantes, chacune ne se préoccupant que de son propre rôle et faisant confiance à celle du dessous. C'est une idée d'ingénierie qui revient partout en informatique : diviser un problème complexe en sous-problèmes simples.

OSI, un modèle théorique ; TCP/IP, ce qui tourne vraiment

Le modèle OSI à 7 couches est surtout un outil pédagogique de référence, conçu avant l'essor d'Internet. Le modèle TCP/IP à 4 couches, plus simple, est celui réellement implémenté par tous les systèmes que tu utiliseras. Connaître les deux permet de parler le même langage que la documentation technique (souvent encore formulée en termes OSI, comme "couche 3" ou "couche 7") tout en comprenant ce qui se passe concrètement sur le fil.

Couche OSICouche TCP/IPOutil de diagnostic typique
7 - ApplicationApplicationcurl, navigateur
4 - TransportTransporttelnet, nc -zv, ss
3 - RéseauInternetping, traceroute
2 - Liaison / 1 - PhysiqueAccès réseauethtool, ip link

Prérequis

Aucune connaissance réseau préalable n'est nécessaire pour cette leçon : c'est le point de départ du cours. Un accès à un terminal Linux (ou WSL) suffit pour suivre les exemples avec ping et curl.

L'encapsulation : des poupées russes numériques

Chaque couche ajoute ses propres informations à ce que la couche du dessus lui a transmis, un peu comme glisser une lettre dans une enveloppe, elle-même glissée dans un colis. Cette image aide à comprendre pourquoi une simple requête web transporte, en réalité, plusieurs niveaux d'informations empilées les uns dans les autres.

Diagnostiquer en isolant la couche fautive

Le vrai bénéfice pratique de ce modèle apparaît quand quelque chose ne fonctionne pas : au lieu de chercher au hasard, on teste méthodiquement chaque couche, de la plus basse à la plus haute, jusqu'à identifier précisément où ça bloque. C'est la base de toute la méthodologie de diagnostic réseau que tu approfondiras dans ce cours.

Bonne pratique

Face à un incident réseau, résiste à l'envie de tout tester en même temps. Commence toujours par la couche la plus basse (le câble/lien est-il up ?) avant de monter vers la couche applicative : ça évite de perdre du temps à déboguer une API alors que c'est en réalité le routage qui est cassé.

Commandes & code

Modèle OSI vs TCP/IP

Deux façons de découper la communication réseau en couches. TCP/IP est celui réellement utilisé sur Internet.

text
Modèle OSI (7 couches, théorique)          Modèle TCP/IP (4 couches, réel)
---------------------------------          --------------------------------
7. Application  (HTTP, DNS, SMTP)     ┐
6. Présentation (TLS, chiffrement)    ├──►  4. Application
5. Session      (gestion de sessions) ┘
4. Transport    (TCP, UDP)            ───►  3. Transport
3. Réseau       (IP, routage, ICMP)   ───►  2. Internet
2. Liaison      (Ethernet, MAC, ARP)  ┐
1. Physique     (câble, fibre, WiFi)  ┴──►  1. Accès réseau
bash
# Chaque couche encapsule la précédente : exemple d'une requête HTTP
# Couche 4 (Application) : HTTP GET /index.html
# Couche 3 (Transport)   : segment TCP, port source/destination, numéro de séquence
# Couche 2 (Internet)    : paquet IP, adresse source/destination
# Couche 1 (Accès réseau): trame Ethernet, adresse MAC source/destination

# Voir concrètement les couches avec tcpdump (couche 2 à 4 visibles)
sudo tcpdump -i eth0 -n -e port 80 -c 1 -v
# Sortie typique (simplifiée) :
# MAC_SRC > MAC_DST, ethertype IPv4          <- couche 2 (liaison)
# IP SRC_IP.PORT > DST_IP.80: Flags [S]        <- couche 3 (réseau) + couche 4 (transport)

# Identifier à quelle couche se situe un problème
ping 8.8.8.8            # teste la couche 3 (IP) - pas de réponse = routage/pare-feu
telnet exemple.com 443    # teste la couche 4 (le port TCP répond-il ?)
curl -v https://exemple.com # teste jusqu'à la couche 7 (le serveur applicatif répond-il ?)
Couche TCP/IPRôleExemples de protocoles
ApplicationFormat des données échangéesHTTP, DNS, SSH, SMTP
TransportFiabilité, ports, segmentationTCP, UDP
InternetAdressage et routageIP, ICMP, ARP
Accès réseauTransmission physiqueEthernet, WiFi

Résumé

  • OSI (7 couches) sert de référence pédagogique, TCP/IP (4 couches) est ce qui tourne réellement.
  • Diagnostiquer un problème réseau, c'est isoler la couche fautive (ping = couche 3, curl = couche 7).
  • Chaque couche encapsule celle du dessus : une trame Ethernet contient un paquet IP qui contient un segment TCP.

Exercices pratiques

1 disponible
1

Mission : isoler la couche fautive d'une API qui ne répond plus

Objectif : Diagnostiquer méthodiquement, couche par couche, pourquoi une API interne ne répond plus, à partir de résultats de commandes contradictoires.

Contexte

Une API interne tourne sur 10.0.1.5:8443. Un développeur signale qu'elle ne répond plus. Tu lances ping 10.0.1.5 (succès immédiat), puis telnet 10.0.1.5 8443 (reste bloqué sans jamais répondre, ni accepter ni refuser), puis curl -v http://10.0.1.5:8443 (finit par expirer après un long délai).

Applique la méthode en couches vue dans la leçon pour identifier précisément où se situe le problème, sans tout retester au hasard.

Résoudre l’exercice →