9.4. Domain Name System#

Begrippen

host, hostnaam, domeinnaam, ip-adres, dns protocol, dns server (name server), top-level domein, subdomein,

Om de diensten van een computer in het internet te gebruiken, heb je het IP-adres van die computer nodig. Maar het is voor mensen erg lastig om dergelijke getallen te onthouden: namen zijn veel eenvoudiger te onthouden. Het Domain Name System is bedacht om het internet voor mensen geschikter te maken. Hiermee kun je een computer een naam geven: via het DNS-protocol kun je het IP-adres bij deze naam opzoeken.

Als je in de browser https://wikipedia.nl invoert, zal de eerste stap van de browser zijn om het IP-adres van wikipedia.nl op te zoeken. Dit wordt dan gebruikt in een HTTPS-verzoek naar de betreffende computer.

Enkele voorbeelden van domeinnamen: www.ieni.org, ftp.ieni.org, jupyter.infvo.nl, infvo.nl, wikipedia.nl, wikipedia.org, apple.com.

Een domeinnaam bestaat uit 2 of 3 gedeeltes, gescheiden door een punt: (i) een optioneel subdomein (hierboven: www, ftp, jupyter; (ii) het domein ieni, infvo, wikipedia, apple; (iii) het top-level domein (TLD), nl, org, com.

9.4.1. DNS server(s)#

../_images/dns.png

Fig. 9.22 DNS lookup - als eerste stap naar de webserver#

Zoals gezegd kun je via het DNS-protocol opvragen wat het IP-adres bij een domeinnaam is. Je gebruikt hiervoor een DNS-server (ook wel: name server).

In de netwerkinstellingen van je computer moet ook het IP-adres van een DNS server ingevuld zijn. (In principe krijg je dit ook via de automatische DHCP-instellingen.) Deze DNS-server is verbonden met andere DNS-servers, voor het geval de lokale DNS-server de betreffende domeinnaam niet kent. De domeinnaam-IP-adres tabel van een lokale DNS-server bevat een kopie van de gegevens van de authorative DNS-servers, die de originele gegevens bevatten.

Vaak zal dit een DNS-server zijn van je internet service provider; maar je kunt ook bijvoorbeeld de DNS-servers van Google gebruiken (https://developers.google.com/speed/public-dns, 8.8.8.8), of van andere organisaties (Cloudflare: 1.1.1.1).

Een goed-werkende DNS-server is erg belangrijk: je wilt snel resultaat, en je wilt het juiste resultaat. Als het lang duurt voordat je het resultaat krijgt, heeft dan gevolgen voor de snelheid van de browser. Als je niet het juiste resultaat krijgt, loop je het risico dat je een nep-website gepresenteerd krijgt in plaats van de originele. Om dit laatste risico te vermijden, is het gebruik van het beveiligde DNSSEC protocol essentieel, in combinatie met een goede DNS-server.

9.4.2. Registratie van domeinnamen#

Een domeinnaam (zonder subdomein), zoals ien.org, moet je registreren voordat je deze kunt gebruiken voor je diensten. Deze registratie zorgt ervoor dat namen uniek zijn, en dat voor elke naam duidelijk is wie de “eigenaar’ (registrant) van die naam is.

Via “whois” kun je van een domein opvragen wie deze geregistreerd heeft.

9.4.3. Een eigen domeinnaam#

Als je een domeinnaam wilt hebben in meerdere top-level domeinen, bijvoorbeeld betapartners.org en betapartners.nl, dan moet je die afzonderlijk registreren. Bovendien kunnen voor een top-leven domein speciale regels gelden. Voor het registreren van een domeinnaam betaal je jaarlijks een klein bedrag.

Subdomeinen. Als je een domeinnaam hebt, kun je daar zelf subdomeinen aan toevoegen, bijvoorbeeld een subdomein per dienst. (www.ieni.org voor de website, ftp.ieni.org voor file transfer; of codeweek.ieni.org voor de codeweek-activiteiten).

Top-level domeinen. Een domeinnaam is onderdeel van een top-level domein, zoals nl of com. Het aantal TLDs is een tijd lang erg beperkt geweest, naast org, com, net en edu, vooral landgebonden TLDs zoals nl, be, de, tv, enz. Tegenwoordig kun je ook een eigen TLD laten registreren; maar dat moet je dan ook goed beheren, bijvoorbeeld de registratie van domeinen in je eigen TLD. (Bijvoorbeeld: gemeente.amsterdam.

DNS-gegevens invullen.

Als je een domeinnaam hebt, kun je zelf bij deze naam het bijbehorende IP-adres invullen, in een “authorative” DNS server voor je domein. Doordat andere

9.4.4. Verhuizen van een website#

Er is nog een belangrijk voordeel aan het gebruik van namen in plaats van IP-adressen. Als het IP-adres van www.ieni.org verandert, bijvoorbeeld omdat deze website naar een zwaardere server overgebracht is, dan is het voldoende om de DNS-gegevens aan te passen: op die manier worden alle browsers die www.ieni.org gebruiken automatisch naar de nieuwe server gestuurd.

(Na een dergelijke verhuizing kan het tot 24 uur duren voordat alle DNS-gegevens bijgewerkt en verspreid zijn, omdat er op alle niveaus caching plaatsvindt. In de praktijk gaat het vaak wel sneller, maar er kunnen altijd computers zijn die nog niet up-to-date zijn. Je moet zo’n verhuizing daarom wel zorgvuldig plannen.)