Le protocole TCP/IP (un peu plus en détail)
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 :
| ![]() Une lettre https://sebsauvage.net/ |
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.
L'adresse IP se présente sous la forme de 4 nombres entre 0 et 255 séparés par des points, par exemple : 192.168.1.12 (norme IPv4(internet protocol version 4))
la plus petite est : 0.0.0.0 et la plus grande est : 255.255.255.255
En tout cela fait :
, en fait un peu moins car certaines sont réservées, et comme on commence à arriver à saturation un nouveau protocole est prévu (IPv6)
Une fois ces adresses attribuées, il faut acheminer le message...
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. |
Complément : 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....)
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 | ![]() https://sebsauvage.net/ |
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, de vérifier qu'ils arrivent à destination ( de les redemander sinon), de 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 3 paquets IP reçus et le donne au logiciel qui est sur le port 80. |
Fondamental : Pour conclure
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 :
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.
Il existe beaucoup de protocoles 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.
Complément : Qui attribue les adresses IP ?
Tout ordinateur se connecte sur un réseau via une carte réseau.
Cette carte réseau possède un numéro d'identification unique : l'adresse mac.
Notre ordinateur via sa carte se connecte sur un réseau ( via un routeur) qui se connecte sur un autre réseau etc....
Pour simplifier : c'est le serveur DHCP (Dynamic Host Configuration Protocol) qui est chargé de délivrer une adresse IP.
Complément : Comment savoir à quel réseau appartient telle machine ?
Une adresse IP est accompagnée d'un masque sous réseau...
Un masque sous réseau est de la forme : 255.0.0.0 ou 255.255.0.0 ou encore 255.255.255.0 ou ...
Par exemple le couple (IP : 192.168.0.5 avec le masque : 255.255.0.0)
Signifie que c'est la machine 0.5 dans le réseau 192.168.0.0
La machine dont l'adresse IP est 192.168.1.6 avec le masque 255.255.0.0, fait partie du même réseau que la précédente.
C'est à dire la machine 1.6 du réseau 192.168.0.0
Alors que la machine 192.168.1.6 avec le masque 255.255.255.0 fait partie d'un autre réseau (192.168.1.0) (c'est la machine 6 du réseau 192.168.1.0)
Par exemple, si je cherche la configuration réseau de l'ordinateur sur lequel j'écris ces lignes je vois :
Suffixe DNS propre à la connexion. . . : home
Adresse IPv6 de liaison locale. . . . .: fe80::a1df:6a03:2f8b:d365%6
: (déjà en place hum...)
Adresse physique . . . . . . . . . . . : AA-22-EF-84-F4-1D :
(adresse mac de ma carte réseau)
Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.21
: (mon adresse IP dans le réseau 192.168.1.0)
Masque de sous-réseau. . . . . . . . . : 255.255.255.0 :
(le masque )
Passerelle par défaut. . . . . . . . . : 192.168.1.1
: (le chef du réseau : ma box , mon plus proche routeur)
Complément : Le protocole DNS (Domain Name Server)
Dans la réalité, on ne tape pas l'adresse IP de tel ou tel site. On écrit une adresse du type : www.google.fr
C'est un nom de domaine qui est associé à une adresse IP.
Cette association est réalisée par un serveur DNS
Complément : Les réseaux pair à pair
Un réseau pair à pair (peer to peer) est un réseau où chaque machine est à la fois serveur et client.