DNS-root: de wortel van het internet

Je typt een domein in de adresbalk van je browser, ramt op ‘enter’ en voor je het weet staat de gewenste website voor je neus. Waarschijnlijk doe je het dagelijks. Achter zo’n aanvraag gaat veel schuil. DNS vertaalt het domein naar een IP-adres en dat begint vaak bij de DNS-root. Hoe werkt dit complexe systeem, waaraan veel organisaties samenwerken?

DNS-root: de wortel van DNS.

DNS als omgekeerde boomstructuur

DNS werkt als een soort omgekeerde boomstructuur, waarbij je achteraan begint met het vinden van je doel. Root-servers zijn het beginpunt van deze boom, en weten waar de nameservers voor elke domeinextensie te vinden zijn. Deze data staat in de root zone, een DNS-zone die alle informatie bevat voor het domein ‘.’ De root-servers hebben de letters A tot en met M en zijn te vinden onder het domein root-servers.net.

Standaard stuurt een resolver het hele domein dat je probeert te vinden mee naar elke server. Bijvoorbeeld de root-server en de .NL-nameserver krijgen te zien dat je geheimsubdomein.example.nl probeert te bereiken. Zoals je kunt bedenken, is dit niet heel goed voor je privacy. Daarom is QNAME minimization (RFC 7816) in het leven geroepen. Hiermee vraagt een resolver alleen nog het nodige op. De root ziet alleen de vraag naar .NL en de .NL-nameserver ziet alleen de vraag naar example.nl.

DNS root-servers

Hoe kun je deze servers vinden, als je niet weet waar je ze moet vinden? Daarvoor heeft IANA (Internet Assigned Numbers Authority) een root hints-file gemaakt. Dit is een DNS-zone voor het domein root-servers.net en bevat de IPv6- en IPv4-adressen van alle root-servers.

Een root-server in Amsterdam.

Bron: Wikimedia Commons

Er zijn dertien root-servers die allemaal beheerd worden door verschillende organisaties. De organisaties variëren van universiteiten tot het Amerikaanse leger. Allemaal hebben zij de verantwoordelijkheid om zo goed mogelijk alle aanvragen af te handelen. De organisatie die dit allemaal in goede banen probeert te leiden, is ICANN.

De reden dat het er dertien zijn, gaat terug naar de basis van het DNS-protocol. Oorspronkelijk was de maximale grootte van een DNS-packet gedefinieerd als 512 bytes. Dertien namen en bijbehorende IPv4-adressen is het maximale dat hier in past. Tegenwoordig is dit niet meer zo’n probleem. Zeker met de toevoeging van IPv6, EDNS en DNSSEC is deze beperking niet meer van deze tijd.

Genoeg voor het miljarden apparaten?

Nu kun je je misschien niet voorstellen dat miljarden apparaten op het internet genoeg hebben aan dertien servers. En dat klopt helemaal. Bijna alle nameservers maken gebruik van anycast. Ze plaatsen hun servers over de hele wereld en koppelen daar met de lokale internetknooppunten. Zo bereik je sneller de root-server en krijg je sneller antwoord.

De root-nameservers zijn wereldwijd verspreid.Volgens de statistieken van root-servers.org zijn er op dit moment over de hele wereld 1017 locaties waar root-servers staan. In Nederland zijn acht van de dertien root-servers vertegenwoordigd. De K-root (RIPE NCC) en de F-root (ISC) zijn zelfs op meerdere locaties in Nederland aanwezig.

Publieke resolvers

Zelf hoef je natuurlijk niet met de root te verbinden om een domeinnaam op te lossen. Dit doet je resolver voor je. Er zijn hiervoor min of meer twee opties. De eerste optie is de resolver van je provider gebruiken. Deze wordt vaak standaard ingesteld op de router die je krijgt. De resolver staat in het netwerk van je provider en is dus nooit ver weg.

Een andere optie is een publieke resolver. Google is op veel plekken op de wereld goed verbonden. Om die reden hebben ze 8.8.8.8 en 8.8.4.4 als publieke resolvers opgezet. Ze zijn misschien een stukje verder weg, maar zijn wel goed met de rest van het internet verbonden. Later heeft Cloudflare 1.1.1.1 als soortgelijke dienst opgezet. Ook 9.9.9.9 (Quad9) en OpenDNS zijn publieke resolver-diensten, maar geven een gefilterde kijk op DNS.

Kennissessies

Wij houden intern regelmatig kennissessies om scherp te blijven. Nu vind ik DNS enorm interessant. Om die reden hield ik onlangs een sessie die specifiek over dit onderwerp ging. Naast de technische uitleg, wil je natuurlijk je collega’s ook een aantal opmerkelijke feitjes meegeven. Zo’n presentatie voorbereiden is daarom al mooi werk.

Interne kennissessie over DNS.

Zo kom je erachter dat twee van de meestgebruikte nameservers van Nederlandse makelij zijn. Of je leert dat .br, de domeinextensie van Brazilië, zo’n 128 second-level domains (SLDs) heeft. Dat is het gedeelte net voor voor de TLD, bijvoorbeeld .co in .co.uk. Brazilianen hebben er haast voor elke categorie wel één, van .vet.br voor veeartsen tot en met .taxi.br voor taxichauffeurs.

Misschien is dit een mooi begin van een serie DNS-blogs. Er valt namelijk nog zoveel meer over te vertellen. Dit is slechts de wortel. En even voor diegene die onze afbeeldingen maakt: de volgende keer graag boomwortels op het bovenste plaatje… 😉

P.S. Op de hoogte blijven van alle artikelen, updates, tips en trucs die op ons blog verschijnen? Volg ons via Facebook, Twitter, Instagram, RSS en e-mail!

Deel Deel Deel Deel

2 reacties op “DNS-root: de wortel van het internet

  1. leuk stuk! wel her en der wat lastig om in te komen als je niet de complete terminologie kent maar dat doet niet af aan de inhoud en leesbaarheid gelukkig! Toch voldoende opstekertjes en leuke weetjes om specefiek dit blog te volgen nu er veel “oudbollige” saaie kost rondzwerft over dit onderwerp en kan wel een opsteker gebruiken!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *