Hvad er DNS og hvordan fungerer DNS?

09-09-2023 - Blogs

Hvad er DNS?

Tænk på Domain Name System (DNS) som internettets degulesider.dk. Vi mennesker har lettere ved at navigere på nettet ved hjælp af domænenavne som tv2.dk eller reddit.com, i modsætning til vores webbrowser der foretrækker at gøre brug af Internet Protocol (IP)-adresser. Og her kommer DNS os til undsætning ved at konvertere disse domænenavne til IP-adresser, hvilket gør det muligt for vores browser at finde forskellige ressourcer på det store internet.

Hver computer/tablet/mobiltelefon, der er koblet til internettet, får en unik IP-adresse, der fungerer som dens online postnummer, der gør det muligt for andre computere at finde dens digitale “dørtrin”. Takket være DNS-serverne behøver vi ikke at prøve at huske indviklede IP-adresser som 192.168.1.1 (IPv4) eller de nyere og helt sikkert mere hjernevridende alfanumeriske IP-adresser såsom 2400:cb00:2048:1: :c629:d7a2 (IPv6) – og hvilke lettelse det er

Hvordan fungerer DNS?

Ligesom et hus har en unik adresse, har hver enhed, der er tilsluttet internettet, en unik IP-adresse. Så når du sigter efter at indlæse en bestemt webside, f.eks. www.sample.com i din browser, skal der ske noget teknisk magi for at oversætte det domænenavn til en maskinvenlig IP-adresse.

Har du nogensinde undret dig over, hvad der sker med din maskine, mens du utålmodigt tromme med fingrene og venter på, at en hjemmeside indlæses? Så skal du vide en DNS er hårdt på arbejde bag kulisserne – internettets ‘hvem er hvem’ og ‘hvor er hvor’!

At finde ud af hvordan en DNS fungerer, kræver det at man dykker dybt ned i det fascinerende hav af hardwarekomponent og kommunikationen, via DNS-forespørgsel. Men den gode er nyhed – din computer kan klare det hele for dig, og behøver ikke meget fra dig, udover navnet på den webside, du ønsker at udforske. Det er lidt ligesom at lege apport med din lokale DNS-server, men istedet for at hente en pind, så henter den hjemmesider istedet!

De forskellige 4 DNS-servere, der er involveret i indlæsning af en webside

DNS recursor

Forestil dig DNS-recursor som som en flittig biblotekar, der leder efter en bestemt bog i det store bibliotek – efter at have modtaget en anmodning fra en bruger. Denne biblotekaren er ingen ringere end en DNS-recursor’en som er en hårdtarbejdende helt, der bag kulisserne, sørger for at enhver anmodning om at tilgå en hjemmeside, ender med at brugeren finder den ønskede hjemmeside.

Når brugere begiver sig ud på en internetekspedition via deres webbrowsere og går ind på en hjemmeside i deres webbrowser, bliver opgaven at finde denne hjemmeside, delegeret til en DNS-rekursor server. Serveren påtager sig den gigantiske opgave at udfylde brugerens oprindelige DNS-forespørgsel. Nogle vil sige, at DBS-recursor’en er en digital Sherlock Holmes.

Root nameserver

Root nameserver spiller en afgørende rolle i at konvertere menneskevenlige domænenavne til IP-adresser. Det kan sammenlignes med et indeks i et bibliotek, der leder dig til bestemte bogreoler. I det væsentlige fungerer det som et centralt referencepunkt for at finde mere detaljerede oplysninger.

TLD nameserver

Top-level domain server (TLD) er analog med en dedikeret sektion af bøger i et bibliotek. På samme måde som TLD-serveren er ansvarlig for at hoste den sidste del af et værtsnavn (som “dk” i example.dk), spiller denne navneserver en afgørende rolle i søgen efter en specifik IP-adresse. Ligesom du ville gennemse et bestemt reol med bøger for at finde den, du har brug for, fungerer TLD-serveren som det næste trin i søgeprocessen.

Authoritative nameserver

