Si vous vous baladez sur Internet, vous avez dû, à un moment ou à un autre, entendre parler de TCP/IP. Qu'est-ce que c'est que cette bête ?
Cette page est un peu longue, mais une fois terminée, vous aurez compris ce que sont IP, UDP, TCP et à quoi ils servent.
TCP/IP est un protocole, c'est à dire des règles de communication.
IP |
Commençons par IP (nous verrons TCP par la suite).
IP signifie Internet Protocol : littéralement "le protocole d'Internet". C'est le principal protocole utilisé sur Internet. Internet signifie Inter-networks, c'est à dire "entre réseaux". Internet est l'interconnexion des réseaux de la planète. Le protocole IP permet aux ordinateurs reliés à ces réseaux de dialoguer entre eux. |
Faisons un parallèle avec la poste.
Quand vous voulez envoyer une lettre par la poste:
Ce sont des règles utilisées par tout le monde. C'est un protocole.
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 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, l'adresse postale (nom, prénom, rue, numéro, code postal et ville) permet d'identifier de manière unique un destinataire.
Tout comme avec l'adresse postale, il faut connaître au préalable l'adresse IP de l'ordinateur avec lequel vous voulez communiquer.
L'adresse IP se présente le plus souvent sous forme de 4 nombres (entre 0 et 255) séparés par des points. Par exemple: 204.35.129.3
Le 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 |
Bien !
Avec IP, nous avons de quoi envoyer et recevoir des paquets de données d'un ordinateur à l'autre.
Imaginons maintenant que nous ayons plusieurs programmes qui fonctionnent en même temps sur le même ordinateur: un navigateur, un logiciel d'email et un logiciel pour écouter la radio sur Internet.
Si l'ordinateur reçoit un paquet IP, comment savoir à quel logiciel donner ce paquet IP ?
Comment savoir à quel logiciel est destiné ce paquet IP ?
Le navigateur, le logiciel de radio ou le logiciel d'email ?
C'est un problème sérieux !
On pourrait attribuer un numéro unique à chaque logiciel dans l'ordinateur.
Il suffirait alors de mettre ce numéro dans chaque paquet IP pour pouvoir s'adresser à tel ou tel logiciel.
On appelle ces numéros des ports (pensez aux "portes" d'une maison: à une adresse donnée, on va pouvoir déposer les lettres à différentes portes à cette adresse).
Avec la poste, à une même adresse, on peut s'adresser
à différentes personnes en indiquant un numéro de porte.
De même, à une même adresse IP, on peut s'adresser à différents logiciels
en précisant le numéro de port (ici: 3).
Ainsi, l'adresse IP permet de s'adresser à un ordinateur donné, et le numéro de port permet de s'adresser à un logiciel particulier sur cet ordinateur.
"Mais TCP/IP ?". On y vient, on y vient... patience.
UDP/IP est un protocole qui permet justement d'utiliser des numéros de ports en plus des adresses IP (On l'appelle UDP/IP car il fonctionne au dessus d'IP).
IP s'occupe des adresses IP et UDP s'occupe des ports.
Avec le protocole IP on pouvait envoyer des données d'un ordinateur A à un ordinateur B.
Avec UDP/IP, on peut être plus précis: on envoie des données d'une application x sur l'ordinateur A vers une application y sur l'ordinateur B.
Par exemple, votre navigateur peut envoyer un message à un serveur HTTP (un serveur Web):
Ce couple (199.7.55.3:1057, 204.66.224.82:80) est appelé un socket. Un socket identifie de façon unique une communication entre deux logiciels.
TCP |
Bon... on peut maintenant faire communiquer 2 logiciels situés sur des ordinateurs différents.
Mais il y a encore de petits problèmes:
C'est pour cela qu'a été conçu TCP.
TCP est capable:
Par exemple, pour envoyer le message "Salut, comment ça va ?", voilà ce que fait TCP (Chaque flèche représente 1 paquet IP):
A l'arrivée, sur l'ordinateur 204.66.224.82, la couche TCP reconstitue le message "Salut, comment ça va ?" à partir des 3 paquets IP reçus et le donne au logiciel qui est sur le port 80.
Pour conclure TCP/IP |
Pas mal tout ça, hein ?
Avec TCP/IP, on peut maintenant communiquer de façon fiable entre logiciels situés sur des ordinateurs différents.
TCP/IP est utilisé pour des tas de choses:
Il existe ainsi des centaines de protocoles différents qui utilisent TCP/IP ou UDP/IP.
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.
Si vous êtes curieux et voulez voir tous les paquets IP échangés et leur contenu, vous pouvez utiliser l'excellent logiciel Wireshark ( https://www.wireshark.org/ ). Ce logiciel gratuit capture et décortique tout ce qui transite par le réseau. C'est très instructif.
Pour poursuivre: |
Le contenu de cette page est placé sous les termes de la licence suivante : CC Attribution-Noncommercial 4.0 International |
h t t p : / / s e b s a u v a g e . n e t |