Het internet: IP-adressen en DNS
Hi! Ik ben Paola, en ik ben software-engineer bij
Microsoft. Laten we praten over hoe het internet werkt. Mijn werk is afhankelijk
van netwerken die met elkaar kunnen praten, maar in de jaren zeventig was
er hier geen standaard methode voor. Vint Cerf en Bob Kahn bedachten het internetwerk-protocol
zodat communicatie mogelijk werd. Deze uitvinding was het fundament voor wat we nu
het internet noemen. Het internet is een netwerk van netwerken. Het koppelt miljarden apparaten
wereldwijd aan elkaar. Dus misschien heb je verbinding via een laptop of telefoon via Wi-Fi,
dan zal die Wi-Fi-verbinding verbinding maken met een internet service provider (of ISP), en die
ISP verbindt jou met miljarden apparaten wereldwijd via honderdduizenden netwerken
die allemaal met elkaar zijn verbonden. Waar mensen niet bij stil staan is dat het
internet in feite een ontwerpfilosofie en een architectuur is uitgedrukt in een set
protocollen. Een protocol is een bekende set regels en standaarden, die, als alle
partijen ermee instemmen, hen in staat stelt probleemloos te communiceren. Hoe het
internet daadwerkelijk fysiek werkt is minder belangrijk dan het feit dat deze ontwerpfilosofie het internet
in staat heeft gesteld nieuwe technologieën aan te passen en absorberen. Dit komt doordat
als een nieuwe technologie gebruik wil maken van het internet het alleen maar moet weten
welke protocollen er gebruikt moeten worden. Alle verschillende apparaten op het internet hebben
een uniek adres. Een adres op het internet is slechts een nummer, zoals een telefoonnummer of een
soort woonadres, dat uniek is voor elke computer of apparaat aan de rand van het netwerk.
Dit lijkt op de postadressen van huizen en bedrijven. Je hoeft de persoon niet te kennen om hem een brief
via de post te sturen, maar je moet wel zijn adres weten en hoet het adres goed te schrijven zodat
de brief door de post naar zijn besteming kan worden gebracht.
Het adressysteem voor computers op het internet lijkt hierop en maakt deel uit van een van
de belangrijkste protocollen die worden gebruikt in communicatie op internet, oftewel het internetprotocol
of IP. Het adres van een computer wordt een IP-adres genoemd. Het bezoeken van een
website is niets anders dan jouw computer die aan een andere computer om informatie vraag. Je computer stuurt
een bericht naar het IP-adres van de computer en stuurt tevens zijn startadres, zodat de andere computer weet
waar het zijn antwoord naar toe moet sturen. Je hebt misschien wel eens een IP-adres gezien.
Het is een reeks aan cijfers. Deze cijfers worden georganiseerd in een hiërarchie. Zoals een woonadres
bestaat uit een land, stad, straat en huisnummer, zo bestaat ook een IP-adres uit delen. Net als
alle digitale data, wordt elk van deze cijfers weergegeven in bits. Traditionele IP-adressen zijn
32 bits lang, waarbij elk deel van het adres uit 8 bits bestaat. De eerste cijfers staan voor het land
en regionetwerk van het apparaat. Daarna volgen de subnetwerken, en als laatste het specifieke
adres van het apparaat. Deze versie van IP-adressen noemen we IPv4. Het werd in 1973 ontworpen
en werd in de vroege jaren tachtig grootschalig in gebruik genomen, en heeft meer dan 4 miljard
unieke adressen voor apparaten die verbinding maken met het internet. Maar het internet werd veel populairder
dan zelfs Vint Cerf dacht en 4 miljard unieke adressen
zal niet voldoende zijn. Wij zitten nu midden in meerjarige overgangsfase naar een langer formaat
IP-adres met de naam IPv6, dat 128 bits per adres gebuikt en heeft meer dan 340 sextiljoen
unieke adressen. Dat is meer dan genoeg voor elke zandkorrel op aarde om een eigen IP-adres
te hebben. De meeste gebruikers geven niets om hun internetadressen. Een systeem dat luistert naar de
naam domeinnaamsysteem of DNS, associeert namen zoals www.example.com met de bijbehorende
adressen. Je computer gebruikt de DNS om te zoeken naar domeinnamen en het bijbehorende IP-adres
dat wordt gebruikt om jouw computer te verbinden met de bestemming op het internet. En het
gaat een beetje zo: (stem 1) "Hey, hallo, ik wil naar www.code.org."
(stem 2) "Mm..wel, ik weet het IP-adres niet voor dat domein. Laat met verder vragen. Hey,
weet jij hoe naar code.org te gaan?" (stem 3) "Ja, ik heb het hier. Het is 174.129.14.120."
(stem 2) "Oh, ok, mooi, bedankt. Ik schrijf dat op en sla het op voor als ik
het later weer nodig heb. Hey! Hier is het adres dat je zocht. " (stem 2) "Geweldig! Bedankt."
Dus hoe ontwerpen we een systeem voor miljarden apparaten om een van de miljarden verschillende
websites te vinden? Geen enkele DNS-server kan al die verzoeken van alle apparaten aan.
Het antwoord is dat DNS-servers verbonden zijn in een gedistribueerde hiërarchie, en zijn
onderverdeeld in zones, waarbij de verantwoodelijkheid voor de hoofddomeinen zoals .org, .com, .net et cetera
is gesplitst. DNS werd oorspronkelijk ontworpen als open en openbaar communicatieprotocol voor overheids- en
onderwijsinstellingen. Vanwege deze openheid is DNS kwetsbaar voor cyberaanvallen.
Een voorbeeld is DNS-spoofing. Dat is als hacker een DNS-server kraakt en deze
verandert om een domeinnaam te laten horen bij het verkeerde IP-adres. Hierdoor kunnen
mensen naar een nepwebsite worden gestuurd. Als je dit overkomt, dan ben je kwetsbaar voor meer
problemen omdat je die nepwebsite gebruikt alsof het echt is. Het internet is enorm en
groeit elke dag, maar het domeinnaamsysteem en het internetprotocol zijn op schaal ontworpen,
ongeacht hoe groot het internet wordt.