Tænk på den endelige Authoritative nameserver som en referenceboghylde, hvor hver bog repræsenterer et specifikt navn og dets betydning. Denne autoritative navneserver fungerer som det sidste punkt i navneserverforespørgselsprocessen. Hvis den autoritative navneserver har den anmodede post, vil den sende IP-adressen tilknyttet værtsnavnet tilbage til DNS Recursor (bibliotekaren), der startede anmodningen. Dette sikrer en smidig og præcis oversættelse af domænenavne til IP-adresser.

Forskellen mellem en autoritativ DNS-server og en rekursiv DNS-resolver

Begge ideer vedrører servere (eller klynger af servere), som spiller vitale roller i DNS-strukturen, men hver af dem udfører forskellige roller og eksisterer på forskellige stadier i DNS-forespørgselspipelinen. En praktisk måde at skelne mellem disse roller på er at overveje den DNS resolver i begyndelsen af ​​DNS-forespørgslen og den authoritative DNS ved afslutningen.

Recursive DNS resolver

Den Recursive DNS resolver er den digitale komponent, der håndterer en klients rekursive anmodning, og dedikerer dens ressourcer og tid til at lokalisere DNS-informationen. Dette opnås ved at starte en sekvens af anmodninger, indtil den får fat i den autoritative DNS-navneserver, der indeholder informationerne om den efterspurgte hjemmeside. Hvis informationer ikke findes, vil den forspørgslen enten timeout eller returnere en fejlmeddelelse.

Heldigvis kan rekursive DNS-resolvere omgå behovet for flere anmodninger for at finde de nødvendige information til et bruger. Dette er muligt gennem en datapersistensstrategi kendt som caching, som kan fremskynde processen ved at præsentere den anmodede ressource i de tidlige stadier af en DNS-forespørgsel.

Authoritative DNS server

Enkelt sagt er en autoritativ Domain Name System-server (DNS) den server, der opbevarer og administrerer DNS-information. Denne server er den sidste komponent i en DNS-forespørgslen, og er ansvarlig for at svare med den efterspurgte information. Denne proces gør det muligt for den webbrowser, der foretager anmodningen, at få den nødvendige IP-adresse for at få adgang til en webside eller andre onlineressourcer.

En autoritativ navneserver har evnen til at svare på forespørgsler ved hjælp af sine egne data, hvilket eliminerer behovet for at konsultere en anden kilde – den er altså den ultimative kilde til DNS-informationer omkring en hjemmeside eller anden onlineressource.

Det er vigtigt at bemærke, at i tilfælde, hvor der forespørges på et underdomæne, såsom foo.example.dk eller blog.example.dk, indtaster en ekstra navneserver sekvensen efter den autoritative navneserver. Denne efterfølgende navneserver har til opgave at vedligeholde CNAME-registreringen for underdomænet.

DNS Request Sequencer

Hvilke forskellige trin er der i et DNS-forspørgsel?

Det næste spørgsmål er så: Hvordan fungerer DNS? I de fleste scenarier er den primære funktion for DNS servereb at transformere domænenavne til de tilsvarende IP-adresser. For at forstå denne mekanisme bedre, er det en fordel at gennemgå rejsen for et DNS-forespørgslen fra oprindelsesstedet – en webbrowser og hele vejen gennem DNS-forespørgslen processen og tilbage igen.

Det er dog vigtigt at notere, at normalt vil informationerne fra et DNS-opslag blive gemt i en cache, enten lokalt i den computerenhed, der starter forespørgslen, eller fjernt i selve DNS-infrastrukturen. Et fuldt DNS-opslag består typisk af 8 trin. Når DNS-oplysningerne cachelagres, omgås visse trin fra opslagsprocessen, hvilket accelererer hele processen. Eksemplet nedenfor giver et detaljeret overblik over alle disse 8 trin, forudsat at ingen information er cachelagret.

De ti trin i en DNS-forespørgslen

1) En bruger indtaster ‘example.dk’ i søgefeltet i en webbrowser, som derefter sender en anmodning til internettet, og bliver modtaget af en rekursiv DNS-resolver.

2) Resolveren forespørger derefter en DNS-rodnavneserver.

