1 00:00:00,120 --> 00:00:07,950 [song counts down: 7, 6, 5, 4, 3, 2, 1] Het internet: pakketjes, routing, en betrouwbaarheid 2 00:00:07,950 --> 00:00:13,650 Hallo, ik heet Lynn. Ik ben een software-engineer bij Spotify en ik zal als eerste toegeven dat ik vaak 3 00:00:13,650 --> 00:00:18,970 de betrouwbaarheid van het internet als vanzelfsprekend beschouw. De enorme hoeveelheid 4 00:00:18,970 --> 00:00:23,170 informatie die over het internet wordt verplaatst is adembenemend. Maar hoe is het mogelijk dat elk stukje data op een betrouwbare 5 00:00:23,170 --> 00:00:29,080 wijze wordt geleverd? Stel je wilt bijvoorbeeld een nummer afspelen vanuit Spotify. Het lijkt erop dat je computer direct verbinding maakt 6 00:00:29,080 --> 00:00:33,989 met de servers van Spotify en dat Spotify je een nummer via een directe, speciale lijn stuurt. 7 00:00:33,989 --> 00:00:39,410 Maar zo werkt het internet niet. Als het internet uit directe, speciale verbindingen bestond, dan 8 00:00:39,410 --> 00:00:43,640 zou het onmogelijk zijn geweest om alles te laten werken terwijl miljoenen gebruikers 9 00:00:43,640 --> 00:00:48,050 gaan meedoen. Vooral omdat er geen garantie dat elke kabel en computer constant functioneren. 10 00:00:48,050 --> 00:00:53,350 In plaats daarvan reist data in een veel directe manier over het internet. 11 00:00:53,350 --> 00:01:01,210 Lang geleden, in de vroege jaren zeventig begonnen mijn partner Bob Kahn en ik te 12 00:01:01,210 --> 00:01:06,870 werken aan het ontwerp van wat we nu het internet noemen. Bob en ik hadden de 13 00:01:06,870 --> 00:01:14,790 verantwoordelijkheid en kans om de protocollen en archtectuur ervan te ontwerpen. We volharden 14 00:01:14,790 --> 00:01:20,000 in het deelnemen in de groei en evolutie ervan al die tijd tot de dag van vandaag. 15 00:01:20,000 --> 00:01:25,500 De wijze waarop informatie van de ene computer wordt overgebracht naar een andere is 16 00:01:25,500 --> 00:01:30,900 best wel interessant. Het hoeft geen vast route te volgen, sterker nog, je route kan midden in 17 00:01:30,900 --> 00:01:36,100 een conversatie tussen twee computers veranderen. Informatie op het internet verplaatst zich op het internet 18 00:01:36,100 --> 00:01:42,050 van de ene computer naar de andere in een informatiepakket, en een pakket reist van de ene plek naar een ander zoals 19 00:01:42,050 --> 00:01:46,360 jij reist om van de ene plek naar de naar de andere in een auto. 20 00:01:46,360 --> 00:01:51,420 Afhankelijk van de file of wegcondities, kun je er misschien voor kiezen of 21 00:01:51,420 --> 00:01:59,000 worden gedwongen aan andere route te nemen om naar dezelfde plek te gaan elke keer als je reist. 22 00:01:59,000 --> 00:02:03,980 En net als je allerlei spullen kunt vervoeren in een auot, kun je veel soorten digitale informatie verzenden 23 00:02:03,980 --> 00:02:10,359 via IP-pakketen, maar er zijn enkele beperkingen. Wat als je bijvoorbeeld een ruimteveer van de 24 00:02:10,359 --> 00:02:14,200 bouwplaats naar de lanceerplek wilt vervoeren. Het ruimteveer zal niet in één vrachtwagen passen 25 00:02:14,200 --> 00:02:18,780 en moet in stukken worden gebruiken, en worden in een konvooi worden getransporteerd. 26 00:02:18,780 --> 00:02:23,099 De vrachtwagens kunnen allemaal verschillende routes nemen op verschillende tijden op de 27 00:02:23,099 --> 00:02:28,109 bestemming aankomen. Maar zodra alle stukken daar zijn, kun je het ruimteveer weer 28 00:02:28,109 --> 00:02:34,329 in elkaar zetten en lanceren. De details op het internet werken op soortgelijke wijze. Als 29 00:02:34,329 --> 00:02:40,090 je een grote afbeelding hebt die je naar een vriend wilt sturen of wilt uploaden, 30 00:02:40,090 --> 00:02:44,819 dan kan het zijn dat die afbeelding uit miljoenen bits van enen en nullen bestaat; te veel om in één 31 00:02:44,819 --> 00:02:49,810 pakket te sturen. Aangezien het data op een computer is, kan de verzendende computer de afbeelding 32 00:02:49,810 --> 00:02:55,719 snel afbreken tot honderden of zelfs duizenden deeltjes die we pakketten noemen. In tegenstelling 33 00:02:55,719 --> 00:03:00,230 tot auto's of vrachtwagens hebben deze pakketten geen bestuurders en kiezen zij hun route niet. 34 00:03:00,230 --> 00:03:04,650 Elk pakket heeft het internetadres van de verzender en de bestemming. Speciale computers, die we routers 35 00:03:04,650 --> 00:03:09,430 noemen, fungeren als verkeersbeheerders om de pakketten probleemloos door de netwerken 36 00:03:09,430 --> 00:03:15,239 te begeleiden. Als één route file heeft, dan kunnen andere pakketten een andere route 37 00:03:15,239 --> 00:03:20,370 nemen over het internet en kunnen ze op wat afwijkende tijden of niet op volgorde aankomen 38 00:03:20,370 --> 00:03:26,569 op de bestemming. Laten we uitleggen hoe dit werkt. Als onderdeel van het internetprotocol, 39 00:03:26,569 --> 00:03:31,169 houd elke router meerdere routes voor het verzenden van pakketten bij, en kiest het de 40 00:03:31,169 --> 00:03:37,079 goedkoopste route voor elk stuk data gebaseerd op het doel IP-adres voor het pakket. 41 00:03:37,079 --> 00:03:42,120 Goedkoopste gaat niet over kosten, maar over tijd en niet-technische factoren zoals 42 00:03:42,120 --> 00:03:47,499 beleid en relatie tussen bedrijven. Vaak is de beste reisroute voor data niet noodzakelijkerwijs 43 00:03:47,499 --> 00:03:53,150 de meest directe. Het hebben van route-opties maakt het netwerk tolerant bij fouten. 44 00:03:53,150 --> 00:03:57,700 Dat betekent dat het netwerk pakketten kan blijven verzenden zelfs als er iets 45 00:03:57,700 --> 00:04:04,849 helemaal mis gaat. Dat is het belangrijkste principe van de betrouwbaarheid. Wat als 46 00:04:04,849 --> 00:04:09,349 je wat data wilt verzoeken en niet alles wordt geleverd? Stel dat je naar een nummer 47 00:04:09,349 --> 00:04:14,829 wilt luisteren. Hoe kun je 100% zeker zijn dat alle data wordt geleverd zodat het nummer perfect 48 00:04:14,829 --> 00:04:21,440 wordt afgedraaid? Maak kennis met je nieuwe beste vriend, TCP (transmission control protocol). TCP beheerd 49 00:04:21,440 --> 00:04:26,530 het verzenden en ontvangen van al je data als pakketten. Zie het als aangetekende post. 50 00:04:26,530 --> 00:04:31,669 Als je een nummer verzoekt op je apparaat, dan stuurt Spotify een nummer in heel veel pakketjes op. 51 00:04:31,669 --> 00:04:37,210 Als je pakketjes arriveren, voert TCP een complete inventaris uit en stuurt een 52 00:04:37,210 --> 00:04:42,840 bevestiging van elk ontvangen pakketje terug. Als alle pakketjes er zijn, tekent TCP voor ontvangst 53 00:04:42,840 --> 00:04:54,819 en ben je klaar. (muziek) Als TCP ontdekt dat sommige pakketjes ontbreken, zal het niet tekenen, anders 54 00:04:54,819 --> 00:04:59,930 zou je nummer niet goed klinken omdat er delen ontbreken. Elk ontbrekend of incompleet 55 00:04:59,930 --> 00:05:05,930 pakket, wordt opnieuw verzonden door Spotify. Zodra TCP de ontvangst van veel pakketjes voor 56 00:05:05,930 --> 00:05:13,370 dat nummer verifiëert, wordt je nummer afgespeeld. Wat zo leuk is aan TCP 57 00:05:13,370 --> 00:05:19,220 en routersystemen, is dat ze aanpasbaar zijn. Ze kunnen met 8 of 8 miljard apparaten 58 00:05:19,220 --> 00:05:23,449 werken. In feite is het zo dat vanwege deze principes van fouttolerantie en redundantie, 59 00:05:23,449 --> 00:05:28,069 hoe meer routers we toevoegen, hoe betrouwbaarder het internet wordt. Wat ook prachtig is, is dat we kunnen 60 00:05:28,069 --> 00:05:34,379 het internet kunnen laten groeien en aanpassen zonder dat de service voor iemand wordt onderbroken. Het internet 61 00:05:34,379 --> 00:05:39,280 bestaat uit honderdduizenden netwerken en miljarden computers en apparaten fysiek met elkaar verbonden. 62 00:05:39,280 --> 00:05:44,360 Deze verschillende systemen zijn het die ervoor zorgen dat het internet verbinding maakt, en met elkaar laat 63 00:05:44,360 --> 00:05:51,289 communiceren en samenwerken vanwege overeengekomen standaarden over hoe data over het internet wordt verzonden. 64 00:05:51,289 --> 00:05:56,000 Computers, of routers op het internet helpen alle pakketten hun weg te vinden naar hun 65 00:05:56,000 --> 00:06:02,789 bestemming waar ze weer in elkaar worden gezet, indien nodig, op volgorde. Dit gebeurd miljarden keren 66 00:06:02,789 --> 00:06:08,889 per dag, of jij en anderen een e-mail verzenden een webpagina bezoeken, 67 00:06:08,889 --> 00:06:13,870 aan het videochatten zijn, een mobiele app gebruiken, of als sensoren of apparaten op het internet met 68 00:06:13,870 --> 00:06:14,910 elkaar spreken.