Aller au contenu
Blockchain Association of Cameroon
BAC-L0-FOUND-1013 h

Comment fonctionne réellement Internet

Le trajet complet d'une requête, de la saisie d'un nom de domaine à l'octet reçu — parce qu'on ne peut pas raisonner sur un réseau pair-à-pair sans savoir ce qu'est un paquet.

  • Décrire les couches traversées par une requête HTTPS et ce que chacune garantit
  • Distinguer résolution DNS, routage IP et transport TCP dans une capture réseau
  • Expliquer ce que TLS protège et ce qu'il ne protège pas

Chaque fois que vous ouvrez une page, votre appareil enchaîne quatre opérations distinctes : retrouver l'adresse d'un nom, ouvrir une connexion, la rendre privée, puis poser la question. Chacune peut échouer sans que les autres le sachent, et chacune offre des garanties précises — et des angles morts tout aussi précis. Cet atelier vous apprend à les séparer, à les reconnaître dans une capture réseau et à dire sans exagérer ce que le cadenas du navigateur promet réellement. C'est le socle de tout ce qui suit : on ne peut pas raisonner sur un réseau pair-à-pair, ni sur un nœud qui ne se synchronise pas, sans savoir ce qu'est un paquet.

Leçons 1/4 · 20 min

Un clic, quatre opérations

Où sont passées les deux secondes ?

Kofi, à Douala, touche un lien vers le relevé de son compte de monnaie mobile. L'écran reste blanc deux secondes, puis la page apparaît. Qu'a fait son téléphone pendant ce temps ? Pour répondre autrement que par « Internet est lent », il faut savoir que l'ouverture d'une page est faite de quatre opérations successives, chacune pouvant échouer ou ralentir indépendamment des autres.

1. DNS   nom -> adresse            shop.bac.example -> 203.0.113.20
2. TCP   adresse -> connexion      trois messages : SYN, SYN-ACK, ACK
3. TLS   connexion -> privée       clés convenues, certificat vérifié (https seulement)
4. HTTP  connexion -> requête      GET /releve -> 200 + les données

Les adresses de cet atelier sont fictives : 203.0.113.0/24 est une plage réservée à la documentation, et le domaine .example n'existe pas sur le vrai Internet.

Les quatre phases en une phrase chacune

  • DNS (Domain Name System) : un annuaire. Le réseau ne sait acheminer que vers des adresses numériques ; on demande donc à un serveur appelé résolveur l'adresse qui correspond au nom.
  • TCP (Transmission Control Protocol) : on ouvre un canal fiable entre deux programmes, un peu comme décrocher et entendre « allô ? » avant de parler.
  • TLS (Transport Layer Security) : on convient de clés secrètes et on vérifie un certificat pour que la conversation soit privée et attribuée à un serveur précis. Cette phase n'existe que pour les adresses https.
  • HTTP (HyperText Transfer Protocol) : enfin la conversation utile. Le client envoie quelques lignes de texte (« donne-moi /releve »), le serveur répond par un code (200 = réussi, 404 = introuvable) et des données.

Exemple détaillé

Supposons un aller-retour (RTT, round-trip time : le temps pour qu'un message aille au serveur et que la réponse revienne) de 100 ms vers le serveur, et un résolveur proche qui connaît déjà la réponse (30 ms). Dans le cas courant, sans connexion déjà ouverte :

PhaseAllers-retoursDurée
DNS (résolveur proche, réponse en cache)1 vers le résolveur30 ms
TCP : SYN, SYN-ACK, ACK1 vers le serveur100 ms
TLS 1.3 (poignée de main complète)1 vers le serveur100 ms
HTTP : requête puis début de réponse1 vers le serveur100 ms
Total avant le premier octet utile330 ms

Ce calcul est un modèle simplifié, pas une mesure : il ignore le temps de calcul du serveur, la taille de la réponse et les pertes de paquets. Il montre pourtant l'essentiel : trois des quatre phases coûtent chacune un aller-retour complet vers le serveur, quelle que soit la quantité de données. Les navigateurs réduisent ce coût en réutilisant des connexions déjà ouvertes et en gardant les réponses DNS en cache (c'est-à-dire en mémoire) ; le protocole HTTP/3 fusionne même l'ouverture du transport et la phase cryptographique. Nous étudions le chemin classique, parce que les variantes récentes se comprennent comme des raccourcis de celui-ci.

Ce que chaque phase garantit — et ne garantit pas

