Aller au contenu

Le 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.

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 .

Sur Internet, c'est à peu près la même chose: chaque message (chaque petit paquet de données) est enveloppé par 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).

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.

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.

Les ports- Le protocole UDP

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 ?

On peut attribuer un numéro unique à chaque logiciel dans l'ordinateur (comme pour les portes d'un immeuble).

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

Le protocole TCP

On peut envoyer des paquets de données d'un ordinateur à un autre (IP) et s'adresser au bon logiciel (UDP), cependant il y a encore des problèmes:

  • 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). Et si je veux envoyer une photo de 100 000 octets ?

C'est le rôle de TCP (Transmission Control Protocol) de régler tous ces éventuels problèmes :

TCP sait faire :

  • Tout ce que UDP sait faire (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.

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

À 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 et 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.

Il existe beaucoup de protocoles qui utilisent TCP/IP ou UDP/IP:

  • Dans votre navigateur, 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 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, de trouver 216.58.208.227 à partir de 'www.google.fr'). Le protocole DNS utilise UDP/IP et TCP/IP en fonction de ses besoins.

L'avantage de TCP sur UDP est que 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.

source: sebsauvage