1. Home
  2. Knowledge base
  3. Begrippenlijst
  4. Wat is DNS en hoe werkt het?

Wat is DNS en hoe werkt het?

Zonder het Domain Name System zouden de meeste mensen hopeloos verloren lopen op het internet. Het DNS zorgt ervoor dat we op de juiste plaats terechtkomen wanneer we naar een website surfen. Het is één van de belangrijkste onderdelen van het internet, en geen eitje om te begrijpen. Maar we doen ons stinkende best om bevattelijk uit te leggen wat het DNS precies is. En avant!

Domeinnamen

Om het DNS te begrijpen, moeten we eerst kort uitleggen hoe het internet werkt. Alle bestaande websites zijn te vinden op computers over de hele wereld. Al die computers (servers) hebben een unieke naam: een IP-adres. De server waar combell.com opstaat, heet bijvoorbeeld 217.21.190.142. Dat is het IP-adres van die server, en dus de plaats waar je beland als je combell.com intikt.

Maar we kunnen het erover eens zijn: IP-adressen zijn niet makkelijk te onthouden. Daarom bestaan domeinnamen. Die zorgen ervoor dat je geen lange rijen cijfers moet onthouden, maar gewoon een heel concrete naam. Zoals dus de domeinnaam combell.com in plaats van 217.21.190.142. Tikkie handiger, niet?

Een domeinnaam bestaat uit een second level domain (een naam) en een top level domain (een extensie), en eventueel een subdomein ervoor.

voorbeeld van een domeinnaam
voorbeeld van een domeinnaam

Wie bovenstaande domeinnaam intikt in z’n browser, zet een heel systeem in werking. Want achter de schermen gebruiken computers dus geen domeinnamen om elkaar te bereiken, maar IP-adressen. Daarom is het Domain Name System er: het zoekt op welk IP-adres er achter een bepaalde domeinnaam zit.

En als je ons niet gelooft: ook Wikipedia zegt dat. Maar iets minder duidelijk 😉.

Het Domain Name System (DNS) is het systeem en netwerkprotocol dat op het internet gebruikt wordt om namen van computers naar numerieke adressen (IP-adressen) te vertalen en omgekeerd.

Je gsm-contactenlijst

We hebben al uitgelegd dat het DNS ervoor zorgt dat je op de juiste plaats terechtkomt wanneer je een adres intikt in je browser. Dat werkt een beetje zoals je contactenlijst in je GSM.

Wanneer je een kennis wil bellen, onthoud je in de meeste gevallen niet het telefoonnummer, maar wel de naam van die kennis. Zo toets je die naam in in je GSM, en weet je GSM meteen welk telefoonnummer hij moet bellen. Vervang ‘de naam van je kennis’ door ‘domeinnaam’ en ‘telefoonnummer’ door ‘IP-adres’, en je begrijpt wat het DNS doet. Hoé het dat doet, da’s voor wat verder hieronder 😬.

DNS-zone

Als we de vergelijking met je contactenlijst nog even doortrekken, moeten we er ook op wijzen dat bepaalde mensen in die contactenlijst meerdere telefoonnummers kunnen hebben. Zo kan die vriend een vast telefoonnummer hebben, een telefoonnummer van zijn werk, en misschien zelfs een faxnummer. Enfin, wellicht heb je geen vrienden meer met faxnummers, maar laat ons dat gewoon voor het voorbeeld nemen.

Die verzameling van contactgegevens noemen we, als we ’t over DNS-gegevens hebben, een DNS-zone.

Voor combell.com zijn er bijvoorbeeld verschillende subdomeinen, met elk een IP-adres:

  • www.combell.com: 217.21.190.142
  • my.combell.com: 217.21.190.144
  • blog.combell.com: 178.208.48.66

Nog niet helemaal mee? Leer hier wat een subdomein is.

Alle DNS-gegevens (DNS-records) van deze websites zijn verzameld in een DNS-zone. Wanneer je dus DNS-records wil aanpassen, moet je in die DNS-zone zijn in het controlepaneel van je domeinnaam. Verder heeft die DNS-zone geen echte functie.

Voor alle duidelijkheid: een IP-adres is geen DNS-record. DNS-records zijn gegevens die je net hélpen om uit te zoeken welk IP-adres er aan een domein hangt. De verschillende DNS-records lees je hier wat verder.

