1 00:00:00,120 --> 00:00:07,950 Internet : Paquets, routage et fiabilité 2 00:00:07,950 --> 00:00:13,650 Bonjour, je m'appelle Lynn Root. Je suis un ingénieur logiciel chez Spotify. Et je serai la première à admettre 3 00:00:13,650 --> 00:00:18,970 que je prends souvent pour acquis la fiabilité d'Internet. 4 00:00:18,970 --> 00:00:23,170 La quantité d'informations qui circule sur Internet est sidérante. Mais comment est-il possible que chaque 5 00:00:23,170 --> 00:00:29,080 donnée vous soit livrée de manière fiable? imaginons que vous voulez écouter une chanson sur Spotify. Il semble que 6 00:00:29,080 --> 00:00:33,989 votre ordinateur se connecte directement aux serveurs Spotify et que Spotify vous envoie une chanson sur 7 00:00:33,989 --> 00:00:39,410 ligne directe dédiée. Mais en réalité, ce n’est pas comme cela qu’Internet fonctionne. Si Internet 8 00:00:39,410 --> 00:00:43,640 était constitué de connexions directes et dédiées, il serait impossible de continuer à faire fonctionner les choses 9 00:00:43,640 --> 00:00:48,050 avec des millions d'utilisateurs qui rejoignent le réseau. D'autant plus qu'il n'y a aucune garantie que chaque fil et 10 00:00:48,050 --> 00:00:53,350 ordinateur fonctionne tout le temps. Au lieu de cela, les données transitent sur le réseau beaucoup moins 11 00:00:53,350 --> 00:01:01,210 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é 12 00:01:01,210 --> 00:01:06,870 à travailler sur la conception de ce que nous appelons maintenant Internet. Bob et moi avions la responsabilité 13 00:01:06,870 --> 00:01:14,790 et l'opportunité de concevoir les protocoles et l'architecture de l'Internet. Alors nous avons persisté 14 00:01:14,790 --> 00:01:20,000 en participant à la croissance et à l'évolution de l'internet pendant tout ce temps, 15 00:01:20,000 --> 00:01:25,500 jusqu'au présent inclus. La manière dont les informations sont transférées d'un ordinateur à un autre 16 00:01:25,500 --> 00:01:30,900 est très intéressante. Il ne doit pas nécessairement suivre un chemin fixe, en fait, votre chemin peut changer 17 00:01:30,900 --> 00:01:36,100 au milieu d'une conversation d'ordinateur à ordinateur. L'information sur Internet va d'un 18 00:01:36,100 --> 00:01:42,050 ordinateur à un autre dans ce que nous appelons un paquet d'informations et un paquet se déplace d'un endroit 19 00:01:42,050 --> 00:01:46,360 à un autre sur Internet. Cela ressemble beaucoup à la façon dont vous pourriez vous rendre d’un endroit à l’autre 20 00:01:46,360 --> 00:01:51,420 en voiture. En fonction des embouteillages ou de l'état des routes, vous pouvez choisir ou être 21 00:01:51,420 --> 00:01:59,000 forcé de prendre un itinéraire différent pour se rendre au même endroit chaque fois que vous voyagez. Et comme 22 00:01:59,000 --> 00:02:03,980 vous pouvez transporter toutes sortes de choses dans une voiture, de nombreux types d’informations numériques peuvent 23 00:02:03,980 --> 00:02:10,359 être envoyés avec des paquets IP, mais il existe certaines limites. Par exemple, vous deviez déplacer 24 00:02:10,359 --> 00:02:14,200 une navette spatiale de l'endroit où elle avait été construite à celle où elle sera lancée? La navette ne peut pas 25 00:02:14,200 --> 00:02:18,780 tenir dans un camion, elle doit donc être décomposée et transportée à l'aide de plusieurs 26 00:02:18,780 --> 00:02:23,099 camions. Ils pourraient tous emprunter des itinéraires différents et se rendre à destination à des moments différents. 27 00:02:23,099 --> 00:02:28,109 Mais une fois que toutes les pièces sont là, vous pouvez les réassembler et obtenir une 28 00:02:28,109 --> 00:02:34,329 navette complète et elle sera prête pour le lancement. Sur Internet, les détails fonctionnent de la même manière. 29 00:02:34,329 --> 00:02:40,090 Si vous souhaitez envoyer une très grande image à un ami ou la télécharger sur un site Web, 30 00:02:40,090 --> 00:02:44,819 cette image peut être composée de dizaines de millions de bits de 1 et de 0, trop nombreux pour être envoyés 31 00:02:44,819 --> 00:02:49,810 en un seul paquet. Comme il s'agit de données sur un ordinateur, l'ordinateur qui envoie l'image peut rapidement 32 00:02:49,810 --> 00:02:55,719 divisé en centaines voire en milliers de petites parties appelées paquets. Contrairement aux voitures 33 00:02:55,719 --> 00:03:00,230 ou aux camions, ces paquets n'ont pas de chauffeur et ne choisissent pas leur itinéraire. Chaque paquet 34 00:03:00,230 --> 00:03:04,650 a l'adresse internet d'où il vient et où il va. Des ordinateurs spéciaux 35 00:03:04,650 --> 00:03:09,430 sur Internet appelés routeurs agissent comme des gestionnaires de trafic pour maintenir la fluidité des paquets sur les réseaux. 36 00:03:09,430 --> 00:03:15,239 Si un itinéraire est encombré, des paquets individuels peuvent emprunter différents itinéraires 37 00:03:15,239 --> 00:03:20,370 via Internet et ils peuvent arriver à destination à des moments légèrement différents 38 00:03:20,370 --> 00:03:26,569 ou même en panne. Alors parlons de la façon dont cela fonctionne. Dans le cadre du protocole Internet, 39 00:03:26,569 --> 00:03:31,169 chaque routeur garde trace de plusieurs chemins pour l'envoi de paquets, et il choisit le moins cher 40 00:03:31,169 --> 00:03:37,079 chemin disponible pour chaque donnée en fonction de l'adresse IP de destination du paquet. 41 00:03:37,079 --> 00:03:42,120 Le moins cher dans ce cas ne signifie pas le coût, mais le temps et des facteurs non techniques comme la politique 42 00:03:42,120 --> 00:03:47,499 et les relations entre entreprises. Souvent, le meilleur itinéraire pour la transmission des données n’est pas nécessairement 43 00:03:47,499 --> 00:03:53,150 le plus direct. Avoir des options pour les chemins rend le réseau tolérant aux pannes. Ce qui signifie 44 00:03:53,150 --> 00:03:57,700 que le réseau peut continuer à envoyer des paquets même si quelque chose se passe horriblement, terriblement mal. 45 00:03:57,700 --> 00:04:04,849 C'est la base d'un principe clé d'Internet: la fiabilité. Maintenant, si vous voulez 46 00:04:04,849 --> 00:04:09,349 demander des données et que tout n’est pas livré? Mettons que vous voulez écouter une chanson. 47 00:04:09,349 --> 00:04:14,829 Comment pouvez-vous être sûr à 100% que toutes les données seront livrées afin que la chanson joue parfaitement? 48 00:04:14,829 --> 00:04:21,440 Voici votre nouveau meilleur ami, TCP (Transmission Control Protocol). TCP gère l'envoi 49 00:04:21,440 --> 00:04:26,530 et la réception de toutes vos données sous forme de paquets. Imaginez le comme une assurance de réception de courrier. 50 00:04:26,530 --> 00:04:31,669 Lorsque vous demandez une chanson sur votre appareil, Spotify envoie une chanson divisée en plusieurs paquets. 51 00:04:31,669 --> 00:04:37,210 Lorsque vos paquets arrivent, TCP fait un inventaire complet et renvoie les accusés de réception 52 00:04:37,210 --> 00:04:42,840 de chaque paquet reçu. Si tous les paquets sont là, TCP signe pour votre livraison et vous avez 53 00:04:42,840 --> 00:04:54,819 terminé. Si TCP s'aperçoit qu'il manque certains paquets, il ne signera pas, sinon votre 54 00:04:54,819 --> 00:04:59,930 chanson ne sonne pas aussi bien ou des parties de la chanson pourraient être manquantes. Pour chaque paquet manquant 55 00:04:59,930 --> 00:05:05,930 ou incomplet, Spotify les renverra. Une fois que TCP valide la livraison des nombreux paquets 56 00:05:05,930 --> 00:05:13,370 pour cette requête, votre chanson commencera à jouer. Ce qui est génial avec les systèmes TCP 57 00:05:13,370 --> 00:05:19,220 et routeur, c'est qu'ils sont évolutifs. Ils peuvent travailler avec 8 ou 8 milliards d'appareils. En fait, 58 00:05:19,220 --> 00:05:23,449 en raison de ces principes de tolérance aux pannes et de redondance, plus nous ajoutons de routeurs, plus internet 59 00:05:23,449 --> 00:05:28,069 devient fiable. Ce qui est également génial, c’est que nous pouvons développer et faire évoluer Internet. 60 00:05:28,069 --> 00:05:34,379 sans interrompre le service pour quiconque l’utilise. Internet est constitué de centaines de milliers 61 00:05:34,379 --> 00:05:39,280 de réseaux et des milliards d'ordinateurs et de périphériques connectés physiquement. Ces différents 62 00:05:39,280 --> 00:05:44,360 systèmes qui composent Internet se connectent les uns aux autres, communiquer entre vous, 63 00:05:44,360 --> 00:05:51,289 et travailler ensemble en raison de normes convenues sur la manière dont les données sont envoyées sur Internet. 64 00:05:51,289 --> 00:05:56,000 Les appareils informatiques, ou les routeurs sur Internet, aident tous les paquets à se rendre au 65 00:05:56,000 --> 00:06:02,789 destination où ils sont réassemblés, si nécessaire, dans l’ordre. Cela se produit des milliards 66 00:06:02,789 --> 00:06:08,889 de fois par jour, que vous envoyiez un courrier électronique ou visitiez une page Web, faire 67 00:06:08,889 --> 00:06:13,870 un chat vidéo, en utilisant une application mobile, ou lorsque des capteurs ou des appareils sur Internet 68 00:06:13,870 --> 00:06:14,910 se parlent.