Salut,
La question est ancienne, mais pas idiote et peut être utile aux non informaticiens qui cherchent à un peu mieux comprendre comment marche un réseau (Internet en est un !). Alors, je me risque à raconter une histoire de trains et de wagons, l’analogie n’est pas mal !
Déjà, le titre le laisse entendre, il ne faut pas mélanger “flux” et “protocoles”. Sans trop entrer dans les détails (pour ceux que ça intéresse, vous pouvez déjà lire la page Wikipédia sur les 7 couches OSI) , disons que les ordinateurs vont utiliser des conventions pour discuter entre eux, ce qu’on appelle des protocoles. Il y a plusieurs niveaux de protocoles (7 en tout), disons pour faire très simple qu’il faut déjà que les signaux électriques soient compatibles, puis qu’on sache comment on s’envoie des données d’une manière générale, puis ce que représentent ces données et comment on sait qui correspond à quoi (ce qui nous donnerait ici un modèle simplifié en 3 couches). Autrement dit, il faut d’abord savoir comment on fait circuler des marchandises (on utilise un train qui roule sur des rails), comment on répartit les marchandises dans le train, puis enfin ce qu’on va trouver dans chaque wagon. Voilà pour les protocoles. Pour les flux, ce sont simplement les marchandises en circulation.
Je propose qu’on laisse de côté les protocoles TCP et UDP qui concernent la couche 4 du modèle OSI, ainsi qu’ICMP (couche 3) pour se concentrer sur le protocole IP de la couche 3 (IP=Internet Protocol, c’est lui qui donne son nom à l’adresse IP qu’il définit).
Ici, il s’agit de définir comment les marchandises vont pouvoir circuler dans le réseau et arriver à leur destinataire. On se fout ici de quel genre de marchandise il s’agit (page de site internet, mail, visioconférence…), on ne transporte que des paquets de données sans s’occuper de leur contenu.
Lorsqu’un ordinateur veut envoyer des données à un autre, il va les ranger dans des wagons. Chaque wagon contient la même quantité de données, qui vont donc être réparties dans plusieurs wagons. Et sur chaque wagon, on indique un numéro d’ordre, le nom du destinataire et son adresse. On accroche chaque wagon dès qu’il est prêt au premier train qui passe, et c’est parti !
Le train va arriver à une gare de triage (un routeur). Là, on va répartir les wagons dans d’autres trains au départ, en fonction des adresses indiquées sur chacun. On comprend bien ici que nos wagons du départ sont très probablement répartis sur plusieurs trains différents, qui ne vont d’ailleurs pas tous suivre forcément le même itinéraire. On va ainsi traverser plusieurs gares (routeurs), et à chaque fois on lira l’adresse indiquée sur le wagon pour le rattacher à un train capable de le prendre en charge et de le mener au moins un bout de chemin vers sa destination finale.
Quand enfin notre wagon arrive à l’adresse indiquée, l’ordinateur qui le reçoit va regarder deux choses : à qui il est destiné (quel port) et son numéro d’ordre. On attend que tous les wagons d’un même ensemble de données soit arrivés, on les remet dans le bon ordre grâce au numéro indiqué, et on les envoie au destinataire final repéré par le numéro de port.
Et voilà : les données sont reçues par l’ordinateur distant !
Mais dans la pratique, ce n’est pas aussi simple : pour diverses raisons, il y a parfois des wagons qui se perdent. Pas grave : dès qu’on s’en aperçoit, on demande à l’expéditeur d’en renvoyer un avec le même contenu. C’est à cela, entre autres, que servent les autres couches du modèle OSI et les autres protocoles.
Parlons maintenant un peu des protocoles de la couche 7 (couche “application”) : ce sont, entre beaucoup d’autres, les protocoles HTTP (pour les pages WEB), SMTP (pour le mail), XMPP (pour la messagerie instantannée)… Ils vont tout simplement servir à ce que l’expéditeur mette dans le wagon les données sous une forme précise et les range correctement de sorte que le destinataire sache les exploiter correctement.
Voilà : c’est très schématique et simpliste, mais j’espère que ça permettra de dissiper un peu le brouillard et de démystifier la magie qui entoure les communications numériques.