DNS-records

Zoals gezegd zijn er een aantal verschillende onderdelen aan een website. Laten we er nog eens een concreet voorbeeld bij halen uit de ‘offline’ wereld.

Stel dat je een winkel, bijvoorbeeld ‘Detailhandel De Winkel’ wil bellen. Dan zijn daar misschien verschillende telefoonnummers voor, afhankelijk van waarvoor je belt.

Detailhandel De Winkel heeft verschillende nummers:

  • informatie: 058279127
  • klachtendienst: 058279128
  • administratie: 058279129

Aan de hand van die gegevens weet je welk nummer je moet bellen. Aan elke domeinnaam hangen ook zulke gegevens. Het DNS gebruikt die gegevens, om je op de juiste plaats te brengen.

Er zijn verschillende types DNS-records, zoals bijvoorbeeld MX-records. Die zorgen ervoor dat, als je een mail wil sturen naar een bepaald e-mailadres, die mail op de juiste server terechtkomt. Of A-records, die zorgen dat je op de juiste website terechtkomt wanneer je een domeinnaam intikt.

De drie meest gebruikte DNS-records zijn:

  • A-record
    • Dit is de meest duidelijke DNS-record: het linkt een domeinnaam aan een IP-adres.
    • Wie naar combell.com surft, komt door deze A-record terecht op de server met IP-adres 217.21.190.142, en krijgt zo dus een site te zien.
A-record:         combell.com         217.21.190.142
  • AAAA-record
    • Om het moeilijker te maken: IP-adressen bestaan in verschillende versies: IPv4 en IPv6. Een IP-adres volgens IPv4 ziet er vertrouwd uit (zoals 217.21.190.142), maar een IPv6-adres kan uit cijfers en letters bestaan. Zo zijn er met IPv6 meer unieke adressen mogelijk: dat is nodig wanneer het internet zo snel groeit.
    • Een A-record verwijst naar het IPv4-adres, terwijl een AAAA-record naar het IPv6-adres verwijst.
    • Wie naar combell.com surft, komt door deze AAAA-record terecht op de server met IPv6-adres 2a00:1c98:10:4::142.
AAAA-record:         combell.com         2a00:1c98:10:4::142
  • CNAME
    • Een CNAME-record (of Canonical Name Record) verwijst niet naar een IP-adres, maar naar een andere domeinnaam. Da’s handig wanneer je een subdomein hebt dat naar hetzelfde IP-adres mag verwijzen als je hoofddomein. Een CNAME is dan handiger dan een A-record omdat het altijd het A-record van je doelnaam volgt. Dus wanneer je het A-record van je hoofddomein verandert, hoef je niet alle A-records van je subdomeinen te gaan aanpassen, maar volgt het CNAME-record automatisch het A-record van je hoofddomein.
CNAME:         combell.com         www.combell.com
  • MX-record
    • Een MX-record (of Mail Exchange Record) geeft aan waar e-mails voor een bepaald e-mailadres heen moeten. Een MX-record verwijst net zoals een CNAME-record naar een domeinnaam, en niet naar een IP-adres. Dus als je een e-mail stuurt met je e-mailprogramma, dan zoekt het DNS de bestemmingsserver voor die e-mail op. Een e-mailserver is vaak niet dezelfde als de server waar je website opstaat.
MX-record:         combell.com         mx-se.mailprotect.be

Om het eenvoudig te houden, hebben we hierboven de meest voorkomende DNS-records opgelijst. Hier vind je alle types DNS-records terug.

Hoe werkt het DNS?

Nu we weten welke gegevens het DNS gebruikt om je op de juiste plaats te krijgen, en wat het DNS is, gaan we eens kijken hoé het DNS precies werkt. Hou je vast, want dat gebeurt in redelijk wat stappen.

Nameservers

Elke domeinnaam heeft een nameserver. Dat is een computer – een server – waar de DNS-zone en de daarin vervatte DNS-records van die domeinnaam op staan. Die nameserver is bereikbaar, en kan DNS-records vrijgeven als die gevraagd worden.

Wanneer jij dus naar een domeinnaam (bv. combell.com) wil surfen, stuurt jouw computer dus via het DNS een vraag naar de nameserver: ‘welk IP-adres hangt aan combell.com?’. De nameserver stuurt daarop een antwoord terug naar jouw computer. Zo weet je computer naar welk IP-adres hij moet gaan om combell.com te bereiken.

