Internet : Paquets, routage et fiabilité
Bonjour, je m'appelle Lynn Root. Je suis un ingénieur logiciel chez Spotify. Et je serai la première à admettre
que je prends souvent pour acquis la fiabilité d'Internet.
La quantité d'informations qui circule sur Internet est sidérante. Mais comment est-il possible que chaque
donnée vous soit livrée de manière fiable? imaginons que vous voulez écouter une chanson sur Spotify. Il semble que
votre ordinateur se connecte directement aux serveurs Spotify et que Spotify vous envoie une chanson sur
ligne directe dédiée. Mais en réalité, ce n’est pas comme cela qu’Internet fonctionne. Si Internet
était constitué de connexions directes et dédiées, il serait impossible de continuer à faire fonctionner les choses
avec des millions d'utilisateurs qui rejoignent le réseau. D'autant plus qu'il n'y a aucune garantie que chaque fil et
ordinateur fonctionne tout le temps. Au lieu de cela, les données transitent sur le réseau beaucoup moins
directement. Il y a de nombreuses années, au début des années 1970, mon partenaire Bob Kahn et moi-même avons commencé
à travailler sur la conception de ce que nous appelons maintenant Internet. Bob et moi avions la responsabilité
et l'opportunité de concevoir les protocoles et l'architecture de l'Internet. Alors nous avons persisté
en participant à la croissance et à l'évolution de l'internet pendant tout ce temps,
jusqu'au présent inclus. La manière dont les informations sont transférées d'un ordinateur à un autre
est très intéressante. Il ne doit pas nécessairement suivre un chemin fixe, en fait, votre chemin peut changer
au milieu d'une conversation d'ordinateur à ordinateur. L'information sur Internet va d'un
ordinateur à un autre dans ce que nous appelons un paquet d'informations et un paquet se déplace d'un endroit
à un autre sur Internet. Cela ressemble beaucoup à la façon dont vous pourriez vous rendre d’un endroit à l’autre
en voiture. En fonction des embouteillages ou de l'état des routes, vous pouvez choisir ou être
forcé de prendre un itinéraire différent pour se rendre au même endroit chaque fois que vous voyagez. Et comme
vous pouvez transporter toutes sortes de choses dans une voiture, de nombreux types d’informations numériques peuvent
être envoyés avec des paquets IP, mais il existe certaines limites. Par exemple, vous deviez déplacer
une navette spatiale de l'endroit où elle avait été construite à celle où elle sera lancée? La navette ne peut pas
tenir dans un camion, elle doit donc être décomposée et transportée à l'aide de plusieurs
camions. Ils pourraient tous emprunter des itinéraires différents et se rendre à destination à des moments différents.
Mais une fois que toutes les pièces sont là, vous pouvez les réassembler et obtenir une
navette complète et elle sera prête pour le lancement. Sur Internet, les détails fonctionnent de la même manière.
Si vous souhaitez envoyer une très grande image à un ami ou la télécharger sur un site Web,
cette image peut être composée de dizaines de millions de bits de 1 et de 0, trop nombreux pour être envoyés
en un seul paquet. Comme il s'agit de données sur un ordinateur, l'ordinateur qui envoie l'image peut rapidement
divisé en centaines voire en milliers de petites parties appelées paquets. Contrairement aux voitures
ou aux camions, ces paquets n'ont pas de chauffeur et ne choisissent pas leur itinéraire. Chaque paquet
a l'adresse internet d'où il vient et où il va. Des ordinateurs spéciaux
sur Internet appelés routeurs agissent comme des gestionnaires de trafic pour maintenir la fluidité des paquets sur les réseaux.
Si un itinéraire est encombré, des paquets individuels peuvent emprunter différents itinéraires
via Internet et ils peuvent arriver à destination à des moments légèrement différents
ou même en panne. Alors parlons de la façon dont cela fonctionne. Dans le cadre du protocole Internet,
chaque routeur garde trace de plusieurs chemins pour l'envoi de paquets, et il choisit le moins cher
chemin disponible pour chaque donnée en fonction de l'adresse IP de destination du paquet.
Le moins cher dans ce cas ne signifie pas le coût, mais le temps et des facteurs non techniques comme la politique
et les relations entre entreprises. Souvent, le meilleur itinéraire pour la transmission des données n’est pas nécessairement
le plus direct. Avoir des options pour les chemins rend le réseau tolérant aux pannes. Ce qui signifie
que le réseau peut continuer à envoyer des paquets même si quelque chose se passe horriblement, terriblement mal.
C'est la base d'un principe clé d'Internet: la fiabilité. Maintenant, si vous voulez
demander des données et que tout n’est pas livré? Mettons que vous voulez écouter une chanson.
Comment pouvez-vous être sûr à 100% que toutes les données seront livrées afin que la chanson joue parfaitement?
Voici votre nouveau meilleur ami, TCP (Transmission Control Protocol). TCP gère l'envoi
et la réception de toutes vos données sous forme de paquets. Imaginez le comme une assurance de réception de courrier.
Lorsque vous demandez une chanson sur votre appareil, Spotify envoie une chanson divisée en plusieurs paquets.
Lorsque vos paquets arrivent, TCP fait un inventaire complet et renvoie les accusés de réception
de chaque paquet reçu. Si tous les paquets sont là, TCP signe pour votre livraison et vous avez
terminé. Si TCP s'aperçoit qu'il manque certains paquets, il ne signera pas, sinon votre
chanson ne sonne pas aussi bien ou des parties de la chanson pourraient être manquantes. Pour chaque paquet manquant
ou incomplet, Spotify les renverra. Une fois que TCP valide la livraison des nombreux paquets
pour cette requête, votre chanson commencera à jouer. Ce qui est génial avec les systèmes TCP
et routeur, c'est qu'ils sont évolutifs. Ils peuvent travailler avec 8 ou 8 milliards d'appareils. En fait,
en raison de ces principes de tolérance aux pannes et de redondance, plus nous ajoutons de routeurs, plus internet
devient fiable. Ce qui est également génial, c’est que nous pouvons développer et faire évoluer Internet.
sans interrompre le service pour quiconque l’utilise. Internet est constitué de centaines de milliers
de réseaux et des milliards d'ordinateurs et de périphériques connectés physiquement. Ces différents
systèmes qui composent Internet se connectent les uns aux autres, communiquer entre vous,
et travailler ensemble en raison de normes convenues sur la manière dont les données sont envoyées sur Internet.
Les appareils informatiques, ou les routeurs sur Internet, aident tous les paquets à se rendre au
destination où ils sont réassemblés, si nécessaire, dans l’ordre. Cela se produit des milliards
de fois par jour, que vous envoyiez un courrier électronique ou visitiez une page Web, faire
un chat vidéo, en utilisant une application mobile, ou lorsque des capteurs ou des appareils sur Internet
se parlent.