PhaseGarantitNe garantit PAS
DNSque vous avez reçu une réponseque la réponse est vraie (le DNS classique n'est pas authentifié)
TCPque les octets arrivent, dans l'ordre, sans perte silencieuseque personne ne les lit en chemin, ni qui est au bout
TLSconfidentialité, intégrité, identité du serveur nomméque ce serveur est honnête, ni que son nom reste caché
HTTPune requête structurée et une réponse codéequoi que ce soit sur la vérité du contenu

À retenir

Ouvrir une page = DNS, puis TCP, puis TLS, puis HTTP. Chaque phase coûte du temps (souvent un aller-retour) et offre une garantie étroite. Utilisez le schéma interactif ci-dessous : avancez pas à pas et notez, à chaque étape, ce qu'un observateur placé sur le trajet peut lire.

Outil interactif

Parcours d'une requête web

Quatre étapes entre la saisie d'une adresse et l'affichage de la page, et ce que voit à chaque étape quelqu'un qui écoute le réseau (Wi-Fi public, fournisseur d'accès).

Étape 1 sur 4

Résolution DNS

Le navigateur demande à un résolveur l'adresse IP de exemple.org (requête A/AAAA).

Ce que voit un observateur sur le chemin

HTTP (non chiffré)
  • Le nom demandé (exemple.org) et l'adresse IP obtenue, en clair sur le port 53, sauf DNS chiffré.
  • Qui interroge quel résolveur, et quand.
HTTPS (TLS)
  • Identique : HTTPS ne protège pas la requête DNS. Le nom demandé est visible, sauf si DNS chiffré (DoH, DoT, DoQ) est activé.
  • Avec DNS chiffré : l'observateur voit seulement que vous parlez à votre résolveur, ni le nom ni la réponse. Le résolveur, lui, voit toujours le nom.

« Observateur sur le chemin » : un tiers qui lit le trafic sans en être un des deux bouts (réseau Wi-Fi, fournisseur, routeur intermédiaire). Il ne voit pas ce que voit le serveur lui-même.

Leçons 2/4 · 30 min

Paquets, adresses et couches : lire une capture

Une capture, trois protocoles mélangés

Un outil comme Wireshark ou tcpdump affiche chaque paquet qui passe par une interface réseau. Voici un extrait fictif et simplifié (adresses privées et de documentation) : un téléphone 10.0.0.5 ouvre une page https.

No.  Source             Destination        Proto  Info
 1   10.0.0.5:53012     10.0.0.1:53        DNS    requête  A shop.bac.example
 2   10.0.0.1:53        10.0.0.5:53012     DNS    réponse  A 203.0.113.20
 3   10.0.0.5:40111     203.0.113.20:443   TCP    SYN
 4   203.0.113.20:443   10.0.0.5:40111     TCP    SYN, ACK
 5   10.0.0.5:40111     203.0.113.20:443   TCP    ACK
 6   10.0.0.5:40111     203.0.113.20:443   TLS    ClientHello
 7   203.0.113.20:443   10.0.0.5:40111     TLS    ServerHello (le reste de la poignée de main est chiffré)

Comment distinguer les trois familles ? Par ce que le paquet est et par le port (un numéro qui désigne le programme visé sur une machine, après le deux-points) :

  • Lignes 1-2, DNS. Le port 53 est celui du DNS. Le téléphone interroge 10.0.0.1 (ici, le routeur de la maison faisant office de résolveur) ; le serveur web n'est pas encore contacté. La réponse contient l'adresse 203.0.113.20. Le DNS passe le plus souvent par UDP, un transport léger sans connexion : une question, une réponse.
  • Lignes 3-5, TCP. Le premier paquet envoyé au serveur web est la ligne 3 : SYN, « je voudrais parler ». Puis SYN-ACK, puis ACK : la connexion est ouverte. Le port 443 est le port habituel de HTTPS.
  • Lignes 6-7, TLS. Une fois TCP ouvert, le client envoie ClientHello : la phase cryptographique commence par-dessus la connexion existante. En TLS 1.3, tout ce qui suit le ServerHello, certificat compris, est déjà chiffré : une capture ne le montre donc pas en clair (en TLS 1.2, le certificat passait en clair).

Les couches : des enveloppes emboîtées

Chaque message est glissé dans une enveloppe, elle-même glissée dans une autre :

