Waarom werkt het internet op ip-adressen?

Dimitri Tokmetzis
Correspondent Surveillance & Technologie

Naar aanleiding van mijn explainer over het adresboek van het internet, het Domain Name System, stuurde lezer Ernst Anepool een reactie in over de noodzaak van ip-adressen. Want waarom werkt internet op deze nummers?

Leuk zo’n schreef lezer Ernst Anepool gisteren, maar je vergeet iets cruciaals uit te leggen: waarom werkt het internet überhaupt met ip-adressen? Ieder op internet aangesloten apparaat heeft een uniek nummer waardoor het vindbaar is voor andere apparaten. Hierbij een update, geschreven door Anepool, over waarom deze nummers worden gebruikt.

In de jaren zeventig, toen het internet nog ARPANET heette, werden ip-adressen handmatig verdeeld en aan namen gekoppeld. In het Network Information Center (NIC) van het Stanford Research Institute hield Jon Postel die eerste database met de hand bij. Vanwege de groei van het internet was dit begin jaren tachtig niet meer te doen. Ook het grote aantal aanvragen voor ip-adressen liet de server van Stanford ‘vastlopen.’

De Amerikaanse computerwetenschapper Paul Mockapetris ontwierp daarom in 1983 een gedistribueerde database: je kon op verschillende servers ip-adressen omzetten in domeinnamen. Al die servers bij elkaar vormden het Domain Name System (DNS). Sinds 1998 wordt dat door ICANN beheerd.

De Correspondent; Weesperzijde 94 Amsterdam

Al die verspreide adresboeken leidden echter tot een belangrijk probleem. Ieder ip-adres en iedere domeinnaam móet uniek blijven. Hoe zorg je er dan voor dat de informatie die op de verschillende servers staat altijd overeenkomt en actueel is? En dat die informatie klopt? De oplossing was een hiërarchie van taken en databases.

Maar waarom eigenlijk ip-adressen in plaats van de namen? In de begindagen van internet was het versturen van een netwerkpakket een traag proces. Om dat te stroomlijnen, werden de ip-adressen bedacht. De computer hoeft niet te kijken hoe lang het adres is, maar weet dat het altijd xxx.xxx.xxx.xxx ook al is de naam die eraan verbonden is heel lang, zoals bijvoorbeeld www.zoek.officiële-bekendmakingen.nl.

Bijkomend voordeel is dat al die triljoenen pakketjes die tussen miljoenen servers over de wereld heen en weer flitsen heel efficiënt gesorteerd kunnen worden. Een server hoeft niet heel het adres te lezen, maar kijkt als het ware alleen naar het eerste stuk van het adres en weet dan al waar het pakketje heen moet. Dit werkt net als bij postcodes. Neem dat van De Correspondent: 10.91.EK.94 (net als een IP-adres). Bij het lezen van 10 weet je dat het in Amsterdam is, 91 is de Weesperzijde, en EK is het stukje Weesperzijde 86-94, 94 is dan de brievenbus van De Correspondent.

De server hoeft dus niet van ieder pakketje te kijken waar het heen moet. Het routergedeelte, zeg maar de postkamer, hoeft alleen maar te kijken naar het eerste stukje van het ip-adres (octet 0-255) om te weten of hij het in zijn eigen ‘stad’ thuishoort. Zo niet, dan wordt het pakket doorgestuurd. De router hoeft alleen maar iets op zijn eigen onderliggende netwerk te bezorgen als de eerste 3 octets (192.168.001.xxx) overeenkomen.

De eerste 3 octets vormen fysiek een ‘afgesloten’ netwerk en de computers kunnen alleen daarbinnen met elkaar communiceren. Zodra je meer dan 254 computers op je netwerk hebt, heb je dus een router nodig, die de pakketjes naar het andere netwerk doorstuurt. Omdat het internet uit een gigantisch aantal netwerken bestaat, werkt dat veel sneller dan wanneer iedere router steeds de hele url zou moeten lezen en doorsturen. Hij hoeft eigenlijk alleen maar te kijken of het pakket voor zijn netwerk bedoeld is.

Zo doet de post het ook. Die leest nooit een heel adres, maar kijkt alleen naar de postcode.