Tenminste: in een vereenvoudigde wereld zou het zo werken. Omdat er ontelbaar veel domeinnamen zijn, met allemaal gegevens, is het DNS iets uitgebreider.

Resolver

Het eerste onderdeel van het DNS is een resolver. Dat is een nameserver van je eigen internetprovider, zoals bijvoorbeeld Telenet en Proximus, of KPN en Ziggo bij onze Nederlandse vrienden. Wanneer je een vraag stelt, kan het zijn dat de resolver al meteen het antwoord weet (door bijvoorbeeld caching, maar daarover hieronder meer).

Wanneer je resolver het antwoord niet zelf weet, gaat hij het vragen aan een andere server, tot hij het antwoord krijgt.

Dat gedrag noemen we recursief. Je resolver is een recursieve nameserver omdat hij je vraag sowieso van een antwoord voorziet. Als hij het antwoord zelf niet kent, vraagt hij het na bij andere servers, en komt hij zelf bij jou terug met het antwoord.

Dat staat in contrast met een niet-recursieve (iteratieve) nameserver. Wanneer een iteratieve nameserver het antwoord niet weet, zal hij je vraag beantwoorden met een fout of een doorverwijzing naar een andere nameserver (“ik weet het zelf niet, maar misschien moet je daar eens proberen”).

DNS-servers

Zoals gezegd, weet je resolver niet altijd het antwoord. Maar omdat een resolver (gewoonlijk altijd) recursief is, gaat hij koste wat kost op zoek naar het antwoord, op allerlei computers die het antwoord kunnen weten (= een DNS-zone bevatten), en deel zijn van het DNS: de DNS-servers. En dat kan wel een stevige wandeling zijn.

dns query

Root server

Laat ons zeggen dat we naar blog.combell.com willen surfen. We tikken het in, en een vraag vertrekt vanuit onze browser naar de resolver van onze internetprovider: “waar kan ik blog.combell.com vinden?”

Stel dat je resolver het antwoord niet zelf weet, dan gaat hij verder op zoek, bij een volgende computer: de root server.

Als we het hiërarchisch gaan bekijken, merken we dat DNS-zones van rechts naar links werken in een domeinnaam. De root server (“.”, de uitleg van dat punt lees je hier wat verder) is overkoepelend voor alle domeinnamen, en krijgt dus ook vragen over de DNS-records van alle domeinnamen. De .com-nameserver moet al veel minder vragen verwerken, omdat er maar een fractie van alle domeinnamen eindigt op .com.

Zoals we hierboven zeiden, bevat elke nameserver een DNS-zone: de verzameling van DNS-records van een bepaalde domeinnaam. Maar tegen dat we aan de DNS-zone van het subdomein komen, passeren we eerst langs andere DNS-zones. Hoe dat gebeurt, leren we wat verder, maar de volgorde van nameservers en DNS-zones die geraadpleegd worden, ziet er zo uit:

  • DNS-zone “.” (root)
  • DNS-zone .com
  • DNS-zone combell.com
  • DNS-zone blog.combell.com

Je ziet dat de puntjes in een domeinnaam eigenlijk telkens een nieuwe DNS-zone aangeven, die telkens op een andere DNS-server staat. In de opsomming hierboven zie je dat de laatste zone gewoon een punt is. Dat komt omdat voor het DNS elke domeinnaam eindigt op een .: de root. Zo zou je eigenlijk blog.combell.com. moeten schrijven, maar we laten dat punt gemakshalve weg.

Toch is dat punt dus belangrijk: het geeft aan dat onze resolver, die het antwoord op de vraag “waar vind ik blog.combell.com?” niet weet, eerst naar de root trekt.

De zoektocht naar de juiste DNS-records

