Hoe werkt het internet?

Vrijwel iedereen in Nederland maakt tegenwoordig dagelijks gebruik van het internet, maar wanneer we vragen hoe het internet precies in elkaar steekt en hoe het werkt zullen de meeste Nederlanders ons waarschijnlijk het antwoord schuldig moeten blijven. Een kleine les lijkt dan ook op zijn plaats.

Internetadressen

Het internet is een wereldwijd netwerk waarbij alle computers en apparaten die rechtstreeks op het netwerk zijn aangesloten gebruik maken van hetzelfde communicatieprotocol. Computers en apparaten die in verbinding staan met het netwerk hebben een eigen adres, het ip-adres. Het ip-adres is een uniek adres dat bestaat uit 4 series getallen van 0 tot en met 255 die worden gescheiden door een punt. Een voorbeeld van een ip-adres is 1.2.3.4 of 100.100.100.100 of 216.93.21.103.

Het ip-adres van een computer die verbonden is met het internet kan normaal gesproken niet zelf worden uitgekozen, maar het adres wordt toegewezen door de internetprovider. Sommige providers gebruiken daarbij statische ip-adressen, waardoor apparaten altijd hetzelfde ip-adres krijgen, en andere providers gebruiken dynamische ip-adressen, waardoor apparaten telkens als er verbinding wordt gemaakt een willekeurig ip-adres van de provider krijgen toegewezen.

De protocol stack

Een computer of apparaat dat is aangesloten op het internet kan met behulp van de protocollen tcp en ip communiceren met andere computers of apparaten die zijn aangesloten op het internet. Dit gebeurt met behulp van de zogenaamde protocol stack. Dit is een stapel die bestaat uit 4 lagen die die elk een eigen doel hebben en het bericht van computer of apparaat A versturen naar computer of apparaat B. De protocol stack ziet er als volgt uit:

Laag Doel
Applicatie In deze laag zitten protocollen die specifiek voor applicaties zijn bedoeld, bijvoorbeeld http of smtp
TCP/Transport De transport- of tcp-laag zorgt er door het gebruik van poortnummers voor dat informatie bij de juiste applicaties terecht komt
IP/Internet De internet- of ip-laag zorgt er met behulp van ip-adressen voor dat pakketjes met data bij de juiste computer terecht komen
Hardware De hardware-laag zorgt ervoor dat data wordt omgezet in signalen die verstuurd kunnen worden met bijvoorbeeld een netwerkkaart

 

Als we volgens het bovenstaande model een bericht willen versturen van computer A naar computer B, dan zal deze data aan zijn reis beginnen in de applicatielaag van computer A en vervolgens via de transportlaag en internetlaag naar de hardwarelaag gaan en vanuit daar naar het internet worden verstuurd. Vervolgens zal het bericht via de hardware-laag binnenkomen op computer B en daar via de internetlaag en transportlaag uiteindelijk in de applicatielaag terecht komen. De applicatie die computer B gebruikt kan het bericht nu gebruiken en tonen aan de gebruiker van computer B.

Het internet

We weten nu dus hoe informatie pakketjes met data van de ene computer naar de andere kunnen worden verstuurd, maar wat zit er tussen de computers? Wat is het internet precies en hoe reist een pakketje met data via het internet naar de juiste bestemming? Om hier antwoord op te geven kunnen we naar het volgende diagram kijken:

In deze versimpelde weergave zien we hoe het internet eigenlijk ook uit lagen is opgebouwd. De hoogste laag is de Internet Exchange, een soort van internetknooppunt waar de netwerken van vele providers en bedrijven samenkomen.

De verschillende lagen in het diagram worden gekoppeld door routers. Deze routers kennen alle ip-adressen van netwerken die zich “onder” de router bevinden en als er een pakketje wordt ontvangen met een onbekend ip-adres dan wordt het standaard naar een “hogere” laag gestuurd tot er een router is gevonden die het ip-adres kent. Zodra dat is gebeurd zal het pakketje weer aan zijn reis naar beneden beginnen tot het uiteindelijk op het juiste adres is afgeleverd.

DNS

Tot slot speelt ook de Domain Name Service of DNS een belangrijke rol op het internet. Deze service zorgt ervoor dat domeinnamen (zoals http://www.beautifulcode.nl) worden vertaald naar een ip-adres. De vertaalslag wordt gemaakt door DNS-servers, die een grote tabel of database hebben waarin domeinnamen en ip-adressen aan elkaar zijn gekoppeld.

De tabellen bevatten echter niet alle domeinnamen en ip-adressen, maar het systeem is net als het internet zelf hiërarchisch opgebouwd. Als een DNS-server het juiste adres zelf niet kan vinden, dan wordt het verzoek om een domeinnaam te vertalen doorgestuurd naar de volgende DNS-server, net zolang tot er een server is gevonden die de domeinnaam kan vertalen naar een ip-adres.