CoucheCe qu'elle faitAdresse utiliséeGarantie
Liaison (Wi-Fi, câble, radio mobile)fait passer une trame d'un équipement au suivantadresse matérielle localerien de bout en bout
IP (Internet Protocol)achemine un paquet de saut en saut vers l'adresse de destinationadresse IP« au mieux » : un paquet peut être perdu, dupliqué ou reçu dans le désordre
TCPflux d'octets fiable et ordonné entre deux programmesnuméro de portlivraison dans l'ordre, retransmission des pertes
TLSchiffre et authentifie ce flux—voir la leçon 4
HTTP / DNSles messages de l'application—aucune par eux-mêmes

Les modèles à sept ou à quatre couches que vous croiserez dans les manuels découpent ces enveloppes un peu différemment ; l'important ici est l'ordre et le rôle, pas un numéro à mémoriser.

Routage IP : de saut en saut

Une adresse IPv4 s'écrit sur 32 bits, en quatre octets : 203.0.113.20. La notation CIDR ajoute une barre oblique et le nombre de bits qui désignent le réseau : dans 192.168.1.0/26, les 26 premiers bits désignent le réseau, les 6 derniers les machines. Cela donne 2^6 = 64 adresses, de 192.168.1.0 (adresse du réseau) à 192.168.1.63 (adresse de diffusion). Par convention, ces deux adresses extrêmes ne sont pas attribuées à des machines : il reste donc 62 adresses utilisables (les cas particuliers /31 et /32 sont hors programme).

Un routeur n'a pas une carte d'Internet. Il possède une table : « les paquets pour tel préfixe, donnez-les à tel voisin ». À chaque saut, il lit l'adresse de destination, choisit la ligne qui correspond au préfixe le plus précis et transmet. Chaque routeur décrémente aussi un compteur, le TTL (time to live) ; arrivé à zéro, le paquet est détruit et le routeur le signale à l'émetteur. L'outil traceroute exploite exactement cela : il envoie des paquets de TTL 1, 2, 3… et note qui répond à chaque fois, ce qui dessine le chemin saut après saut.

Dernière précision utile : la plupart des téléphones et ordinateurs portent une adresse privée (par exemple 10.x.x.x ou 192.168.x.x). Le serveur ne voit pas cette adresse : il voit celle de l'équipement qui fait la traduction à la sortie du réseau local.

Ce que cela ne garantit pas

IP ne promet pas la livraison : c'est TCP, au-dessus, qui détecte les trous et redemande les paquets manquants. Et ni IP ni TCP ne protègent le contenu : un observateur placé sur le trajet lit les adresses, les ports et, sans TLS, les données.

À retenir

DNS = une question posée à un résolveur (port 53, avant tout contact avec le serveur). IP = l'adressage et le routage de paquets, sans garantie. TCP = la connexion fiable entre deux programmes, reconnaissable à SYN, SYN-ACK, ACK. Dans une capture, on les reconnaît à leur nature et à leur port.

Outil interactif

Convertisseur de bases

Modifiez l'un des trois champs : les deux autres suivent. Les entiers peuvent être aussi grands que vous voulez.

  1. 1
  2. 1
  3. 1
  4. 1
  5. 1
  6. 1
  7. 0
  8. 1
  9. 0
  10. 1
  11. 0
Poids de Hamming (population count) : 8 bits à 1 sur 11. 11 bits significatifs.

Seuls les entiers non négatifs sont traités ici.

Leçons 3/4 · 25 min

Latence, débit et coût d'un aller-retour

Pourquoi une petite page peut être plus lente qu'un gros fichier ?

Awa télécharge un fichier de 5 Mo sur une bonne connexion, et c'est rapide. Puis elle ouvre une page de 20 Ko, dont chaque élément demande une nouvelle requête, et c'est lent. Deux grandeurs différentes sont en jeu, et on les confond sans cesse :

  • la latence : le temps qu'un message met à aller et revenir (RTT), en millisecondes. Elle dépend surtout de la distance et du nombre d'équipements traversés ;
  • le débit (ou bande passante) : la quantité de données qui passe par seconde, en mégabits par seconde (Mbit/s). Il dépend de la capacité du lien le plus étroit du trajet.

Une image : sur une route, la latence est le temps du trajet à vide ; le débit est le nombre de voies. Ajouter des voies ne raccourcit pas un trajet de 300 km.

Le modèle de calcul

Pour estimer le temps d'un échange, nous utiliserons un modèle simplifié :