Je resolver onderneemt een hele wandeling om de juiste gegevens voor jou te vinden. Die zoektocht laat zich, stap na stap, als volgt samenvatten:

  1. Jij tikt blog.combell.com in in je webbrowser. Die browser vraagt aan je resolver of die daar gegevens van heeft.
  2. Je resolver weet het antwoord niet, en vraagt aan de root-nameservers of die DNS-records hebben voor blog.combell.com.
  3. De root-nameservers zeggen: “nee, maar ik heb wel DNS-gegevens van .com. Vraag het anders eens aan de nameservers van .com”.
  4. Je resolver vraagt aan de .com-nameservers of die DNS-records hebben voor blog.combell.com.
  5. De .com-nameservers zeggen: “nee, maar ik heb wel DNS-gegevens van combell.com. Vraag het anders eens aan de nameservers van combell.com”.
  6. Je resolver vraagt aan de combell.com-nameservers of die DNS-records hebben voor blog.combell.com.
  7. De combell.com-nameservers zeggen: “Jazeker: hier zijn ze: blog.combell.com A 178.208.48.66”
  8. Je resolver komt terug naar je webbrowser, en zegt: “hier, dit is de locatie waar blog.combell.com heen leidt.”

Je hebt hierboven het DNS in actie gezien! Daarin zal je gezien hebben dat alleen je resolver recursief werkt, en alle andere DNS-servers iteratief werkten door telkens een doorverwijzing te maken.

dns resolver

Dat komt doordat bijvoorbeeld de root-nameservers alle DNS-aanvragen behandelen vanop het hele internet. Stel je voor dat die nameservers zelf ook nog eens alle stappen zouden moeten doen die je resolver net heeft gedaan: dan wordt het wat te veel werk voor die rootservers. En dat gaat op voor alle nameservers, behalve de nameservers die de eindgebruiker bedienen (je resolver).

DNS-caching

Zoals we hierboven vermeldden, is het telkens een hele wandeling voor je resolver om de juiste DNS-server en DNS-records te vinden. Dat kan efficiënter, en wel met DNS-caching.

Caching is een techniek waarbij gegevens tijdelijk worden opgeslagen in een ‘cache’ of digitale opslagplaats om sneller toegang tot die gegevens mogelijk te maken. Zo heeft je computer bijvoorbeeld een cache.

Maar in het DNS houdt een nameserver zoals de resolver van je provider ook een cache bij. In die cache zijn eerder opgevraagde DNS-records opgeslagen. Zo moet je resolver voor die gegevens geen trektocht langs alle DNS-servers maken, en wordt een website iéts sneller geladen.

Dat zorgt er ook voor dat wijzigingen aan je DNS-records niet meteen zichtbaar zijn: je ziet je website vaak nog volgens de DNS-records die in de cache zitten. Dat heet DNS-vertraging, en is te verhelpen met een lage Time To Live.

Time To Live

Niet alle DNS-records blijven even lang in de cache van een nameserver zitten. Daar beslist de TTL of ‘Time To Live’ over.

Time To Live duidt aan hoelang een internetprovider de DNS-records van jouw domeinnaam moet bewaren. Bij Combell staat de TTL standaard op 1 uur.

Een TTL van 1 uur betekent dat wanneer een klant van pakweg Telenet je website bezoekt, de DNS-records van je domein 1 uur lang in de cache van Telenet blijven zitten, voor alle klanten van Telenet. Zo is jouw domeinnaam iets sneller bereikbaar voor alle klanten van Telenet, omdat je DNS-records in hun DNS-cache zitten. Wanneer in dat uur niemand anders naar je website surft, worden de DNS-records verwijderd uit de DNS-cache, en moet de resolver weer de hele zoektocht ondernemen.

TTL aanpassen

Je TTL aanpassen doe je best alleen maar als er aanpassingen in je DNS-records gebeuren. Dan wil je de TTL zo laag mogelijk houden, zodat de oude DNS-records snel plaats maken voor de nieuwe, in een DNS-cache. Zorg dus eerst voor een lage TTL wanneer je je website of e-mailadres wil verhuizen.

DNS propagation

Wanneer je een DNS-record hebt aangepast, zal die wijziging nog niet meteen zichtbaar zijn voor de hele wereld. Dat heeft te maken met DNS propagation ofwel DNS-vertraging. DNS-propagation kan tot 72 uur oplopen (3 dagen!).

Hierboven hebben we al uitgelegd dat je de cachetijd van een internetprovider zelf in de hand hebt met de TTL-instelling, maar dat is niet altijd het geval. Sommige internetproviders hebben geen oren naar jouw TTL-instelling, en kiezen zelf hun cachetijd. Dus duurt het voor de klanten van die providers wat langer voor ze jouw wijziging zien.

