Numérique et Sciences Informatiques > Architecture des Ordinateurs > Réseaux Informatiques > Protocole TCP/IP (principes)

Introduction au Protocole TCP/IP

Découvrez les principes fondamentaux du protocole TCP/IP, l'épine dorsale de la communication sur Internet. Cette ressource est conçue pour les lycéens en Numérique et Sciences Informatiques.

Qu'est-ce que TCP/IP ?

TCP/IP, acronyme de Transmission Control Protocol/Internet Protocol, est un ensemble de protocoles qui régissent la manière dont les données sont transmises sur Internet. Imaginez-le comme un ensemble de règles que tous les ordinateurs doivent suivre pour pouvoir communiquer entre eux.

Il ne s'agit pas d'un seul protocole, mais d'une suite de protocoles qui travaillent ensemble pour assurer une communication fiable et efficace. C'est comme une équipe où chaque membre a un rôle précis.

Sans TCP/IP, Internet tel que nous le connaissons n'existerait pas. C'est la base de tout ce que nous faisons en ligne : naviguer sur le web, envoyer des emails, regarder des vidéos, etc.

Les Couches du Modèle TCP/IP

Le modèle TCP/IP est divisé en quatre couches, chacune ayant une fonction spécifique :

  1. Couche Liaison de Données (Data Link Layer): S'occupe de la transmission physique des données sur un réseau local (ex: Ethernet, Wi-Fi). Elle prend les paquets de la couche réseau et les transforme en trames, adaptées au support physique.
  2. Couche Internet (Network Layer): Gère l'adressage et le routage des paquets de données entre les réseaux. Son rôle principal est de faire parvenir les paquets à leur destination, même si celle-ci se trouve sur un réseau différent. Le protocole principal de cette couche est IP (Internet Protocol).
  3. Couche Transport (Transport Layer): Assure la transmission fiable des données entre les applications. Elle divise les données en segments et utilise les protocoles TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol). TCP garantit que les données arrivent dans l'ordre et sans erreur, tandis que UDP est plus rapide mais moins fiable.
  4. Couche Application (Application Layer): Fournit les services réseau aux applications. C'est la couche avec laquelle les utilisateurs interagissent directement. Des exemples de protocoles de cette couche sont HTTP (Hypertext Transfer Protocol) pour le web, SMTP (Simple Mail Transfer Protocol) pour l'envoi d'emails, et FTP (File Transfer Protocol) pour le transfert de fichiers.

Chaque couche interagit avec les couches au-dessus et en dessous d'elle, encapsulant les données au fur et à mesure qu'elles descendent et les désencapsulant au fur et à mesure qu'elles remontent. C'est comme un processus d'emballage et de déballage.

Adressage IP

Chaque appareil connecté à Internet a une adresse IP unique, comme une adresse postale. Cela permet d'identifier et de localiser l'appareil sur le réseau.

Il existe deux versions d'adresses IP :

  • IPv4 : Utilisée depuis longtemps, elle est composée de quatre nombres entre 0 et 255, séparés par des points (ex: 192.168.1.1). Cependant, le nombre d'adresses IPv4 disponibles est limité, ce qui pose problème avec la croissance d'Internet.
  • IPv6 : Plus récente, elle utilise un format plus long (ex: 2001:0db8:85a3:0000:0000:8a2e:0370:7334) et offre un nombre beaucoup plus grand d'adresses possibles. C'est la solution d'avenir pour l'adressage sur Internet.

L'adresse IP permet d'acheminer les données vers la bonne destination. C'est un élément essentiel du fonctionnement d'Internet.

Les Ports

Imaginez que l'adresse IP est l'adresse d'un immeuble (votre ordinateur), et les ports sont les différentes portes d'entrée de cet immeuble. Chaque application qui utilise Internet (navigateur web, client de messagerie, etc.) utilise un port spécifique pour communiquer.

Les ports sont des nombres compris entre 0 et 65535. Certains ports sont réservés pour des services spécifiques:

  • Port 80 : Généralement utilisé pour le trafic web (HTTP).
  • Port 443 : Généralement utilisé pour le trafic web sécurisé (HTTPS).
  • Port 25 : Utilisé pour l'envoi d'emails (SMTP).
  • Port 21 : Utilisé pour le transfert de fichiers (FTP).

