Aller au contenu

Principe général de communication TCP/IP

Le protocole IP

Pour pouvoir transmettre un message il faut connaître l'émetteur et le récepteur du message.

Exemple

Faisons un parallèle avec une lettre envoyée par la poste :

  • on met la lettre dans une enveloppe,
  • on inscrit l'adresse du destinataire,
  • on inscrit l'adresse de l'expéditeur. Lettre 1

Sur Internet, c'est à peu près la même chose. Chaque message (chaque petit paquet de données) est enveloppé par le protocole IP qui y ajoute différentes informations :

  • l'adresse IP de l'expéditeur,
  • l'adresse IP du destinataire,
  • des données supplémentaires (qui permettent de bien contrôler l'acheminement du message).

Message IP 1

Rappel

L'adresse IP est une adresse unique attribuée à chaque ordinateur sur Internet (c'est-à-dire qu'il n'existe pas sur Internet deux ordinateurs ayant la même adresse IP), de même que l'adresse postale (nom, prénom, rue, numéro, code postal et ville) permet d'identifier de manière unique un destinataire.

Routage IP

Pour envoyer votre lettre, vous la postez dans la boîte aux lettres la plus proche. Ce courrier est relevé, envoyé au centre de tri de votre ville, puis transmis à d'autres centres de tri jusqu'à atteindre le destinataire.

Lettre 2

C'est la même chose sur Internet !

Vous déposez le paquet IP sur l'ordinateur le plus proche (celui de votre fournisseur d'accès en général). Le paquet IP va transiter d'ordinateur en ordinateur jusqu'à atteindre le destinataire.

Message IP 2

Les ports - Le protocole UDP

Le protocole IP nous permet d'envoyer et de recevoir des paquets de données d'un ordinateur à un autre.
Mais si nous avons plusieurs applications qui fonctionnent sur l'ordinateur (navigateur, un logiciel d'e-mail, une radio, ...), comment faire pour savoir à quel logiciel délivrer les paquets ?

UDP1

Comme pour les portes d'un immeuble, on peut attribuer un numéro unique à chaque logiciel dans l'ordinateur :

UDP2

Ces ports sont des informations présentes dans les datagrammes du protococole UDP (User Datagram Protocol).

UDP3

Le protocole TCP

A présent, on peut :

  • envoyer des paquets de données d'un ordinateur à un autre (protocole IP)
  • s'adresser au bon logiciel (protocole UDP) pour réceptionner ces données.

Cependant il reste des problèmes à régler :

  • Des paquets peuvent se perdre.
  • Rien ne permet de savoir s'ils sont bien arrivés.
  • La taille des paquets est limitée (1500 octets environ). Comment envoyer une photo de 100 000 octets ?

Le protocole TCP (Transmission Control Protocol) est chargé de régler tous ces éventuels problèmes. Il a été conçu pour :

  • faire tout ce que le protocole UDP sait faire (gestion des ports),
  • vérifier que le destinataire est prêt à recevoir les données,
  • découper les gros paquets en paquets plus petits,
  • numéroter les segments, vérifier qu'ils arrivent à destination (les redemander sinon), les réordonner,
  • émettre des accusés de réception.

Exemple

Pour envoyer le message "Salut, comment ça va ?", voilà ce que fait TCP (chaque flèche représente un paquet IP) :

TCP1

À l'arrivée, sur l'ordinateur 204.66.224.82, la couche TCP reconstitue le message "Salut, comment ça va ?" à partir des trois paquets IP reçus puis il le donne au logiciel qui est sur le port 80.

Conclusion

Avec TCP/IP, on peut maintenant communiquer de façon fiable entre logiciels situés sur des ordinateurs différents.

TCP/IP est utilisé dans des domaines très divers :

  • Dans le navigateur internet, le protocole HTTP utilise le protocole TCP/IP pour envoyer et recevoir des pages HTML, des images GIF, JPG et toutes sortes d'autres données.

  • FTP est un protocole qui permet d'envoyer et recevoir des fichiers. Il utilise également TCP/IP.

  • Votre logiciel de courrier électronique utilise les protocoles SMTP et POP3 pour envoyer et recevoir des e-mails. SMTP et POP3 utilisent eux aussi le protocole TCP/IP.

  • Votre navigateur (et d'autres logiciels) utilise le protocole DNS pour trouver l'adresse IP d'un ordinateur à partir de son nom (par exemple, trouver l'adresse IP 216.58.208.227 à partir de « www.google.fr »). Le protocole DNS utilise les protocoles UDP/IP et TCP/IP en fonction de ses besoins.

Il existe ainsi de nombreux protocoles qui utilisent TCP/IP ou UDP/IP.

A retenir

Par rapport au protocole UDP, le protocole TCP permet des communications fiables.
L'inconvénient est qu'il nécessite une négociation ("Bonjour, prêt à communiquer ?" etc.), ce qui prend du temps.