-
[song counts down: 7, 6, 5, 4, 3, 2, 1] Het internet:
pakketjes, routing, en betrouwbaarheid
-
Hallo, ik heet Lynn. Ik ben een software-engineer
bij Spotify en ik zal als eerste toegeven dat ik vaak
-
de betrouwbaarheid van het internet als
vanzelfsprekend beschouw. De enorme hoeveelheid
-
informatie die over het internet wordt verplaatst is adembenemend.
Maar hoe is het mogelijk dat elk stukje data op een betrouwbare
-
wijze wordt geleverd? Stel je wilt bijvoorbeeld een nummer afspelen
vanuit Spotify. Het lijkt erop dat je computer direct verbinding maakt
-
met de servers van Spotify en dat Spotify je een
nummer via een directe, speciale lijn stuurt.
-
Maar zo werkt het internet niet. Als het internet
uit directe, speciale verbindingen bestond, dan
-
zou het onmogelijk zijn geweest om alles te
laten werken terwijl miljoenen gebruikers
-
gaan meedoen. Vooral omdat er geen garantie
dat elke kabel en computer constant functioneren.
-
In plaats daarvan reist data in een veel
directe manier over het internet.
-
Lang geleden, in de vroege jaren zeventig
begonnen mijn partner Bob Kahn en ik te
-
werken aan het ontwerp van wat we nu het
internet noemen. Bob en ik hadden de
-
verantwoordelijkheid en kans om de protocollen
en archtectuur ervan te ontwerpen. We volharden
-
in het deelnemen in de groei en evolutie ervan
al die tijd tot de dag van vandaag.
-
De wijze waarop informatie van de ene computer
wordt overgebracht naar een andere is
-
best wel interessant. Het hoeft geen vast route
te volgen, sterker nog, je route kan midden in
-
een conversatie tussen twee computers veranderen.
Informatie op het internet verplaatst zich op het internet
-
van de ene computer naar de andere in een informatiepakket,
en een pakket reist van de ene plek naar een ander zoals
-
jij reist om van de ene plek naar de
naar de andere in een auto.
-
Afhankelijk van de file of wegcondities,
kun je er misschien voor kiezen of
-
worden gedwongen aan andere route te nemen
om naar dezelfde plek te gaan elke keer als je reist.
-
En net als je allerlei spullen kunt vervoeren in een
auot, kun je veel soorten digitale informatie verzenden
-
via IP-pakketen, maar er zijn enkele beperkingen.
Wat als je bijvoorbeeld een ruimteveer van de
-
bouwplaats naar de lanceerplek wilt vervoeren.
Het ruimteveer zal niet in één vrachtwagen passen
-
en moet in stukken worden gebruiken, en worden
in een konvooi worden getransporteerd.
-
De vrachtwagens kunnen allemaal verschillende
routes nemen op verschillende tijden op de
-
bestemming aankomen. Maar zodra alle stukken
daar zijn, kun je het ruimteveer weer
-
in elkaar zetten en lanceren. De details op het
internet werken op soortgelijke wijze. Als
-
je een grote afbeelding hebt die je naar
een vriend wilt sturen of wilt uploaden,
-
dan kan het zijn dat die afbeelding uit miljoenen
bits van enen en nullen bestaat; te veel om in één
-
pakket te sturen. Aangezien het data op een computer
is, kan de verzendende computer de afbeelding
-
snel afbreken tot honderden of zelfs duizenden
deeltjes die we pakketten noemen. In tegenstelling
-
tot auto's of vrachtwagens hebben deze pakketten
geen bestuurders en kiezen zij hun route niet.
-
Elk pakket heeft het internetadres van de verzender en
de bestemming. Speciale computers, die we routers
-
noemen, fungeren als verkeersbeheerders om
de pakketten probleemloos door de netwerken
-
te begeleiden. Als één route file heeft, dan
kunnen andere pakketten een andere route
-
nemen over het internet en kunnen ze op wat
afwijkende tijden of niet op volgorde aankomen
-
op de bestemming. Laten we uitleggen hoe
dit werkt. Als onderdeel van het internetprotocol,
-
houd elke router meerdere routes voor het
verzenden van pakketten bij, en kiest het de
-
goedkoopste route voor elk stuk data gebaseerd
op het doel IP-adres voor het pakket.
-
Goedkoopste gaat niet over kosten, maar
over tijd en niet-technische factoren zoals
-
beleid en relatie tussen bedrijven. Vaak is de beste
reisroute voor data niet noodzakelijkerwijs
-
de meest directe. Het hebben van route-opties
maakt het netwerk tolerant bij fouten.
-
Dat betekent dat het netwerk pakketten
kan blijven verzenden zelfs als er iets
-
helemaal mis gaat. Dat is het belangrijkste
principe van de betrouwbaarheid. Wat als
-
je wat data wilt verzoeken en niet alles
wordt geleverd? Stel dat je naar een nummer
-
wilt luisteren. Hoe kun je 100% zeker zijn dat
alle data wordt geleverd zodat het nummer perfect
-
wordt afgedraaid? Maak kennis met je nieuwe beste vriend, TCP
(transmission control protocol). TCP beheerd
-
het verzenden en ontvangen van al je data als pakketten.
Zie het als aangetekende post.
-
Als je een nummer verzoekt op je apparaat, dan stuurt Spotify
een nummer in heel veel pakketjes op.
-
Als je pakketjes arriveren, voert TCP een
complete inventaris uit en stuurt een
-
bevestiging van elk ontvangen pakketje terug.
Als alle pakketjes er zijn, tekent TCP voor ontvangst
-
en ben je klaar. (muziek) Als TCP ontdekt dat sommige
pakketjes ontbreken, zal het niet tekenen, anders
-
zou je nummer niet goed klinken omdat er delen
ontbreken. Elk ontbrekend of incompleet
-
pakket, wordt opnieuw verzonden door Spotify.
Zodra TCP de ontvangst van veel pakketjes voor
-
dat nummer verifiëert, wordt je nummer
afgespeeld. Wat zo leuk is aan TCP
-
en routersystemen, is dat ze aanpasbaar
zijn. Ze kunnen met 8 of 8 miljard apparaten
-
werken. In feite is het zo dat vanwege deze
principes van fouttolerantie en redundantie,
-
hoe meer routers we toevoegen, hoe betrouwbaarder
het internet wordt. Wat ook prachtig is, is dat we kunnen
-
het internet kunnen laten groeien en aanpassen zonder
dat de service voor iemand wordt onderbroken. Het internet
-
bestaat uit honderdduizenden netwerken en miljarden
computers en apparaten fysiek met elkaar verbonden.
-
Deze verschillende systemen zijn het die ervoor zorgen
dat het internet verbinding maakt, en met elkaar laat
-
communiceren en samenwerken vanwege overeengekomen
standaarden over hoe data over het internet wordt verzonden.
-
Computers, of routers op het internet helpen
alle pakketten hun weg te vinden naar hun
-
bestemming waar ze weer in elkaar worden gezet,
indien nodig, op volgorde. Dit gebeurd miljarden keren
-
per dag, of jij en anderen een e-mail
verzenden een webpagina bezoeken,
-
aan het videochatten zijn, een mobiele app gebruiken,
of als sensoren of apparaten op het internet met
-
elkaar spreken.