Maar DNS-vertraging is bij de wijziging van je nameservers ook te wijten aan de DNS-server van je registry (de .com-nameserver, in het geval van combell.com).

Wanneer je de nameservers van een domeinnaam (zoals combell.com) wijzigt, wordt dat verzoek meteen doorgestuurd naar de DNS-server van .com. Die .com-nameserver slaat die informatie op, zodat hij je resolver (weet je nog?) kan doorverwijzen naar de juiste nameserver van combell.com.

De meeste registry’s (=beheerders van nameservers zoals .com of .be) updaten hun DNS-zones meteen, maar bij sommige registry’s kan dat soms uren tot zelfs dagen duren. In dat geval is geduld een schone deugd ☺️.

Wanneer en hoe wijzig ik mijn DNS-records?

Bij Combell beheer je DNS-instellingen in je controlepaneel. Aan elke domeinnaam hangen DNS-records vast, die je kan wijzigen onder het kopje ‘DNS & Forwarding’.

Je maakt heel eenvoudig een wijziging aan een DNS-record
Je maakt heel eenvoudig een wijziging aan een DNS-record

Wanneer je domeinnaam en je hosting bij verschillende providers zitten, zal je de DNS-records van je domeinnaam moeten aanpassen om naar de server van je host te verwijzen.

Hier helpen we je iets uitgebreider om je DNS-gegevens te wijzigen.

FAQ over DNS-records

Wat is DNSSEC?

DNSSEC staat voor Domain Name System Security Extensions. Het voorziet DNS-records van een ‘digitale handtekening’, die de authenticiteit van een DNS-record bewijst. Zo voorkomt het DNSSEC DNS-spoofing, waarbijeen malafide partij onderweg de DNS-gegevens aanpast, en je zo naar een andere webserver leidt.

Lees hoe je DNSSEC kan activeren

Wie beheert de DNS-rootservers?

Er zijn 13 DNS-root-servers, benoemd met de letters “A” tot en met “M”. In werkelijkheid hebben die 13 servers verschillende locaties. Zo zijn er honderden root-servers, verspreid over de hele wereld. Het beheer van de root-server is de verantwoordelijkheid van de ICANN (Internet Corporation for Assigned Names and Numbers).

Wat zijn DNS-records?

DNS-records zijn gegevens die het Domain Name System helpen om je op de juiste plaats te laten belanden, wanneer je een domeinnaam intikt in je browser. Hier vind je alle types DNS-records.

Wat is mijn DNS Server?

Meestal gebruikt een domeinnaam de nameservers van het bedrijf waar hij geregistreerd is, de registrar (bv. Combell). Elke domeinnaam heeft (minstens) twee nameservers. Dat is uit veiligheidsoverwegingen: als er eentje kapot is, pakt de andere meteen over.

Je kan zowel je registrar als de ingestelde nameservers vinden via een whois-controle.
Is je domeinnaam bij Combell geregistreerd? Volg deze instructies om je nameservers te wijzigen.

Waarom krijg ik de melding “kan DNS-server niet vinden”?

Wanneer je een verzoek stuurt naar het DNS, maar er komt geen reactie (alleen getsjirp van krekels), zal je een foutmelding krijgen. Een oorzaak kan zijn dat je internetverbinding is uitgevallen, of dat de DNS-servers van je provider overbelast zijn.

Het probleem kan soms verholpen worden door te veranderen van webbrowser, of door de instellingen van je firewall aan te passen. Daarnaast kan het helpen om je router opnieuw op te starten.

Wanneer die oplossingen niet werken, check je best even bij je provider of daar geen panne aan de gang is. Eventueel kun je ook de DNS-server van je provider gaan vervangen door een publieke DNS-server, zoals die van Google (8.8.8.8).

Geüpdatet op 31 januari 2022

Heeft dit artikel jou geholpen?

Hulp nodig?
Geen oplossing gevonden? Maak je geen zorgen, we zijn er altijd om je te helpen!
Contacteer support

Geen oplossing gevonden?

support_bottom_contact_alt

Onze specialisten staan 24/7 klaar met gratis support. Aarzel niet om Joachim en zijn collega's te contacteren via e-mail of telefoon.

support_bottom_contact_alt
Joachim Coessens Specialist Support