3/4: Hoe werkt het internet?

25-03-2022

6 minuten

Jeanine

Binaire code is niet iets waar je dagelijks direct mee te maken hebt. Toch is het overal om je heen. Zonder zou het internet namelijk ook niet kunnen bestaan. Maar hoe is het internet ontstaan en hoe zit het eigenlijk in elkaar?
laptop

Een kort stukje geschiedenis

Het internet zoals we het vandaag de dag kennen, is bedacht in de Verenigde Staten. In de jaren 70 wilde het ministerie van Defensie daar een systeem ontwikkelen dat niet afhankelijk was van 1 centrale plek. Een risico hiervan is namelijk dat het hele systeem plat komt te liggen als het wordt aangevallen door een nucleaire raket, een realistisch gevaar toentertijd. Daarom wilden ze een gedecentraliseerd systeem. Daarom bedachten ze het ARPAnet. Dit werd uiteindelijk het internet.

Het versturen van informatie

Het mooie aan het internet is dus dat er geen 1 centrale plek van controle is. Het bestaat uit heel veel netwerken en computers die aan elkaar verbonden zijn. Als een deel daarvan wegvalt door een aanval of een fout, kan het nog steeds werken.

Het internet werkt eigenlijk net zoals post. Maar in plaats van brieven en pakketjes wordt er binaire code verstuurd. En we versturen dit op drie manieren:

1.     Elektriciteit

2.     Licht

3.     Radio

Elektriciteit

De eerste manier waarop we data van de ene naar de andere computer versturen, is door elektriciteit via koperen kabels. Denk hierbij aan een ethernetkabel die je in je computer kunt stoppen. Deze kabels zijn relatief goedkoop, maar hoe langer de kabel is, hoe meer signaal je verliest en hoe slechter de verbinding dus wordt. Als je dus data naar de andere kant van de wereld wilt versturen, zijn dit soort kabels niet de meest geschikte optie. Daarom hebben we nog een tweede manier: licht.

Licht

Licht is ontzettend snel, veel sneller dan elektriciteit, en signaalverlies is minimaal. Het licht wordt door middel van glasvezelkabels verstuurd. Deze kabels zijn over de hele wereld te vinden zodat iedereen met elkaar kan communiceren. Er zijn zelfs kabels in de oceanen gelegd! Ontzettend handig dus, maar jammer genoeg ook heel duur en moeilijk in de omgang. Daarom worden koperen elektriciteitskabels vandaag de dag ook nog steeds heel veel gebruikt.

Op deze map kun je zien hoeveel kabels er wel niet verspreid over de wereld zijn gelegd om iedereen met elkaar in verbinding te brengen via het internet! Je kunt de map zelf bekijken via https://var/www/nlyoun-rauthpara/wordpress/current.submarinecablemap.com/

Er is nog een derde methode die we gebruiken waar je vast en zeker ook wel bekend mee bent: draadloos.

Radio

Om binaire code draadloos te versturen, maken we gebruik van radiogolven. Als je data wil versturen naar een ander apparaat, vertaalt jouw telefoon of laptop die eentjes en nulletjes eerst naar radiogolven. De ontvanger, een andere telefoon of laptop, vertaalt die radiogolven weer naar eentjes en nulletjes. Deze radiogolven worden verstuurd via verschillende frequenties, AM en FM. Maar, net zoals elektriciteit verlies je al snel bereik. Daarom zijn we vandaag de dag nog steeds afhankelijk van internet via kabels. Als jij verbonden bent met een WiFi-netwerk en data verstuurd, gaat de data eerst naar de router waar je via het WiFi-netwerk aan bent verbonden. Daarna wordt de data via de kabels waar de router aan verbonden is verder verstuurd.

We weten nu dus hoe data wordt verstuurd, maar hoe weten we dat het bij de juiste apparaten terecht komt?

Internetadressen

Wanneer je een pakketje verstuurd, heb je een adres nodig om te weten waar je het pakketje naartoe kunt sturen. Dit geldt ook voor binaire data. Elk apparaat dat verbonden is aan het internet, heeft een adres. Dit noemen we een IP-adres. Maar het zijn niet alleen telefoons, computers en laptops die een IP-adres hebben. Ook servers hebben een IP-adres. Servers zijn onder andere computers waar alle bestanden te vinden zijn die nodig zijn om een website te kunnen laten zien. Een website zoals instagram.com heeft dus ook een IP-adres.

