Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

En DNS-forespørgsels rejse

Modul 1: Hvad er DNS? · Læsetid: 8 minutter

Læringsmål: Efter denne lektion kan du trin for trin forklare hvordan en resolver finder et svar, og hvor svarene bliver husket undervejs.

Nøglebegreber: resolver (rekursiv), rodserver, TLD-server, autoritativ navneserver, henvisning (delegering), cache

To slags DNS-servere

I lektion 1.1 så du at DNS er opdelt: ingen ved alt. Hvordan finder din browser så alligevel adressen på www.example.com? Det gør den fordi to slags servere samarbejder:

  • Autoritative navneservere (på engelsk authoritative) kender svaret for deres eget stykke. Navneserverne for example.com kender records for example.com. De slår ikke noget op for andre.
  • Resolvere (også kaldet rekursive resolvere) finder svaret for dig. De spørger videre indtil de har svaret. Din internetudbyder har en resolver, og der findes offentlige resolvere som dem fra Quad9, Cloudflare eller Google.

Din computer slår næsten ikke selv noget op. Den har en lille stub resolver som sender spørgsmålet videre til resolveren på dit netværk og får svaret tilbage.

Rejsen, trin for trin

Lad os sige: resolveren har endnu ikke husket noget, og du spørger om A-recorden for www.example.com.

  1. Din computer spørger resolveren: "Hvad er A-recorden for www.example.com?"
  2. Resolveren spørger en rodserver. Hver resolver har en indbygget liste med adresserne på rodserverne. Rodserveren kender ikke noget til example.com, men ved hvem der administrerer .com. Den svarer med en henvisning: "Det skal du spørge navneserverne for com om: a.gtld-servers.net, b.gtld-servers.net, og så videre."
  3. Resolveren spørger en navneserver for .com. Den kender heller ikke IP-adressen for www.example.com, men ved hvilke navneservere example.com har. Endnu en henvisning: "Spørg ns1.hosting.example eller ns2.hosting.example."
  4. Resolveren spørger en navneserver for example.com. Den er autoritativ for dette domæne og giver svaret: "www.example.com har A-record 192.0.2.10."
  5. Resolveren giver svaret til din computer. Din browser opretter forbindelse til 192.0.2.10.

En henvisning fra et højere niveau til navneserverne på et lavere niveau kaldes en delegering. Roden delegerer .com til Verisign, .com delegerer example.com til de navneservere som domæneindehaveren har angivet. For et .nl-domæne foregår det på nøjagtig samme måde, bare henviser roden til navneserverne for .nl (SIDN, for eksempel ns1.dns.nl). Det ser du selv i opgaven nederst i denne lektion. Derfor er det så vigtigt at navneserverne stemmer overens hos registry'en (lektion 2.1).

Cachen: ikke hele rejsen hver gang

Hvis hver resolver skulle starte ved roden for hver eneste forespørgsel, ville roden få en ufattelig mængde forespørgsler. Det sker ikke, fordi resolveren husker svarene et stykke tid. Den hukommelse kaldes cachen.

Hvor længe et svar må huskes, står i selve svaret: TTL'en (time to live), i sekunder. En TTL på 3600 betyder: dette svar må huskes i en time. Også henvisningerne bliver husket. En resolver som lige har hørt hvilke navneservere .com har, behøver ikke spørge roden om det igen næste gang.

Spørger en anden hos samme udbyder om www.example.com et minut senere, svarer resolveren straks fra sin cache. Ingen rejse, ingen ventetid.

Caches findes flere steder:

  • i resolveren hos din udbyder eller den offentlige resolver du bruger;
  • i dit styresystem (Windows, macOS, din telefon);
  • i din browser;
  • nogle gange i din router.

Det er hurtigt og effektivt, men det har en konsekvens du ofte støder på senere: ændrer du en record, bliver det gamle svar ved med at blive givet af caches indtil deres TTL er udløbet. Derfor ser nogle en ændring med det samme, mens andre endnu ikke gør. Modul 6 handler udførligt om dette.

Rodserverne

Der findes 13 navne til rodserverne: a.root-servers.net til og med m.root-servers.net. De administreres af tolv forskellige organisationer. Bag hvert navn står der globalt mange servere, på hundredvis af steder, som deler samme adresse (det kaldes anycast). Din resolver havner automatisk hos en der ligger tæt på. Også TLD-navneserverne, som dem for .com og .nl, fungerer på samme måde. Derfor er DNS hurtigt og bliver ved med at fungere selv hvis en server et sted falder ud.

Hvor det kan gå galt

Når du kender rejsen, kan du bedre placere problemer:

  • Delegeringen stemmer ikke. Hos registry'en står der navneservere som ikke (længere) kender domænet. Resolveren kommer så ikke videre ved trin 4. Svaret bliver en fejl, eller der kommer slet intet svar.
  • Den autoritative server har et andet svar end du forventer. Du har så ændret recorden et andet sted end der hvor navneserverne står (lektion 2.1).
  • Cachen har stadig det gamle svar. Så er der ikke noget i stykker. Du skal vente til TTL'en er udløbet, eller tømme din egen cache.
  • DNSSEC stemmer ikke. En validerende resolver kontrollerer signaturer undervejs. Stemmer kæden ikke, afviser den svaret (lektion 8.1).

Med værktøjet dig +trace kan du selv gennemgå rejsen, fra roden til den autoritative server. Det lærer du i lektion 8.2. Online værktøjer kan også gøre det.

Opsummering

  • Autoritative navneservere kender svaret for deres eget domæne; resolvere finder svaret for dig.
  • En resolver starter ved roden, får en henvisning til TLD'en, derefter til domænets navneservere, og får svaret dér.
  • Sådan en henvisning kaldes en delegering.
  • Svar huskes i caches, så længe TTL'en angiver; derfor er ændringer ikke synlige alle steder med det samme.
  • Der findes 13 rodservernavne, men takket være anycast står der mange servere bag dem globalt.

Quiz

1. Hvilken server finder svaret for dig ved at spørge andre servere?



2. Hvad svarer en rodserver på spørgsmålet om www.example.com?



3. Hvorfor behøver en resolver ikke starte ved roden ved hver eneste forespørgsel?



4. Der findes 13 rodservernavne. Betyder det at der står 13 rodservere i verden?



Opgave

Opgave Z1.4: Følg rejsen. Følg rejsen for www.sidn.nl, med dig +trace www.sidn.nl eller et online værktøj der viser en trace. Udfyld: (1) én navneserver for nl. som du møder undervejs, (2) én autoritativ navneserver for sidn.nl.

Opgave Z1.4: Følg rejsen



Det du udfylder, og det vi tjekker live, gemmer vi ikke. Din browser husker dine svar, og om du har bestået opgaven. Er du logget ind, gemmer vi kun, at du (næsten) havde opgaven rigtig, i Mine kurser; der kan du også slette det igen.

Læs videre

Disse artikler beskriver situationen hos WebOké. Hos andre udbydere fungerer det på lignende vis.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…