Protocole Tcp Et Fiabilite

SNT - Seconde

Protocole TCP et fiabilité

Ce qu'il faut comprendre

Quand tu envoies un message sur Internet, par exemple un email ou une page web, ton ordinateur découpe les données en petits morceaux appelés paquets. Chaque paquet voyage tout seul sur le réseau, en passant par différents routeurs, jusqu'à destination. Mais comment être sûr que tous les paquets arrivent bien, dans le bon ordre, et sans erreur ? C'est le rôle du protocole TCP.

Imagine que tu envoies une lettre en plusieurs morceaux par la poste. Sans suivi, certains morceaux pourraient se perdre ou arriver en désordre. TCP, c'est comme un service de suivi : il numérote chaque paquet, vérifie qu'il est bien reçu, et réordonne le tout à l'arrivée. Grâce à TCP, la communication est fiable.

Les notions essentielles

  • Paquet : unité de données échangée sur le réseau. Il contient l'information à transmettre (payload) et des en-têtes (adresses IP source/destination, numéro de port, etc.).
  • IP (Internet Protocol) : protocole qui s'occupe de l'adressage et du routage des paquets. Chaque machine a une adresse IP unique (ex: 192.168.1.1). IP ne garantit pas la livraison : un paquet peut être perdu.
  • TCP (Transmission Control Protocol) : protocole de transport qui assure une communication fiable. Il établit une connexion, numérote les paquets, gère les acquittements (ACK) et les retransmissions en cas de perte.
  • Routage : processus par lequel les routeurs dirigent les paquets de la source à la destination, en choisissant le meilleur chemin.
  • DNS (Domain Name System) : système qui traduit les noms de domaine (ex: www.google.com) en adresses IP. Sans DNS, on devrait retenir des adresses IP.
  • Fiabilité : propriété d'un protocole qui garantit que les données arrivent intactes, dans l'ordre et sans perte.

Propriétés de TCP :

  • Orienté connexion : avant d'échanger des données, une connexion est établie (handshake en trois étapes).
  • Contrôle de flux : évite d'envoyer trop de données trop vite.
  • Contrôle d'erreur : détecte et corrige les erreurs via des checksums.
  • Réordonnancement : remet les paquets dans l'ordre.

Différence IP vs TCP :

  • IP : service non fiable (paquets peuvent être perdus, dupliqués, désordonnés).
  • TCP : service fiable (corrige les défauts d'IP).

Méthode

Pour analyser une communication TCP, suis ces étapes :

  1. Identifier les acteurs : client (demandeur) et serveur (fournisseur).
  2. Observer l'établissement de la connexion : échange SYN, SYN-ACK, ACK (three-way handshake).
  3. Suivre les échanges de données : chaque paquet de données est numéroté (numéro de séquence). Le récepteur envoie un accusé de réception (ACK) avec le numéro du prochain paquet attendu.
  4. Détecter une perte : si l'expéditeur ne reçoit pas d'ACK dans un délai, il retransmet le paquet.
  5. Vérifier la fermeture : échange FIN, ACK pour terminer la connexion.

Exemple de lecture d'une trace simplifiée :

  • Paquet 1 : SYN (numéro de séquence = 100)
  • Paquet 2 : SYN-ACK (numéro de séquence = 200, ACK = 101)
  • Paquet 3 : ACK (numéro de séquence = 101, ACK = 201)
  • Paquet 4 : Données (seq=101, ACK=201)
  • Paquet 5 : ACK (seq=201, ACK=...)

Exemple corrigé

Énoncé : Alice envoie un message « Bonjour » à Bob via TCP. Le message est découpé en deux paquets : « Bon » et « jour ». Décris les échanges TCP (simplifiés) pour assurer la fiabilité.

Correction :

  1. Établissement de la connexion :

    • Alice envoie un paquet SYN (seq=1000).
    • Bob répond SYN-ACK (seq=2000, ack=1001).
    • Alice envoie ACK (seq=1001, ack=2001). La connexion est établie.
  2. Envoi des données :

    • Alice envoie paquet 1 : « Bon » (seq=1001, taille=3).
    • Bob reçoit et envoie ACK (ack=1004).
    • Alice envoie paquet 2 : « jour » (seq=1004, taille=4).
    • Bob reçoit et envoie ACK (ack=1008).

    Si le paquet 2 se perd (pas d'ACK reçu par Alice), Alice retransmet le paquet 2 après un délai. Bob reçoit alors le doublon, mais grâce au numéro de séquence, il ignore le doublon et renvoie ACK.

  3. Fermeture :

    • Alice envoie FIN (seq=1008).
    • Bob répond ACK (ack=1009) puis FIN (seq=2001).
    • Alice envoie ACK (ack=2002). Connexion fermée.

Résultat : Bob reçoit « Bonjour » dans l'ordre, sans perte.

Erreurs fréquentes

  • Confondre TCP et IP : IP ne garantit pas la fiabilité, TCP oui. Ne pas dire « IP assure la livraison ».
  • Penser que TCP est le seul protocole de transport : il existe aussi UDP (non fiable, plus rapide). Mais en Seconde, on se concentre sur TCP.
  • Oublier que TCP numérote les paquets : c'est grâce aux numéros de séquence que le récepteur peut réordonner et détecter les pertes.
  • Croire que le routage est fait par TCP : le routage est géré par IP et les routeurs. TCP ne fait que gérer la fiabilité de bout en bout.
  • Confondre DNS et TCP : DNS utilise TCP (ou UDP) pour fonctionner, mais ce n'est pas la même chose. DNS traduit les noms en adresses IP.

À retenir

  • TCP = protocole fiable, orienté connexion, avec accusés de réception et retransmission.
  • IP = protocole non fiable, responsable de l'adressage et du routage.
  • Paquet = unité de données avec en-tête (adresses IP, ports, numéros TCP).
  • DNS = annuaire qui associe noms de domaine et adresses IP.
  • Fiabilité = garantie que les données arrivent complètes, en ordre, sans erreur.

Pour s'entraîner

Pour vérifier ta compréhension, rends-toi sur AlloSeconde : tu trouveras des exercices interactifs sur le protocole TCP, le routage et le DNS. Entraîne-toi à analyser des échanges TCP et à identifier les rôles de chaque protocole. Bon courage !

Cours conforme au programme officiel de Seconde • 945 mots