Zoals u ongetwijfeld bekend zult zijn, moet u, als u een website wilt bezoeken, de domeinnaam ervan in de browser invoeren. De browser gaat dan uit en laadt de door u opgevraagde website. Als u een specifieke paginanaam in de URL opgeeft, zorgt de browser ervoor dat die specifieke pagina bij de webserver wordt opgevraagd. Het is misschien gemakkelijk om aan te nemen dat dit alle complexiteit is, maar er komt meer bij kijken.
Om verkeer naar de juiste plaats te leiden, houden routers een routeringstabel bij. De routeringstabel piept en geeft aan welke fysieke verbinding de router moet gebruiken voor verkeer, afhankelijk van de bestemming. Het beheren van deze routeringstabellen zou echter een lastige klus zijn als ze domeinnamen zouden gebruiken.
Omdat elke website een andere domeinnaam heeft, zou de tabelgrootte enorm zijn en zou het zoeken ernaar inefficiënt zijn. In plaats daarvan gebruiken routers IP-adressen om verkeer te routeren. Omdat IP-adressen numeriek zijn en meerdere domeinen hosten. De routeringstabellen kunnen veel korter zijn en gemakkelijker doorzocht.
Helaas zijn IP-adressen niet voor mensen leesbaar. Althans, ze zijn zeker niet memorabel. Hoewel u Technipages.com misschien nog wel kent, herkent u het IP-adres 104.18.0.74 veel minder snel en nog minder snel het IPv6-adres 2606:4700:20::681a: 14a. Om het gebruik van gedenkwaardige domeinnamen voor mensen en efficiënte IP-adressen voor computers mogelijk te maken. Er moet een vertaalmechanisme worden gebruikt. Dat vertaalsysteem is DNS.
Wat is DNS
DNS staat voor Domain Name System en is een protocol dat domeinnamen vertaalt naar IP-adressen. Het uitgangspunt van het protocol is om een DNS-verzoek in te dienen bij een DNS-server. In de aanvraag staat de domeinnaam die u wilt laten vertalen. Het verzoek gaat vervolgens naar de geconfigureerde DNS-server van uw apparaat. Als deze server het antwoord niet weet, stuurt hij het verzoek recursief door naar de root-DNS-servers. Op een gegeven moment zal een DNS-server een vermelding in de cache hebben. Of een vermelding voor de gezaghebbende DNS-server voor het aangevraagde domein.
Opmerking: Een gezaghebbende DNS-server is de server waarop de gegevens voor het betreffende domein zijn geconfigureerd in een lokaal bestand. Alle andere DNS-servers cachen dit antwoord alleen maar en zijn niet gezaghebbend.
Zodra een gezaghebbend of in de cache opgeslagen DNS-resultaat voor het domein is gevonden, wordt dat resultaat terug in de keten doorgestuurd, uiteindelijk naar uw apparaat. Elke DNS-server in de keten slaat het resultaat vervolgens op in de cache, zodat toekomstige verzoeken sneller kunnen worden opgelost.
De daadwerkelijke gegevens die op de gezaghebbende DNS-server zijn opgeslagen, zijn DNS-zones. Alleen de DNS- of bronrecord (RR) die aan het aangevraagde domein is gekoppeld, wordt geretourneerd.
Structuur van een DNS-record
DNS-records worden geschreven met behulp van DNS-syntaxis. Het formaat gebruikt Naam, TTL, Recordklasse, Recordtype en Recordgegevens. De klassen TTL en Record kunnen worden opgeslagen omdat beide formaten geldig zijn. Een standaard-TTL (Tijd om te leven) kan ook worden opgegeven aan het begin van een zonebestand dat van toepassing is op elk DNS-record in de zone zonder dat er expliciet een TTL is opgegeven.
Het veld Naam definieert de URL waarop de record van toepassing is. Dit kan 'technipages.com' zijn. “ww.technipages.com” .technipages.com” jokertekens worden ondersteund. Als het opgegeven domein hetzelfde is als het domein in de Zone, kan een “symbool worden gebruikt.
De TTL geeft aan hoe lang een niet-gezaghebbende DNS-server het antwoord in de cache kan opslaan. Hoe langer deze tijd, hoe minder verkeer de gezaghebbende DNS-server zou moeten zien. Het betekent echter ook dat het langer duurt voordat updates worden doorgevoerd.
De Record-klasse is bijna altijd “N”. Dit definieert een internetrecord. Er zijn echter een klein aantal aanzienlijk minder gebruikte netwerken in gebruik, zoals Chaosnet, die de waarde ‘H’ zouden gebruiken.
Het Recordtype definieert het type DNS-record dat wordt aangeboden. IPv4-adressen zijn bijvoorbeeld gedefinieerd met Recordtype A, terwijl e-mailservers het type MX hebben. In de volgende sectie bespreken we enkele van de meest voorkomende recordtypen.
De recordgegevens bevatten de daadwerkelijk opgeloste waarde. Dit is doorgaans een ander IP-adres, maar kan ook een andere domeinnaam zijn. Nogmaals, in het algemeen, als een andere domeinnaam is opgegeven. Die domeinnaam wordt omgezet naar een IP-adres elders in het Zonebestand. Dit is echter niet altijd het geval. Commentaar kan achter een puntkomma “. Deze opmerkingen worden niet opgenomen in DNS-antwoorden.
Soorten DNS-records
Het meest voorkomende recordtype in DNS is het ‘record waarbij’ staat voor adres. “records retourneren altijd IPv4-adressen. IPv6-adressen hebben het recordtype “AAA”. De vier As geven aan dat IPv6-adressen met een lengte van 128 bits vier keer zo lang zijn als de 32-bits IPv4-adressen.
Het recordtype “NAME” staat voor Canonical NAME en wordt gebruikt om aan te geven dat “het aangevraagde domein hetzelfde IP-adres heeft als dit domein”. CNAME-records kunnen verwijzen naar A-, AAAA- of andere CNAME-records. Het verwijzen van een CNAME naar een ander CNAME-record wordt echter actief afgeraden, omdat de recursieve verzoeken de verzoektijd voor de gebruiker verlengen. E-mailservers gebruiken het recordtype “X” dat staat voor Mail eXchange. De recordwaarde voor een MX-record moet een prioriteitsnummer en een domeinnaam bevatten. Net als bij CNAME-records moeten MX-records naar een domeinnaam verwijzen.
Het recordtype “S” definieert gezaghebbende DNS-servers voor het aangevraagde domein. Er kunnen meer dan één NS-record zijn, maar deze moeten altijd naar een domein verwijzen. Het SOA-record definieert de Start Of Authority. Elk zonebestand moet er één bevatten; het legt administratieve details uit, zoals hoe lang DNS-servers moeten wachten voordat ze controleren of een waarde is gewijzigd.
Hoe deze informatie wordt gebruikt
Daarom zijn DNS-verzoeken verborgen voor de client. De overgrote meerderheid van de programma's zal stilletjes DNS-verzoeken op de achtergrond uitvoeren tot een punt waarop de gebruiker nooit meer zou kunnen weten dat het DNS-protocol bestond. Met sommige tools kunt u het netwerkverkeer monitoren, zodat u het DNS-verkeer kunt zien zoals het op het netwerk verschijnt. Met andere tools, zoals het “lookup”-hulpprogramma in Windows, kunt u DNS-verzoeken doen. Deze tools formatteren de uitvoer doorgaans op een voor mensen leesbare manier, waarbij alleen het betekenisvolle antwoord wordt gegeven, zoals het IP-adres of de adressen die in het antwoord worden geretourneerd.
Conclusie
Een DNS-record is een regel in een DNS-zonebestand op een gezaghebbende DNS-server. Elke regel bevat een selectie van waarden die het type record en de werkelijke waarde ervan definiëren. Niet-gezaghebbende DNS-servers kunnen deze DNS-records in de cache opslaan zoals zij deze zien gedurende de duur van de TTL. Een gebruikersapparaat doet een DNS-verzoek, wacht op het antwoord en doet vervolgens het HTTPS-verzoek, of een ander protocol, afhankelijk van de gebruikte software, naar het gedefinieerde IP-adres.