durée totale = (allers-retours d'établissement × RTT) + (taille × 8 ÷ débit)

La taille est en mégaoctets ; on multiplie par 8 pour obtenir des mégabits (1 octet = 8 bits). Les phases TCP, TLS et requête comptent chacune un aller-retour d'établissement ; le DNS est compté à part (leçon 1) et on le suppose ici déjà résolu.

Exemple. Fichier de 5 Mo, débit 20 Mbit/s, RTT 120 ms, 3 allers-retours d'établissement (TCP, TLS, requête) :

  • transmission des données : 5 × 8 ÷ 20 = 2 secondes = 2 000 ms ;
  • établissement : 3 × 120 = 360 ms ;
  • total : 2 000 + 360 = 2 360 ms.

Ici le débit domine : la transmission pèse plus de cinq fois l'établissement. Prenons maintenant une page de 20 Ko (0,02 Mo) sur la même connexion : 0,02 × 8 ÷ 20 = 0,008 s = 8 ms de transmission, contre 360 ms d'établissement. Cette fois la latence domine presque entièrement. Et si la page exige dix requêtes sur dix connexions neuves, on paie dix fois les allers-retours.

Un plancher physique

La lumière dans une fibre optique avance à peu près aux deux tiers de sa vitesse dans le vide, soit environ 200 000 km/s. Pour un trajet de 6 000 km (chiffre rond, à titre d'illustration), l'aller prend au mieux 30 ms, donc l'aller-retour au moins 60 ms — et les chemins réels sont plus longs que la ligne droite, avec des équipements à traverser. Aucune optimisation logicielle ne passe sous ce plancher ; on peut seulement faire moins d'allers-retours ou rapprocher les serveurs.

C'est pourquoi les systèmes sérieux réutilisent les connexions, mémorisent les réponses DNS (le premier appel est souvent bien plus lent que les suivants) et regroupent les requêtes. TLS 1.3 (RFC 8446, voir RFC 8446) a été conçu notamment pour qu'une poignée de main complète ne coûte qu'un seul aller-retour, là où TLS 1.2 en demandait deux.

Pourquoi cela compte pour la suite

Quand un nœud de blockchain relaie un bloc à ses voisins, ou qu'un portefeuille interroge un service distant, les mêmes lois s'appliquent : beaucoup de petits messages coûtent des allers-retours, un gros message coûte du débit. Vous retrouverez ce raisonnement quand nous parlerons de la propagation des blocs dans les ateliers de consensus.

Ce que le modèle ne dit pas

C'est une approximation : il ignore la perte de paquets (qui force des retransmissions), le démarrage progressif de TCP (qui n'utilise pas tout le débit au début d'une connexion), la congestion, et le temps de calcul du serveur. Pour savoir ce qui se passe vraiment, il faut mesurer — c'est l'objet du laboratoire autonome.

À retenir

Latence = temps d'un aller-retour ; débit = volume par seconde. Les petites requêtes sont limitées par la latence, les gros fichiers par le débit. La distance impose un plancher que le logiciel ne franchit pas.

Leçons 4/4 · 30 min

Ce que TLS protège, et ce qu'il ne protège pas

Le cadenas veut-il dire « site sûr » ?

Un message arrive : « Votre compte est bloqué, connectez-vous ici ». Le lien mène à un site avec un cadenas dans la barre d'adresse. Le site est-il fiable ? Non — et comprendre pourquoi demande de séparer trois garanties que l'on résume trop souvent en un seul mot, « chiffré ».

Trois garanties, pas une

GarantieCe qu'elle empêche
Confidentialitéqu'un intermédiaire lise le contenu
Intégritéqu'un intermédiaire modifie le contenu sans que cela se voie
Authentificationque vous parliez à un autre serveur que celui qui est nommé

La troisième repose sur le certificat : un document, signé par une autorité que votre appareil connaît déjà, qui affirme « cette clé appartient au nom de domaine shop.bac.example ». La façon dont les signatures fonctionnent est le sujet de l'atelier 105 ; retenez pour l'instant que votre appareil embarque une liste d'autorités de confiance et vérifie que le certificat présenté est signé par l'une d'elles et correspond bien au nom demandé.

Le déroulement, en gros, avec TLS 1.3 (RFC 8446) : le client envoie ClientHello ; le serveur répond par ses éléments d'échange de clés (ServerHello), puis envoie son certificat, déjà chiffré avec les clés issues de cet échange ; les deux côtés calculent les mêmes clés de session sans jamais les envoyer ; tout ce qui suit est chiffré et authentifié avec ces clés.

Ce que fait désactiver la vérification

Une erreur de certificat est pénible, et beaucoup de code « qui marche » la contourne avec des réglages comme verify=False ou --insecure. Ce que l'on supprime alors, c'est précisément la troisième garantie. La conversation reste chiffrée — avec quelqu'un dont on ne sait plus rien. Un attaquant placé sur le trajet présente son propre certificat, le programme l'accepte ; l'attaquant déchiffre, lit, éventuellement modifie, rechiffre et relaie. Les deux extrémités voient une connexion parfaitement chiffrée. C'est une attaque de l'homme du milieu (man-in-the-middle), et le chiffrement ne la gêne pas : il la dissimule. Pour une machine de test que vous maîtrisez, avec son certificat auto-signé, la bonne pratique n'est pas de tout désactiver : indiquez à l'outil de faire confiance à CE certificat précis (par exemple curl --cacert cert.pem, ou verify="cert.pem" avec la bibliothèque Python requests). La vérification reste alors active pour ce serveur seulement. Sur un chemin que vous ne contrôlez pas, la désactiver n'est jamais acceptable.

Ce que TLS ne protège pas, même bien configuré

  • Ce que vous regardez reste visible. L'adresse IP du serveur est lisible, par nécessité. Dans la configuration classique, le nom du serveur voyage aussi en clair au début de la poignée de main (champ SNI, server name indication), et la requête DNS d'avant le faisait déjà. Des extensions (Encrypted Client Hello, DNS chiffré) existent pour réduire ces fuites, mais elles ne sont pas partout activées. Un observateur ne lit donc pas vos messages, mais il sait avec qui vous parlez et quand.
  • La taille et le rythme fuient. Des messages chiffrés dont on connaît la longueur et le tempo en disent beaucoup, sans qu'un octet soit déchiffré.
  • Le serveur voit tout. TLS protège le transport, pas la destination : ce que vous envoyez à un service, il le lit en clair.
  • Un certificat valide ne prouve pas l'honnêteté. Il atteste un nom de domaine, rien de plus. Un site de hameçonnage avec un nom trompeur peut obtenir un certificat valide.
  • Les extrémités restent exposées. Un téléphone infecté lit les données avant le chiffrement et après le déchiffrement.

La question à garder

Face à tout système, dans la suite du cursus, la question n'est pas « est-ce chiffré ? » mais :

Qui peut mentir ici, et que se passe-t-il alors ?

Vous venez d'y répondre une fois, sur les quatre phases d'une requête HTTPS : le DNS peut mentir (réponse falsifiée), le réseau peut lire ou perdre des paquets, le serveur peut mentir sur le contenu. Chaque couche a réduit une partie du problème, aucune ne l'a supprimé.

À retenir

TLS = confidentialité + intégrité + authentification du serveur nommé. Il ne cache ni l'adresse du serveur ni, classiquement, son nom, il ne prouve pas l'honnêteté, et il s'arrête aux extrémités. Désactiver la vérification supprime l'authentification, pas le chiffrement.

Outil interactif

Parcours d'une requête web

Quatre étapes entre la saisie d'une adresse et l'affichage de la page, et ce que voit à chaque étape quelqu'un qui écoute le réseau (Wi-Fi public, fournisseur d'accès).

Étape 1 sur 4

Résolution DNS

Le navigateur demande à un résolveur l'adresse IP de exemple.org (requête A/AAAA).

Ce que voit un observateur sur le chemin

HTTP (non chiffré)
  • Le nom demandé (exemple.org) et l'adresse IP obtenue, en clair sur le port 53, sauf DNS chiffré.
  • Qui interroge quel résolveur, et quand.
HTTPS (TLS)
  • Identique : HTTPS ne protège pas la requête DNS. Le nom demandé est visible, sauf si DNS chiffré (DoH, DoT, DoQ) est activé.
  • Avec DNS chiffré : l'observateur voit seulement que vous parlez à votre résolveur, ni le nom ni la réponse. Le résolveur, lui, voit toujours le nom.

« Observateur sur le chemin » : un tiers qui lit le trafic sans en être un des deux bouts (réseau Wi-Fi, fournisseur, routeur intermédiaire). Il ne voit pas ce que voit le serveur lui-même.

Laboratoire guidé

Ce laboratoire se fait entièrement dans la page : le navigateur ne peut pas lancer dig, traceroute ni curl, il entraîne donc la lecture et le raisonnement sur des données générées pour vous. La partie pratique sur une vraie machine est le laboratoire autonome, à faire après la séance. Chaque épreuve générée change à chaque tentative : recopier la réponse d'un camarade ne fonctionnera pas.

Le navigateur ne remplace pas un vrai terminal : ce laboratoire entraîne la lecture et le raisonnement ; la pratique réelle est dans le laboratoire autonome.

Un compte certifié est nécessaire

Les activités notées enregistrent des résultats à votre nom et servent de base à un titre. Elles exigent donc un dossier certifiant complet et un consentement en vigueur. Remplir le dossier ne vérifie pas votre identité ; le Secrétariat peut ensuite la vérifier (badge « Vérifié »).

  1. 1.Parcourir une requête pas à pas

    Ouvrez le schéma interactif ci-dessous et avancez d'une étape à la fois : DNS, TCP, TLS, HTTP. À chaque étape, notez sur papier trois choses : (1) combien d'allers-retours elle coûte, (2) ce qu'un observateur placé sur le trajet peut lire à ce moment, (3) ce qu'elle garantit. Cette étape n'est pas notée, mais les suivantes supposent que vous avez ces trois notes sous les yeux.

    Outil interactif

    Parcours d'une requête web

    Quatre étapes entre la saisie d'une adresse et l'affichage de la page, et ce que voit à chaque étape quelqu'un qui écoute le réseau (Wi-Fi public, fournisseur d'accès).

    Étape 1 sur 4

    Résolution DNS

    Le navigateur demande à un résolveur l'adresse IP de exemple.org (requête A/AAAA).

    Ce que voit un observateur sur le chemin

    HTTP (non chiffré)
    • Le nom demandé (exemple.org) et l'adresse IP obtenue, en clair sur le port 53, sauf DNS chiffré.
    • Qui interroge quel résolveur, et quand.
    HTTPS (TLS)
    • Identique : HTTPS ne protège pas la requête DNS. Le nom demandé est visible, sauf si DNS chiffré (DoH, DoT, DoQ) est activé.
    • Avec DNS chiffré : l'observateur voit seulement que vous parlez à votre résolveur, ni le nom ni la réponse. Le résolveur, lui, voit toujours le nom.

    « Observateur sur le chemin » : un tiers qui lit le trafic sans en être un des deux bouts (réseau Wi-Fi, fournisseur, routeur intermédiaire). Il ne voit pas ce que voit le serveur lui-même.

  2. 2.Lire une capture

    Voici un extrait de capture fictif, d'un autre téléphone que celui de la leçon 2.

     1   172.16.4.9:51200     172.16.4.1:53        DNS   requête  A pay.bac.example
     2   172.16.4.1:53        172.16.4.9:51200     DNS   réponse  A 198.51.100.7
     3   172.16.4.9:44871     198.51.100.7:443     TCP   SYN
     4   198.51.100.7:443     172.16.4.9:44871     TCP   SYN, ACK
     5   172.16.4.9:44871     198.51.100.7:443     TCP   ACK
     6   172.16.4.9:44871     198.51.100.7:443     TLS   ClientHello

    Répondez à la question posée ci-dessous : elle porte sur le premier paquet qui atteint réellement le serveur web, pas sur le premier paquet de la capture. Aidez-vous du port et de la nature de chaque paquet, comme en leçon 2.

  3. 3.Lire une notation CIDR

    Une adresse accompagnée de son préfixe vous est donnée dans l'épreuve ci-dessous. Calculez l'adresse du réseau, l'adresse de diffusion et le nombre d'adresses utilisables pour des machines. Méthode : le préfixe /p garde p bits pour le réseau et 32 - p bits pour les machines ; mettez les bits de machine à 0 pour le réseau et à 1 pour la diffusion. L'outil de conversion de base vous aide à passer d'un octet décimal à ses huit bits.

    Outil interactif

    Convertisseur de bases

    Modifiez l'un des trois champs : les deux autres suivent. Les entiers peuvent être aussi grands que vous voulez.

    1. 1
    2. 1
    3. 1
    4. 1
    5. 1
    6. 1
    7. 0
    8. 1
    9. 0
    10. 1
    11. 0
    Poids de Hamming (population count) : 8 bits à 1 sur 11. 11 bits significatifs.

    Seuls les entiers non négatifs sont traités ici.

  4. 4.Estimer une durée de transfert

    Appliquez le modèle de la leçon 3 aux valeurs de l'épreuve ci-dessous : durée de transmission des données seules (taille × 8 ÷ débit, en millisecondes), puis durée totale en y ajoutant les allers-retours d'établissement. Arrondissez à la milliseconde. Avant de saisir, devinez de quel terme dépend le plus le résultat — la latence ou le débit — puis vérifiez votre intuition sur les chiffres.