3) DNS-rodnavneserver returnere adressen på et Top-Level-Domain (TLD) DNS-server (som .dk eller .com), som indeholder data for sine egne domæner. Hvis vi f.eks. søger på example.dk, er vores efterspørgsel rettet mod .dk TLD.

4) Resolveren sender derefter en anmodning til .dk TLD’en.

5) Top Level Domain (TLD)-serveren leverer derefter Internet Protocol (IP)-adressen, der er knyttet til domænets navneserver; i dette tilfælde ville det være example.dk.

6) Den rekursive resolver sender derefter en forespørgsel til den specifikke navneserver på domænet.

7) IP-adressen for “eksempel.dk” returneres derefter til resolveren fra navneserveren.

8) DNS resolver’en returnere IP-adressen til browseren

9) Browseren laver derefter en HTTPS-anmodning til IP-adressen.

10) Serveren på den definerede IP sender websiden tilbage for at blive vist i brugerens browser

Hvad er DNS - de 10 steps

Hvad er en DNS resolver?

DNS-resolveren fungerer som det indledende kontrolpunkt i en DNS-forespørgsl , og har til opgave at administrere anmodninger fra klienten, der startede processen. Resolveren igangsætter en række forespørgsler, der til sidst fortolker en URL til den nødvendige IP-adresse.

Et almindeligt uncached DNS-opslag vil medføre både rekursive og iterative forespørgsler.

At kende forskellen mellem en rekursiv DNS-forespørgsel og en rekursiv DNS-resolver er utrolig vigtigt. DNS-forespørgslen angiver anmodningen til en DNS-resolver. I modsætning hertil svarer en DNS-resolver til, at computeren accepterer en rekursiv forespørgsel, og det er denne bærer ansvaret for at behandle svaret ved at fremsætte de relevante anmodninger.

De forskellige typer af DNS-forespørgsler

I hvert standard DNS-opslag er der tre centrale forespørgselsmodeller implementeret. Udnyttelse af disse i en koordineret rækkefølge kan strømline DNS-opløsningsprocessen og minimere omfanget af data der skal sendes frem og tilbage. Ideelt vil data fra en tidligere DNS-forespørgsel allerede være cached, hvilket giver en DNS-navneserver mulighed for at behandle en ikke-rekursiv forespørgsel.

3 types of DNS queries

1) Recursive Query

I en rekursiv dns-forespørgsel beder en klient en DNS-server (normalt en DNS-rekursiv resolver) om at svare tilbage enten med den anmodede ressource eller med en fejlmeddelelse, hvis resolveren ikke kan finde informationen. Dette krav om et omfattende svar er nøglen til at forstå en rekursiv forespørgsel, og det pålægger DNS-serveren at give et fuldstændigt svar eller årsag til dens manglende evne.

2) Iterative query

I et iterativt forespørgselsscenarie tillader DNS-klienten en DNS-server at give det bedste svar, den kan. Hvis den forespurgte DNS-server ikke har et nøjagtigt match for forespørgselsnavnet, returnerer den en henvisning til en DNS-server, der har autoritet til et lavere niveau af domænenavneområdet. DNS-klienten vil derefter sende en forespørgsel til den henviste adresse. Denne proces gentages med efterfølgende DNS-servere langs forespørgselskæden, indtil enten en fejl opstår, eller der opstår en timeout.

3) Non-recursive query

DNS-forespørgsel på en ikke-rekursiv måde forekommer normalt, når en DNS-resolverklient spørger en DNS-server om en post, der enten er autoritativ eller findes i dens cache. Generelt gemmer DNS-servere DNS-poster i en cache for at minimere yderligere båndbreddeforbrug og aflaste opstrømsservere. Disse oplysninger er afgørende, fordi de giver indsigt i funktionen af ​​dit domænes DNS-server, så du kan optimere dine websteder for forbedret tilgængelighed og bedre SEO-rangering.

Hvad er DNS-cache? og hvornår forekommer DNS-cache?