Lorsque votre ordinateur envoie des données, il précise le port de destination pour que le serveur sache à quelle application il doit envoyer les données.

Le Handshake TCP (Établissement de Connexion)

Avant de transmettre des données, TCP établit une connexion fiable entre les deux appareils. Ce processus s'appelle le Handshake TCP et se déroule en trois étapes (three-way handshake):

  1. SYN (Synchronize): L'appareil A envoie un paquet SYN à l'appareil B, demandant à établir une connexion. C'est comme dire 'Bonjour, je voudrais parler'.
  2. SYN-ACK (Synchronize-Acknowledge): L'appareil B répond avec un paquet SYN-ACK, confirmant qu'il a reçu la demande et qu'il est prêt à établir la connexion. C'est comme répondre 'Bonjour, je vous écoute'.
  3. ACK (Acknowledge): L'appareil A envoie un paquet ACK à l'appareil B, confirmant qu'il a reçu la réponse. C'est comme dire 'Parfait, commençons'.

Une fois la connexion établie, les données peuvent être transmises en toute sécurité et fiabilité.

La Fiabilité du TCP

TCP garantit la fiabilité de la transmission des données grâce à plusieurs mécanismes:

  • Numéros de Séquence: Chaque segment de données est numéroté, permettant de les réassembler dans le bon ordre à la réception.
  • Accusés de Réception (ACK): Le récepteur envoie un accusé de réception pour chaque segment reçu, confirmant sa bonne réception. Si l'émetteur ne reçoit pas d'accusé de réception dans un délai raisonnable, il renvoie le segment.
  • Contrôle de Flux: TCP ajuste la vitesse de transmission des données en fonction de la capacité du récepteur, évitant ainsi de le saturer.
  • Détection des Erreurs: TCP utilise des sommes de contrôle (checksums) pour détecter les erreurs de transmission et demander la retransmission des segments corrompus.

Ces mécanismes garantissent que les données arrivent à destination dans l'ordre, sans erreur et sans perte.

Différence entre TCP et UDP

TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont deux protocoles de la couche transport. La principale différence réside dans leur approche de la fiabilité:

  • TCP: Offre une transmission fiable et orientée connexion. Il garantit que les données arrivent dans l'ordre et sans erreur, mais il est plus lent en raison des mécanismes de contrôle et d'accusé de réception.
  • UDP: Offre une transmission rapide et sans connexion. Il ne garantit pas que les données arrivent dans l'ordre ni sans erreur, mais il est plus rapide car il n'y a pas de mécanismes de contrôle.

Le choix entre TCP et UDP dépend de l'application:

  • TCP: Utilisé pour les applications qui nécessitent une transmission fiable, comme la navigation web (HTTP), l'envoi d'emails (SMTP) et le transfert de fichiers (FTP).
  • UDP: Utilisé pour les applications qui privilégient la vitesse à la fiabilité, comme le streaming vidéo, les jeux en ligne et les appels VoIP.

Ce qu'il faut retenir

  • TCP/IP est la base de la communication sur Internet.
  • Le modèle TCP/IP est divisé en quatre couches: Liaison de Données, Internet, Transport et Application.
  • Chaque appareil connecté à Internet possède une adresse IP unique.
  • TCP établit une connexion fiable avant de transmettre les données (Handshake TCP).
  • TCP garantit la fiabilité de la transmission des données grâce à des numéros de séquence, des accusés de réception et un contrôle de flux.
  • TCP est utilisé pour les applications qui nécessitent une transmission fiable, tandis que UDP est utilisé pour les applications qui privilégient la vitesse.

FAQ

  • Quelle est la différence entre une adresse IP publique et une adresse IP privée ?

    Une adresse IP publique est utilisée pour identifier votre réseau sur Internet, tandis qu'une adresse IP privée est utilisée pour identifier les appareils à l'intérieur de votre réseau local. Votre routeur utilise la traduction d'adresses réseau (NAT) pour traduire les adresses IP privées en adresse IP publique lors de la communication avec Internet.
  • Pourquoi TCP est-il plus fiable que UDP ?

    TCP est plus fiable car il utilise des mécanismes tels que les numéros de séquence, les accusés de réception et le contrôle de flux pour garantir que les données arrivent dans l'ordre et sans erreur. UDP, en revanche, ne fournit pas ces mécanismes, ce qui le rend plus rapide mais moins fiable.