Wat is DNS?
Het Domain Name System (DNS) is het telefoonboek van het internet. Mensen krijgen online toegang tot informatie via domeinnamen, zoals nytimes.com of espn.com. Webbrowsers communiceren via Internet Protocol (IP)-adressen. DNS vertaalt domeinnamen naar IP-adressen zodat browsers internetbronnen kunnen laden.
Elk apparaat dat met het internet is verbonden, heeft een uniek IP-adres dat andere machines gebruiken om het apparaat te vinden. DNS-servers zorgen ervoor dat mensen geen IP-adressen zoals 192.168.1.1 (in IPv4) of complexere nieuwere alfanumerieke IP-adressen zoals 2400:cb00:2048:1::c629:d7a2 (in IPv6) uit het hoofd hoeven te leren.
Hoe werkt DNS?
Het proces van DNS-resolutie houdt in dat een hostnaam (zoals www.example.com) wordt omgezet in een computervriendelijk IP-adres (zoals 192.168.1.1). Elk apparaat op het internet krijgt een IP-adres en dat adres is nodig om het juiste internetapparaat te vinden, zoals een straatadres wordt gebruikt om een bepaald huis te vinden. Wanneer een gebruiker een webpagina wil laden, moet er een vertaling plaatsvinden tussen wat een gebruiker in zijn webbrowser typt (voorbeeld.com) en het machinevriendelijke adres dat nodig is om de webpagina van voorbeeld.com te vinden.
Om het proces achter de DNS-resolutie te begrijpen, is het belangrijk meer te weten over de verschillende hardwarecomponenten waartussen een DNS-query moet passeren. Voor de webbrowser gebeurt de DNS-lookup “achter de schermen” en vereist geen interactie van de computer van de gebruiker, afgezien van de initiële aanvraag.
De 4 DNS servers die betrokken zijn bij het laden van een webpagina:
- DNS recursor – De recursor kan worden gezien als een bibliothecaris die wordt gevraagd om ergens in een bibliotheek een bepaald boek te zoeken. De DNS recursor is een server die is ontworpen om query’s te ontvangen van client machines via applicaties zoals web browsers. Gewoonlijk is de recursor dan verantwoordelijk voor het doen van extra verzoeken om te voldoen aan de DNS-vraag van de client.
- Root nameserver – De root server is de eerste stap in het vertalen (resolven) van door mensen leesbare hostnamen naar IP-adressen. Hij kan worden gezien als een index in een bibliotheek die naar verschillende rekken met boeken verwijst – meestal dient hij als een verwijzing naar andere, meer specifieke locaties.
- TLD nameserver – De top level domain server (TLD) kan worden gezien als een specifiek boekenrek in een bibliotheek. Deze nameserver is de volgende stap in het zoeken naar een specifiek IP-adres, en hij host het laatste deel van een hostnaam (In example.com is de TLD-server “com”).
- Authoritative nameserver – Deze laatste naamserver kan worden gezien als een woordenboek in een rek met boeken, waarin een specifieke naam kan worden vertaald naar zijn definitie. De gezaghebbende naamserver is de laatste halte in de nameserver-query. Als de gezaghebbende naamserver toegang heeft tot de gevraagde record, zal hij het IP-adres voor de gevraagde hostnaam terugsturen naar de DNS Recursor (de bibliothecaris) die de initiële aanvraag deed.
Wat is het verschil tussen een autoratieve DNS-server en een recursieve DNS-resolver?
Beide concepten verwijzen naar servers (groepen servers) die integraal deel uitmaken van de DNS-infrastructuur, maar ze vervullen elk een andere rol en bevinden zich op verschillende plaatsen in de pijplijn van een DNS-query. Eén manier om het verschil te zien is dat de recursieve resolver aan het begin van de DNS query staat en de autoritatieve naamserver aan het einde.
Recursive DNS resolver
De recursieve resolver is de computer die antwoordt op een recursief verzoek van een client en de tijd neemt om het DNS-record op te sporen. Hij doet dit door een reeks aanvragen te doen tot hij de gezaghebbende DNS-naamserver voor de gevraagde record bereikt (of tot hij een time-out of foutmelding krijgt als geen record wordt gevonden). Gelukkig hoeven recursieve DNS-resolvers niet altijd meerdere aanvragen te doen om de records op te sporen die nodig zijn om een client te antwoorden; caching is een datapersistentieproces dat de nodige aanvragen helpt omzeilen door de gevraagde bronrecord eerder in de DNS-lookup aan te bieden.
Autoritatieve DNS server
Simpel gezegd is een autoratieve DNS-server een server die daadwerkelijk DNS-recordgegevens bijhoudt en er verantwoordelijk voor is. Dit is de server onderaan de DNS lookup keten die zal antwoorden met de opgevraagde bronrecord, waardoor de webbrowser die de aanvraag doet uiteindelijk het IP-adres kan bereiken dat nodig is om toegang te krijgen tot een website of andere webbronnen. Een gezaghebbende naamserver kan aan query’s voldoen op basis van zijn eigen gegevens zonder dat een andere bron moet worden geraadpleegd, aangezien hij de uiteindelijke bron van de waarheid is voor bepaalde DNS-records.
Wat is een DNS-resolver?
De DNS resolver is de eerste halte in de DNS lookup, en hij is verantwoordelijk voor het afhandelen van de client die het initiële verzoek deed. De resolver start de opeenvolging van query’s die er uiteindelijk toe leidt dat een URL vertaald wordt naar het nodige IP-adres.
Opmerking: Een typische uncached DNS lookup zal zowel recursieve als iteratieve queries omvatten.
Het is belangrijk een onderscheid te maken tussen een recursieve DNS-query en een recursieve DNS-oplosser. De query verwijst naar het verzoek dat aan een DNS-oplosser wordt gericht om de query te kunnen oplossen. Een DNS recursieve resolver is de computer die een recursieve query aanvaardt en het antwoord verwerkt door de nodige verzoeken te doen.