Caching tjener det formål at gemme data midlertidigt på et sted, der forbedrer ydeevne, pålidelighed og effektivitet af dataanmodninger. DNS-caching er specifikt en strategi, hvor data gemmes tættere på den klient, der foretager anmodningen, hvilket gør det muligt at udføre DNS-forespørgslen hurtigere. Denne strategi omgår effektivt behovet for yderligere forespørgsler langs DNS-opslagskæden, hvilket sikrer hurtigere indlæsningstider og reduceret forbrug af båndbredde og CPU. DNS-dataene kan blive cached flere steder, som alle vil opbevare dataene i et forudbestemt tidsrum som bliver dikteret af en time-to-live (TTL).

Browser DNS-caching

Nutidens browsere er i sagens natur programmeret til at gemme DNS-information i et bestemt tidsrum. Motivet bag dette er at reducere antallet af behandlingstrin involveret i at tjekke cachen og starte de relevante anmodninger til en IP-adresse. Hver gang der laves en DNS-forespørgsel, er browserens DNS-cache det første sted for der bliver tjekket.

I Google Chrome kan du fx. undersøge tilstanden af ​​din DNS-cache ved at dirigere din browser til chrome://net-internals/#dns. Dette vil vise dig forskellige detaljer om din DNS-cache, hvilket giver dig indsigt i dens operationelle status og ydeevne. Det kan være et værdifuldt værktøj til at forstå de tekniske aspekter af din webnavigation og webstedsoptimering. Det tilbyder konkrete data, der kan hjælpe med at guide din SEO-indsats, især for en blog om domæner.

DNS-caching på operativsystemniveau (OS)

Den anden fase af lokal handling af en DNS-forespørgsel betjenes via en DNS-resolver på OS-niveau. Dette er ofte kendt som “stub resolver” eller DNS-klient, og administrerer disse DNS-forespørgsler i dit operativsystem. Den tjekker i første omgang sin cache for at se, når en anmodning fremsættes af en applikation. Hvis den nødvendige information ikke findes, sender DNS-klienten en rekursiv DNS-forespørgsel til en DNS-rekursiv resolver integreret med internetudbyderen (ISP).

Ved modtagelse af en DNS-forespørgsel tjekker den rekursive resolver hos internetudbyderen også, om oversættelsen de har cached DNS infomrationerne, der anmodes om, allerede er gemt i dets lokale persistensområde.

Denne ISP-integrerede rekursive resolver har yderligere funktionalitet, som er påvirket af typen af ​​registreringer, den gemmer i sin locale cache

  1. Hvis resolveren mangler A-recorden, men alligevel besidder NS-recorden for den autoritative navneservere, vil den omgå adskillige trin og direkte sende DNS-forespørgslen til navneservere. Denne omvej undgår root- og .dk-navneserver-opslag (som i vores example.dk søgning), hvilket gør en DNS-query betydeligt hurtigere.
  2. Hvis resolveren mangler NS-recorden, sender den en forespørgsel til Top-Level Domain (TLD)-servere, i dette tilfælde .dk, og omgår rodserveren.
  3. I tilfælde af at resolveren mangler de alle nødvendige DNS-records – Der bliver DNS-forespørgslen videresendt til TLD-serverne, og derefter sendes forespørgselen til rodserverne.

Hvem skal du bruge som din DNS-udbyder?

Der er et væld af Domain Name System (DNS) udbydere tilgængelige i nutidens digitale æra. Disse udbydere spiller en afgørende rolle i at gøre internettet brugervenligt og tilgængeligt; de forbinder domænenavne med deres respektive IP-adresser og sikrer derved problemfri navigation online. Nogle af disse udbydere inkluderer Google DNS, Cloudflare, OpenDNS og Quad9, der hver tilbyder forskellige funktioner såsom sikkerhedsfiltre, privatlivsbeskyttelse og hurtig løsningshastighed. Flere udbydere skaber et konkurrencedygtigt miljø, der presser hver især til løbende at forbedre og innovere deres tjenester. Denne overflod af DNS-udbydere giver brugerne mulighed for at vælge den, der bedst passer til deres behov og krav. Men i sidste ende er det ofte et spørgsmål om præferencer, hvilken DNS-udbyder du bruger – vi har personligt brugt CloudFlares gratis DNS-planer i næsten 10 år – og kan ikke sige andet end gode ting om det