Exercice de sécurité — Ce que voit un intermédiaire : HTTP contre HTTPS

Le café et la connexion partagée

Vous êtes dans un café dont le Wi-Fi est partagé. Un observateur sur ce réseau (un autre client, ou le propriétaire du point d'accès) enregistre le trafic qui passe. Vous vous connectez à un service de démonstration avec un identifiant et un mot de passe fictifs — ceux ci-dessous n'ouvrent rien du tout.

Cas A : site en HTTP simple. L'observateur enregistre :

POST /login HTTP/1.1
Host: pay.bac.example
Content-Length: 53

user=apprenant&password=mot-de-passe-de-demonstration

Cas B : le même site en HTTPS (configuration classique : pas d'Encrypted Client Hello, DNS non chiffré). L'observateur enregistre :

DNS    requête  A pay.bac.example            (en clair)
TCP    vers 198.51.100.7 port 443
TLS    ClientHello, nom du serveur : pay.bac.example   (en clair)
TLS    suite : quelques paquets, environ 3 Ko au total (chiffres illustratifs)
       (contenu illisible)

Dans les deux cas, ce trafic ne concerne que votre propre session : la règle de l'exercice est qu'on n'analyse jamais le trafic d'un tiers, ni sur un réseau partagé réel.

À faire

Répondez à la question de contrôle : parmi les informations proposées, lesquelles l'observateur peut-il encore apprendre dans le cas B ? Raisonnez avec les trois garanties de la leçon 4 : une information ne reste lisible que si aucune garantie ne la couvre, ou si elle est nécessaire au fonctionnement du réseau.

Ensuite, pour vous-même

Un collègue vous montre un script qui contourne une erreur de certificat avec verify=False « parce que ça ne marchait pas ». Dites, avec les mots de la leçon 4, quelle garantie il a supprimée, laquelle des deux autres il a conservée contre un simple espion passif, et ce que l'observateur de ce café pourrait faire de plus s'il devenait actif. Ce deuxième volet n'est pas noté, mais il est exactement la question qu'on vous posera en entretien.

Questionnaire de l'atelier

Huit questions tirées d'une réserve plus large, seuil de réussite 70 %. Il s'ouvre quand tous les points de contrôle du laboratoire sont réussis. Vous pouvez le repasser : le tirage change.

Un compte certifié est nécessaire

Les activités notées enregistrent des résultats à votre nom et servent de base à un titre. Elles exigent donc un dossier certifiant complet et un consentement en vigueur. Remplir le dossier ne vérifie pas votre identité ; le Secrétariat peut ensuite la vérifier (badge « Vérifié »).

Laboratoire autonome (hors du site)

Non noté en ligne : à réaliser sur votre machine et à publier sur votre dépôt Git.

Laboratoire autonome : tracer et mesurer une vraie requête

Après la séance, sur votre propre machine (Linux, macOS, ou WSL sous Windows), documentez le chemin entre votre poste et un serveur public de votre choix (par exemple le site de votre université ou d'un service que vous utilisez), puis mesurez chaque phase.

Périmètre, non négociable. Vous ne capturez que le trafic que vous avez vous-même généré, sur votre machine. Pas de capture sur un réseau partagé (campus, café, bureau), pas de mot de passe réel dans une capture, pas d'expérience contre un service dont vous n'êtes pas propriétaire. Pour observer un échange en clair, lancez un petit serveur local et interrogez-le sur l'interface de bouclage 127.0.0.1 avec un identifiant fictif.

  1. DNS. Lancez dig <nom> deux fois de suite ; relevez le temps de la requête (« Query time ») la première puis la seconde fois, et expliquez l'écart par le cache du résolveur.
  2. Routage. Lancez traceroute <nom> (ou tracepath si traceroute manque). Combien de sauts ? Quels sauts ne répondent pas, et que cela prouve-t-il (indice : ni mensonge ni panne, seulement des routeurs qui ignorent la demande) ? Où la latence fait-elle un bond ?
  3. Phases de la requête. Lancez :

curl -o /dev/null -s -w "dns=%{time_namelookup} tcp=%{time_connect} tls=%{time_appconnect} premier-octet=%{time_starttransfer} total=%{time_total}" ADRESSE (remplacez ADRESSE par l'adresse complète de votre site, schéma https compris). Ces valeurs sont cumulatives. Calculez la durée propre de chaque phase par soustraction.

  1. Certificat. Lancez curl -v ADRESSE et repérez : la version de TLS négociée, l'émetteur du certificat, le nom pour lequel il est valable, sa date d'expiration.
  2. Capture (facultatif, sur votre machine seulement). Avec Wireshark, capturez pendant que vous exécutez le point 3 et retrouvez les paquets DNS, SYN, ClientHello.

À rendre. Un schéma annoté d'une requête (papier ou fichier) montrant les quatre phases avec VOS durées mesurées, la différence entre DNS froid (réponse absente du cache) et DNS chaud (réponse en cache), et, en face de chaque phase, une ligne « ce qu'elle garantit » et une ligne « ce qu'elle ne garantit pas ». Ajoutez un paragraphe qui répond à : « quelle phase domine pour moi, et pourquoi ? ». Les valeurs seront différentes des vôtres chez vos camarades ; c'est normal et c'est le but.

À retenir

  • Ouvrir une page = DNS (nom → adresse), TCP (connexion), TLS (confidentialité, https seulement), HTTP (la requête). Chaque phase peut échouer seule.
  • DNS donne une réponse, pas une preuve ; IP achemine « au mieux » ; TCP livre dans l'ordre mais n'empêche personne de lire ; HTTP ne dit rien de la vérité du contenu.
  • Dans une capture, on distingue les phases par le port (53 DNS, 443 HTTPS) et la nature du paquet (SYN pour TCP, ClientHello pour TLS).
  • La latence (aller-retour) limite les petites requêtes, le débit limite les gros fichiers ; la distance impose un plancher physique.
  • TLS = confidentialité + intégrité + authentification du serveur nommé ; il ne cache pas l'adresse du serveur, ne prouve pas l'honnêteté et s'arrête aux extrémités.

Idées fausses courantes

  • Idée reçue : Le cadenas signifie que le site est honnête et sûr.

    En réalité : Le cadenas atteste que vous parlez bien au domaine affiché, sans écoute ni modification. Un site frauduleux peut avoir un certificat valide pour son propre nom de domaine.

  • Idée reçue : Avec HTTPS, un observateur du réseau ne sait rien de ce que je fais.

    En réalité : Il ne lit pas le contenu, mais il voit l'adresse IP du serveur, classiquement le nom du serveur (SNI) et la requête DNS, ainsi que la taille et le rythme des échanges.

  • Idée reçue : TCP chiffre la connexion, et c'est pour cela qu'elle est fiable.

    En réalité : « Fiable » en TCP veut dire : octets livrés dans l'ordre, pertes retransmises. TCP ne chiffre rien ; le chiffrement est le rôle de TLS, au-dessus.

  • Idée reçue : Un téléchargement lent est toujours un problème de débit.

    En réalité : Pour de petites réponses, le temps est dominé par les allers-retours d'établissement (latence). Un meilleur débit n'y change presque rien.

Glossaire

DNS (Domain Name System)
Annuaire qui traduit un nom de domaine en adresse IP ; interrogé via un résolveur qui garde souvent les réponses en cache (en mémoire).
Résolveur
Serveur (souvent celui du fournisseur ou du réseau local) qui répond aux requêtes DNS à la place du client.
Adresse IP
Numéro qui désigne une interface réseau et permet aux routeurs d'acheminer les paquets (32 bits en IPv4).
Paquet
Petit morceau de données muni d'un en-tête (adresses source et destination) qui voyage de saut en saut sur le réseau.
Port
Numéro qui désigne un programme sur une machine ; 53 pour le DNS, 443 pour HTTPS par convention.
CIDR
Notation adresse/préfixe (192.168.1.0/26) indiquant combien de bits désignent le réseau ; le reste désigne les machines.
RTT (round-trip time)
Durée d'un aller-retour entre deux machines : la latence de base d'un trajet.
Certificat
Document signé par une autorité reconnue, qui lie une clé à un nom de domaine ; vérifié par le client pendant TLS.
SNI (server name indication)
Champ de la poignée de main TLS qui indique le nom du serveur voulu ; en clair dans la configuration classique.