IP staat voor Internet Protocol. Een protocol is een lijst regels en standaarden die machines aanhouden om met elkaar te communiceren. Als elk apparaat dezelfde protocollen aanhoudt, kunnen ze zonder problemen met elkaar communiceren.

Maar, alle IP-adressen van alle websites die je bezoekt zelf onthouden, is natuurlijk onmogelijk. Daarom hebben we de DNS, of Domain Name System. Dit systeem weet welk IP-adres bij welke website hoort zodat je altijd op de juiste plek terecht komt.

Een abstracte representatie van het DNS proces. In de werkelijkheid gebeurt er veel meer achter de schermen, maar dit geeft de basis van het proces duidelijk weer.

We hebben het net ook al gehad over data versturen via WiFi en de router. Deze heb jij thuis ook. De router is weer verbonden met een ISP, wat staat voor Internet Service Provider. Deze verbindt jou met talloze andere apparaten zodat je daar data naartoe kunt sturen en van kunt ontvangen. In Nederland hebben we onder andere KPN, T-Mobile en Ziggo die dit voor ons regelen. 

HTTP en HTML

Zoals we net al uitlegden, staat alle informatie van een website op een server. Een website bezoeken is dus eigenlijk gewoon jouw apparaat, zoals een telefoon, die aan een ander apparaat om de informatie vraagt die nodig is om de website te laten zien. Dit klinkt allemaal heel simpel: je typt de website in op de adresbalk in je browser en komt daarna op de website terecht. Maar wat gebeurt er achter de schermen tussen de verschillende apparaten die dit mogelijk maken? 

Wanneer jij de website in de adresbalk hebt ingetypt, gaat jouw webbrowser praten met een server in een bepaalde taal. Deze taal heet HTTP. Dit staat voor HyperText Transfer Protocol. De server stuurt weer data terug die je nodig hebt om de website te kunnen zien en gebruiken. Een groot deel van die informatie bestaat uit HTML-code.

HTML staat voor HyperText Markup Language. HTML laat de structuur en tekst van een pagina zien. Andere vormen van informatie die worden meegestuurd zijn bijvoorbeeld afbeeldingen en video’s. Maar naast het ontvangen van informatie van de server kun jij ook weer informatie naar de server sturen. Wanneer je bijvoorbeeld je inloggegevens invoert en op ‘inloggen’ klikt, worden deze gegevens opgestuurd naar de server zodat gecheckt kan worden of alles klopt. Zo ja, dan stuurt de server weer informatie terug naar jou toe, bijvoorbeeld een pagina.

De data versturen

Wanneer jij data wil versturen naar een ander apparaat gebeurt dit niet rechtstreeks van jouw telefoon naar de server. Die data kan vele routes nemen. Ook wordt de data die je verstuurd niet in zijn geheel verstuurd maar in kleine stukjes ofwel pakketjes gehakt.

Net zoals in het verkeer kan de route die je data neemt halverwege veranderen, omdat er ergens bijvoorbeeld file is, of in dit geval een overbelast deel van je route. Zo zou je het ook kunnen zien met het versturen van data. Welke route de data neemt wordt grotendeels bepaald door routers die beslissen wat de beste route voor de data is om te nemen.

De oranje pakketjes in deze abstracte representatie zijn de pakketjes die beide richtingen opgaan. Er wordt informatie opgevraagd door jouw apparaat en daarna informatie geleverd door bijvoorbeeld een server.

Omdat de data in stukjes bij het apparaat aankomt, moet er gecontroleerd worden of alle stukjes zijn aangekomen. Deze controle wordt uitgevoerd door het Transmission Control Protocol. Mocht er wat missen, dan wordt de rest van de informatie opgevraagd. 

Soms is de informatie die je verstuurt heel algemeen, maar soms bevat die informatie gevoelige gegevens, zoals je wachtwoord of bankgegevens. Deze informatie willen we natuurlijk beschermen van mensen met slechte bedoelingen. Daarom gaan we in de volgende blogpost wat meer in over cybersecurity, de beveiliging van het internet.

Jeanine

Jeanine

Jeanine is visual designer, editor en programmeerenthousiast met een passie voor front-end technologie.