Zodra we contact maken met een online dienst (bijvoorbeeld een website of e-mailadres), leveren root-nameservers of (DNS-)root servers een belangrijke bijdrage aan het vinden van het adres van de dienst. Ze maken onderdeel uit van het Domain Name System (DNS) – een van de belangrijkste pilaren van het internet – en zijn essentieel voor de naamverwerking in het DNS, waarbij een domeinnaam (bijv. "www.strato.nl") wordt vertaald naar een IP-adres. Dit is een noodzakelijk proces, omdat je alleen met het IP-adres van de server contact kunt maken met een online dienst en zo de aangevraagde data kunt gebruiken.
Een opmerking vooraf: Bij de (DNS-)root servers in dit artikel gaat het om de root-nameserver uit het Domain Name System. Dit is niet hetzelfde als een speciale root server (ook wel dedicated root server) die je bij een webhostingaanbieder kunt huren. Dergelijke hosts worden in de omgangstaal ook wel als root server beschreven, omdat ze zich door een root-access onderscheiden van beheerde servers; dit is echter niet het onderwerp van dit artikel.
In de onderstaande paragrafen gaat het meer over de werkwijze van root-nameservers binnen het Domain Name System en hoe ze informatie doorgeven aan een client (bijvoorbeeld een browser of een e-mailprogramma). Ook leer je wat de DNS-root-zone is en welke veiligheidsmaatregelen je met betrekking tot de DNS-root server kunt nemen.
Een root-nameserver (ook DNS-root server of kortweg root server) is een server die een belangrijke functie heeft bij het vertalen van een domeinnaam naar een IP-adres: hij beantwoordt de verzoeken (requests) van de client in de root-zone van het Domain Name System (de root-zone is het hoogste niveau binnen het DNS). De root-nameservers voeren de naamverwerking niet zelf uit, maar geven de vragende client alleen door van welke andere nameserver (DNS-server) ze meer informatie kunnen krijgen over het aangevraagde IP-adres.
Dit gebeurt via het zogeheten root-zonebestand, een onderdeel van iedere DNS-Root-Server. Het eigenlijke bestand is krap 2MB groot, maar toch bevat het alle namen en IP-adressen van alle top-level-domains (TLD’s). Deze bestanden hebben een belangrijke functie: de root server grijpt hierop terug als hij de client een naamserver noemt waarbij er meer informatie beschikbaar is m.b.t. zijn request.
Hoewel root-nameservers alleen aanvragen doorgeven, zijn ze onmisbaar voor de naamverwerking – anders zou het DNS in zijn huidige vorm niet functioneren. Een root server werkt aan de wortel (Engels: root) van het Domain Name System en is hier in zekere zin de belangrijkste verwerkingspost van internetadressen.
Hoe helpt een root-nameserver precies om het IP-adres van een website te identificeren? Om te begrijpen hoe de Root-Server werkt, is het handig om eerst te kijken hoe de naamverwerking in het DNS feitelijk verloopt.
Iedere internetdienst heeft naast een individueel internetadres (de domeinnaam) ook een uniek numeriek IP-adres dat aan de domeinnaam is gekoppeld – zo heeft de website van STRATO bijvoorbeeld het IPv4-adres "81.169.145.35" gekregen. Als je in je browser naar “www.strato.nl” gaat, moet de naam van de website eerst in dit IP-adres worden veranderd zodat je browser de pagina kan laden.
De belangrijkste taak van het Domain Name System is het vertalen van domeinnamen naar IP-adressen (ook wel "forward lookup" genoemd). Het proces van de naamverwerking op het internet verloopt hiërarchisch. Maar voordat het DNS de opdracht tot naamverwerking krijgt, probeert het gebruikte systeem doorgaans eerst zelf om de benodigde IP-adressen in de eigen dataopslag te vinden.
Hoeveel verschillende stations een request doorlopen en in welke volgorde dit gebeurt, hangt af van verschillende factoren – bijvoorbeeld van het gebruikte besturingssysteem of van het inzetten van UDP of NetBIOS via TCP/IP als protocol. Alleen de naamverwerking via de verschillende servers in het DNS verloopt altijd hetzelfde. Aan de hand van voorbeelden leggen we je de belangrijkste fases uit die bij de zoektocht naar het juiste IP-adres worden doorlopen. Ook leggen we uit welke rol een DNS-root server daarbij speelt.
Bij het proces van naamverwerking kunnen zo dus veel verschillende naamservers ingezet worden. Toch nemen de root-nameservers binnen dit proces een bijzondere rol in: ze zijn de hoogste instantie binnen de naamverwerking – als een domeinnaam niet via de lokale resolver of de DN-server van de provider in een IP-adres kan worden veranderd, is een rootserver het eerste ‘aanspreekpunt’ voor het vinden van het IP-adres. En zelfs als de naamverwerking al in een eerdere stap succesvol is, is de hiervoor benodigde informatie in het verleden van een DNS-rootserver gehaald en opgeslagen. Daarom is het belangrijk dat de servers constant hun dienst kunnen uitvoeren.
De 13 belangrijkste DNS-root servers zijn benoemd met de letters "A" tot en met "M". Ze hebben allemaal een IPv4-adres, maar de meesten hebben daarnaast ook een IPv6-adres. Het feitelijke beheer van de root server valt onder de verantwoordelijkheden van de ICANN (Internet Corporation for Assigned Names and Numbers). Ze worden echter geëxploiteerd door verschillende instituten die ervoor zorgen dat de data-uitwisseling met de root-zone altijd correct, bereikbaar en veilig is. De onderstaande tabel laat naast de beheerders van de individuele root-nameservers ook hun IP-adressen zien.
Letter van de DNS-root server | IPv4-adres | IPv6-adres | Beheerder |
---|---|---|---|
A | 198.41.0.4 | 2001:503:ba3e::2:30 | VeriSign |
B | 192.228.79.201 | 2001:478:65::53 | USC-ISI |
C | 192.33.4.12 | 2001:500:2::c | Cogent Communications |
D | 199.7.91.13 | 2001:500:2d::d | University of Maryland |
E | 192.203.230.10 | NASA | |
F | 192.5.5.241 | 2001:500:2f::f | ISC |
G | 192.112.36.4 | U.S. DoD NIC | |
H | 128.63.2.53 | 2001:500:1::803f:235 | US Army Research Lab |
I | 192.36.148.17 | 2001:7FE::53 | Autonomica |
J | 192.58.128.30 | 2001:503:c27::2:30 | VeriSign |
K | 193.0.14.129 | 2001:7fd::1 | RIPE NCC |
L | 199.7.83.42 | 2001:500:3::42 | ICANN |
M | 202.12.27.33 | 2001:dc3::35 | WIDE Project |
Ieder van deze root-nameservers heeft een identieke kopie van het root-zonebestand, dat van tijd tot tijd moet worden geactualiseerd – bijvoorbeeld als de voor een TLD verantwoordelijke Domain Name Registry verandert. Het wijzigen van het root-zonebestand is een relatief ingewikkeld proces: zodra een verzoek tot actualisering binnenkomt, wordt eerst de IANA (Internet Assigned Numbers Authority; onderdeel van de ICANN) gecontroleerd. Als alles in orde is, moet vervolgens het Amerikaanse ministerie van Handel de aanvraag goedkeuren, omdat de ICANN hieraan contractueel is verbonden. Daarna wordt de verandering van het bedrijf VeriSign (dat zelf twee rootservers beheert) pas in de root-zone doorgevoerd.
Iedere dag worden rootservers geconfronteerd met een groot aantal verzoeken. Het merendeel van de 13 root-nameservers beantwoordt de verzoeken van de clients niet alleen, maar werkt hiervoor samen met diverse andere servers: hierbij wordt via de anycast-technologie de verdeling van de binnenkomende aanvragen geregeld. Overeenkomstig zijn het in werkelijkheid veel meer dan 13 servers die zich om de aanvragen in de root-zone bekommeren – in totaal gaat het om honderden, verspreid over de hele wereld. De meeste van deze servers bevinden zich in de VS en Europa.
De verspreiding van de servers heeft onder andere het doel om de lastenverdeling en daarmee de uitvalveiligheid van de rootservers te vergroten: voor de inzet van anycast waren er alleen de 13 belangrijkste root-nameservers die zich bezighielden met het beantwoorden van de verzoeken. Omdat 10 van hen in de VS staan, kon pas met de anycast-techniek een relatief decentrale verwerking van de aanvragen in de root-zone worden gegarandeerd. De wereldwijde verspreiding van de servers komt bovendien de toegangstijd bij het verwerken van verzoeken ten goede, omdat altijd de server met de kortste route antwoord geeft.
Een verdere veiligheidsmaatregel is het beperken van de gebruikte root-nameserver-capaciteiten onder normale omstandigheden: slechts een derde van de totale beschikbare bronnen wordt door de servers gebruikt. Hierdoor moet worden gegarandeerd dat ook indien meerdere DNS-root servers tegelijkertijd uitvallen, de naamverwerking stabiel functioneert. Daarom hadden diverse DDoS-aanvallen op DNS-rootservers in het verleden ook geen groot succes – de veiligheidsmaatregelen zijn te sterk. De beheerders van de 13 rootservers realiseren zich het belang van hun servers voor het internet maar al te goed: zonder hen is op de lange termijn de adressering van alle internetdiensten in gevaar.