Hoe werkt DNS?

In dit artikel ga ik in op de werking van DNS. DNS staat voor Domain Name System of Domain Name Server. Waarschijnlijk heb je om deze pagina te bereiken links aangeklikt, of je hebt het adres van deze pagina direct in de adresbalk ingetypt, of een combinatie van beide. In elk geval weet je inmiddels dat je deze website kunt bereiken door naar het adres www.tekstenuitleg.net te gaan. Domeinnamen zoals tekstenuitleg.net, startpagina.nl, microsoft.com, etc zijn voor mensen erg handig, omdat ze gemakkelijk te onthouden zijn. Computers communiceren echter liever met getallen dan met woorden. Op het internet communiceren computers onderling aan de hand van IP adressen. Dit zijn unieke rijen getallen in de vorm xxx.xxx.xxx.xxx. Op elk drietal x–jes kan een getal staan tussen 0 en 255. Op internet, maar ook op andere TCP/IP netwerken is iedere computer (servers, thuiscomputers, laptops, mobiele apparaten, etc) voorzien van zijn eigen unieke IP adres. Op de website ip-adres.nl kun je zien wat het adres van de computer is waar je nu achter zit.

Mensen doen het liever met woorden en computers met getallen. Dat zorgt voor problemen, want we moeten of kiezen tussen beide, of een systeem hebben dat kan vertalen tussen domeinnamen en bijbehorende IP adressen. Dat is precies wat het domeinnaamsysteem doet.

Een name server bij bijvoorbeeld de internet provider zet domeinnamen om in ip adressen. Zo kun je door het gebruik van makkelijke namen zoals webhostingweb.nl, w3c.org en iana.org een webserver bereiken op een bepaald ip adres en aldaar (bijvoorbeeld) een website bekijken.

DNS, een gedistribueerd systeem

Het unieke aan het DNS systeem is zijn omvang en de enorme mate van distributie. Er zijn miljarden ip adressen in gebruik, er bestaan miljoenen domeinnamen en het aantal computers dat deze gegevens bijhoudt is ook enorm.

Het DNS systeem is een database met IP en domeinnaamgegevens die gedistribueerd is over een groot aantal computers wereldwijd. Deze computers (domain name servers) zorgen er gezamelijk voor dat overal ter wereld mensen op internet domeinnamen kunnen gebruiken in plaats van moeilijk te onthouden IP adressen om o.a. websites te bezoeken.

Een name server kun je zien als een grote tabel die domeinnamen op IP adressen projecteert. Voer je tekstenuitleg.net in in de adresbalk van je browser. Dan zal de DNS server bij jouw webhost gaan kijken welk IP hij opgeslagen heeft voor tekstenuitleg.net. Over dit proces meer op de volgende pagina. Een DNS server kent nooit alle domeinnamen. DNS servers werken samen en delen hun informatie.

  • Als een name server het ip adres van een bepaald domein niet kent, dan vraagt hij deze informatie aan een andere domain name server. Soms moet de name server die gebruikt wordt door jouw computer een meerdere andere name servers contacteren voordat er een bij zit die het ip adres bij een domeinnaam wél kent.
  • Als de name server het ip adres bij een domeinnaam te pakken heeft dan stuurt hij het ip adres terug naar degene die het ip heeft opgevraagd. Toen je een paar minuten geleden deze pagina opende met je browser kreeg de browser het IP adres van Tekstenuitleg.net aangereikt door de DNS server. De webbrowser kon vervolgens een verbinding aangaan met de webserver op het IP adres van Tekstenuitleg.net en deze pagina opvragen.

Zo werken de name servers binnen het DNS systeem samen om wereldwijd dagelijks miljarden domeinnamen om te zetten in ip adressen.

Elke domeinnaam heeft twee name servers waarin de ip-domein gegevens voor dat domein in staan. De name servers staan doorgaans bij de webhoster. Dat hoeft echter niet per sé. Je kunt als je wilt ook je eigen name server draaien of een andere partij uitkiezen om dit voor je te doen.

Het DNS proces

Als je surft over het internet maak je extensief gebruik van het DNS systeem. Of je nu inbelt met een 56K modem of gebruik maakt van een flitsende ADSL verbinding, er komt altijd een DNS aan te pas om de domeinnamen die je opvraagt om te zetten in ip adressen. Bij het surfen over het web communiceert de webbrowser met de DNS bij de internet provider. (Je kunt de adressen van de DNSen die jouw computer gebruikt vinden in Windows XP en 2000 door het commando ‘ipconfig /all’ in te typen in de command prompt).

Onderstaande opsomming geeft een globaal beeld van hoe het omzetten van een domeinnaam in een ip adres normaal gesproken gaat.

  1. De gebruiker typt de domeinnaam Tekstenuitleg.net in in de adresbalk van de browser of klikt op een link met daarin deze domeinnaam.
  2. Het TCP/IP protocol van de computer stuurt een aanvraag naar de DNS bij de internet provider.
  3. De DNS kijkt in zijn cache (tijdelijke opslagruimte) of-ie de domeinnaam kent.
  4. Als-ie dat kent stuurt-ie het bijbehorende ip adres terug naar de browser van de aanvrager. De browser kan nu contact leggen met het gegeven ip adres en aan de webserver aldaar vragen om een webpagina.

Het komt natuurlijk voor dat de DNS bij de internet provider een bepaalde domeinnaamnietkent. In dit geval wordt eenroot DNSgeraadpleegt. Een root DNS staat aan de top van de DNS hiërarchie en bevat informatie over alle top-level domeinen. Top-level domein wil zeggen ‘het laatste onderdeel van de domeinnaam’. Voorbeelden zijn .com, .net, .org, .edu, .gov, .nl, .de, .jp, etc. Een root server weet voor alle top-level domeinen welke DNSen deze top-level domeinen beheren.

  1. De gebruiker typt de domeinnaam Tekstenuitleg.net in in de adresbalk van de browser of klikt op een link met daarin deze domeinnaam.
  2. Het TCP/IP protocol van de computer stuurt een aanvraag naar de DNS bij de internet provider.
  3. De DNS kijkt in zijn cache (tijdelijke opslagruimte) of-ie de domeinnaam kent.
  4. Als-ie datnietkent stuurt-ie de aanvraag door naar een root DNS server. De root DNS server kijkt welke DNS de gegevens voor het .nl top-level domein beheert en stuurt hiervan het ip terug naar de DNS bij jouw provider.
  5. De DNS bij de internet provider stuurt het ip adres van de juiste DNS terug naar de browser van de gebruiker.
  6. De browser legt contact met de DNS op het gegeven ip adres.
  7. Deze DNS weet wél het ip adres van Tekstenuitleg.net en geeft dit door aan de browser.
  8. De browser legt contact met de webserver op het gegeven ip.

Hoe DNS onderhouden wordt

Het domeinsysteem kent miljoenen domeinnamen die gekoppeld zijn aan miljoenen computers. Het unieke van het systeem is dat het gedistribueerd is. Een site eigenaar zorgt zelf dat het domein van de website aan het juiste ip adres gekoppeld is. Er is echter wel enige sturing nodig om het systeem draaiende te houden. Zo moet er vooral op gelet worden dat domeinnamen altijd uniek zijn.

Per top-level domein is er een organisatie die hiervoor zorg draagt. Zo onderhoudt Verisign het .com TLD en de Stichting Internet Domein Registratie Nederland is verantwoordelijk voor het .nl ccTLD (country code Top Level Domain).

ICANN (Internet Corporation for Assigned Names and Numbers) is de overkoepelende organisatie en in feite de eindverantwoordelijke voor de correcte werking van het domeinnaamsysteem. Ook accrediteert ICANN organisaties die op willen treden als registreerder. Hiervoor stelt het eisen op het gebied van technische infrastructuur, kennis en financiën.

Concluderend kun je zeggen dat op laag niveau registranten zelf de correcte werking van hun domein verzorgen door het bijhouden van de bijbehorende DNS servers. Dit zijn meestal webhosting en domeinnaamregistie bedrijven, maar een webmaster kan ook zelf zijn eigen DNS draaien.

Aan de bovenkant van de piramide staat de organisatie die zorg draagt voor een bepaald top-level domein of zone.

Meer informatie over DNS

Op de volgende sites vind je meer informatie over de werking en de organisatie van het domeinnaamsysteem.

ICANN

De Internet Corporation for Assigned Names and Numbers is verantwoordelijke voor het onderhouden en regelen van het domeinnaamsysteem. De organisatie zorgt ervoor dat elk adres uniek is en dat internetgebruikers alle bestaande adressen ook kunnen bereiken. Het doet dit door toe te zien op de distributie van domeinnamen en door ervoor dat alle domeinnamen gekoppeld zijn aan de juiste IP adressen.

> Meer informatie over ICANN

Internic

Internic is een website die bestuurd wordt door ICANN. Het doel van de site is informatie verschaffen rond domeinnaamregistratie. De Internic website biedt verschillende diensten zoals het zoeken van domeinnamen, het opnemen van klachten rond domeinregistratie en het zoeken naar contactgegevens van domeineigenaren.

> Meer informatie over Internic

Learntcpip

Twee video’s met visuele uitleg over hoe Domain Naming System (DNS) precies werkt.

Deel 1

Deel 2

DynDNS

DynDNS, een van de grootste (dynamic) DNS providers legt in hun internetguide uit hoe onder andere een DNS query werkt.

> Meer informatie