Vad är DNS och hur fungerar DNS?
10-09-2023 - Ikke-kategoriseretVad är DNS?
Tänk på Domain Name System (DNS) som internets degulesider.se. Vi människor tycker att det är lättare att navigera på nätet med domännamn som thelocal.se eller reddit.com, till skillnad från vår webbläsare som föredrar att använda Internet Protocol (IP)-adresser. Och det är här DNS kommer till vår räddning genom att konvertera dessa domännamn till IP-adresser, vilket gör att vår webbläsare kan hitta olika resurser på det stora internet.
Varje dator/surfplatta/mobiltelefon som är ansluten till Internet får en unik IP-adress som fungerar som dess postnummer online, vilket gör det möjligt för andra datorer att hitta dess digitala ”tröske”. Tack vare DNS-servrarna behöver vi inte försöka komma ihåg komplicerade IP-adresser som 192.168.1.1 (IPv4) eller de nyare och säkert mer hjärntvättande alfanumeriska IP-adresserna som 2400:cb00:2048:1: :c629:d7a2 (IPv6 ) – och vilken lättnad det är
Hur fungerar DNS?
Precis som ett hus har en unik adress har varje enhet som är ansluten till Internet en unik IP-adress. Så när du siktar på att ladda en specifik webbsida, t.ex. www.sample.com i din webbläsare måste en del teknisk magi hända för att översätta det domännamnet till en maskinvänlig IP-adress.
Har du någonsin undrat vad som händer med din maskin medan du otåligt trummar med fingrarna i väntan på att en webbplats ska laddas? Då bör du veta att en DNS jobbar hårt bakom kulisserna – ”vem är vem” och ”var är var” på internet!
Att ta reda på hur en DNS fungerar kräver att dyka djupt ner i det fascinerande havet av hårdvarukomponenter och kommunikation, via DNS-förfrågningar. Men den goda nyheten är – din dator kan hantera allt åt dig och behöver inte mycket av dig annat än namnet på webbsidan du vill utforska. Det är lite som att spela apport med din lokala DNS-server, men istället för att hämta en sticka hämtar den hemsidor istället!
De olika 4 DNS-servrarna som är involverade i att ladda en webbsida
DNS recursor
Se DNS-recursorsom en flitig bibliotekarie som letar efter en viss bok i det stora biblioteket – efter att ha fått en förfrågan från en användare. Denna skattkammare är ingen mindre än DNS-recursor, som är en hårt arbetande hjälte bakom kulisserna, som ser till att varje begäran om att få tillgång till en webbplats slutar med att användaren hittar den önskade webbplatsen.
När användare ger sig ut på en Internetexpedition via sina webbläsare och går in på en webbplats i sin webbläsare, delegeras uppgiften att hitta den webbplatsen till en DNS-återgångsserver. Servern tar på sig den enorma uppgiften att slutföra användarens initiala DNS-query. Vissa skulle säga att DBS-recursor är en digital Sherlock Holmes.
Root nameserver
Root nameserver spelar en avgörande roll för att konvertera människovänliga domännamn till IP-adresser. Det kan jämföras med ett register i ett bibliotek som leder dig till vissa bokhyllor. I huvudsak fungerar det som en central referenspunkt för att hitta mer detaljerad information.
TLD nameserver
Toppdomänserver (TLD) är analog med en dedikerad del av böcker i ett bibliotek. På samma sätt som TLD-servern är ansvarig för att hosta den sista delen av ett värdnamn (som ”dk” i exempel.se), spelar denna namnserver en avgörande roll i sökningen efter en specifik IP-adress. Precis som du skulle bläddra i en viss bokhylla för att hitta den du behöver, fungerar TLD-servern som nästa steg i sökprocessen.
Authoritative nameserver
Tänk på den slutliga auktoritativa namnservern som en referensbokhylla, där varje bok representerar ett specifikt namn och dess betydelse. Denna auktoritativa namnserver fungerar som den sista punkten i namnserverns frågeprocess. Om den auktoritativa namnservern har den begärda posten kommer den att skicka IP-adressen som är associerad med värdnamnet tillbaka till DNS Recursor (bibliotekarien) som initierade begäran. Detta säkerställer en flexibel och korrekt översättning av domännamn till IP-adresser.
Skillnaden mellan en auktoritativ DNS-server och en rekursiv DNS-resolver
Båda idéerna gäller servrar (eller kluster av servrar) som spelar viktiga roller i DNS-strukturen, men var och en har olika roller och finns i olika stadier i DNS-frågans pipeline. Ett praktiskt sätt att skilja mellan dessa roller är att överväga DNS-upplösaren i början av DNS-frågan och den auktoritativa DNS-en i slutet.
Recursive DNS resolver
Den rekursiva DNS-resolvern är den digitala komponenten som hanterar en klients rekursiva förfrågan och dedicerar dess resurser och tid för att lokalisera DNS-informationen. Detta uppnås genom att starta en sekvens av förfrågningar tills den får tag i den auktoritativa DNS-namnservern som innehåller informationen om den begärda webbplatsen. Om informationen inte hittas kommer frågan antingen timeout eller returnera ett felmeddelande.
Lyckligtvis kan rekursiva DNS-upplösare kringgå behovet av flera förfrågningar för att hitta den nödvändiga informationen för en användare. Detta är möjligt genom en databeständighetsstrategi som kallas caching, som kan påskynda processen genom att presentera den begärda resursen i de tidiga stadierna av en DNS-fråga.
Authoritative DNS server
Enkelt uttryckt är en auktoritativ DNS-server (Domain Name System) servern som lagrar och hanterar DNS-information. Denna server är den sista komponenten i en DNS-förfrågan och är ansvarig för att svara med den begärda informationen. Denna process gör det möjligt för den begärande webbläsaren att få den IP-adress som behövs för att komma åt en webbsida eller annan onlineresurs.
En auktoritativ namnserver har förmågan att svara på frågor med hjälp av sin egen data, vilket eliminerar behovet av att konsultera en annan källa – den är alltså den ultimata källan till DNS-information om en webbplats eller annan onlineresurs.
Det är viktigt att notera att i de fall där en underdomän efterfrågas, såsom foo.example.se eller blog.example.se, anger en extra namnserver sekvensen efter den auktoritativa namnservern. Denna nedströmsnamnserver är ansvarig för att underhålla CNAME-registreringen för underdomänen.
Vilka är de olika stegen i en DNS-fråga?
Nästa fråga är då: Hur fungerar DNS? I de flesta scenarier är DNS-servrarnas primära funktion att omvandla domännamn till motsvarande IP-adresser. För att förstå denna mekanism bättre är det användbart att granska resan för en DNS-fråga från ursprungspunkten – en webbläsare och hela vägen genom DNS-förfrågningsprocessen och tillbaka igen.
Det är dock viktigt att notera att normalt kommer informationen från en DNS-uppslagning att lagras i en cache, antingen lokalt i den datorenhet som initierar frågan, eller på distans i själva DNS-infrastrukturen. En fullständig DNS-sökning består vanligtvis av 8 steg. När DNS-informationen cachelagras förbigås vissa steg från uppslagsprocessen, vilket påskyndar hela processen. Exemplet nedan ger en detaljerad översikt över alla dessa 8 steg, förutsatt att ingen information är cachad.
De tio stegen i en DNS-fråga
1) En användare anger ”example.se” i sökfältet i en webbläsare, som sedan skickar en begäran till Internet och tas emot av en rekursiv DNS-resolver.
2) Resolvern frågar sedan en DNS-rotnamnserver.
3) DNS-rotnamnserver returnerar adressen till en toppdomän (TLD) DNS-server (som .se eller .com) som innehåller data för sina egna domäner. Om vi t.ex. sökningar på example.se riktas vår efterfrågan mot .seTLD.
4) Resolvern skickar sedan en begäran till .seTLD.
5) Top Level Domain-servern (TLD) tillhandahåller sedan Internet Protocol (IP)-adressen som är associerad med domänens namnserver; i det här fallet skulle det vara exempel.se.
6) Den rekursiva resolvern skickar sedan en fråga till den specifika namnservern för domänen.
7) IP-adressen för ”example.se” returneras sedan till resolvern från namnservern.
8) DNS-resolvern returnerar IP-adressen till webbläsaren
9) Webbläsaren gör sedan en HTTPS-förfrågan till IP-adressen.
10) Servern på den definierade IP-adressen skickar tillbaka webbsidan för att visas i användarens webbläsare
Vad är en DNS-lösare?
DNS-resolvern fungerar som den första kontrollpunkten i en DNS-förfrågan och har till uppgift att hantera förfrågningar från klienten som initierade processen. Resolvern initierar en serie frågor som så småningom löser en URL till den erforderliga IP-adressen.
En vanlig uncachad DNS-sökning kommer att orsaka både rekursiva och iterativa frågor.
Att veta skillnaden mellan en rekursiv DNS-fråga och en rekursiv DNS-resolver är otroligt viktigt. DNS-frågan anger begäran till en DNS-resolver. Däremot är en DNS-resolver likvärdig med att datorn accepterar en rekursiv fråga, och den bär ansvaret för att bearbeta svaret genom att göra lämpliga förfrågningar.
De olika typerna av DNS-frågor
I varje standard DNS-uppslagning finns det tre nyckelfrågemodeller implementerade. Att använda dessa i en samordnad ordning kan effektivisera DNS-upplösningsprocessen och minimera mängden data som måste skickas fram och tillbaka. Helst kommer data från en tidigare DNS-fråga redan att cachelagras, vilket gör att en DNS-namnserver kan bearbeta en icke-rekursiv fråga.
3 typer av DNS-frågor
1) Recursive Query
I en rekursiv dns-fråga ber en klient en DNS-server (vanligtvis en DNS-rekursiv resolver) att svara tillbaka med antingen den begärda resursen eller med ett felmeddelande om resolvern inte kan hitta informationen. Detta krav på ett heltäckande svar är nyckeln till att förstå en rekursiv fråga, och det tvingar DNS-servern att ge ett fullständigt svar eller orsak till dess oförmåga.
2) Iterative query
I ett iterativt frågescenario tillåter DNS-klienten en DNS-server att ge det bästa svaret den kan. Om den efterfrågade DNS-servern inte har en exakt matchning för frågenamnet, returnerar den en pekare till en DNS-server som har behörighet för en lägre nivå av domännamnsområdet. DNS-klienten skickar sedan en förfrågan till den hänvisade adressen. Denna process upprepas med efterföljande DNS-servrar längs frågekedjan tills antingen ett fel inträffar eller en timeout inträffar.
3) Non-recursive query
DNS-fråga på ett icke-rekursivt sätt sker vanligtvis när en DNS-resolverklient frågar en DNS-server efter en post som antingen är auktoritativ eller finns i dess cache. I allmänhet lagrar DNS-servrar DNS-poster i en cache för att minimera ytterligare bandbreddsförbrukning och ladda uppströmsservrar. Denna information är avgörande eftersom den ger insikt i hur din domäns DNS-server fungerar så att du kan optimera dina webbplatser för förbättrad tillgänglighet och bättre SEO-rankning.
Vad är DNS-cache? och när uppstår DNS-cache?
Cachning tjänar syftet att tillfälligt lagra data på en plats som förbättrar prestanda, tillförlitlighet och effektivitet för dataförfrågningar. Specifikt är DNS-cache en strategi där data lagras närmare klienten som gör begäran, vilket gör att DNS-frågan kan utföras snabbare. Denna strategi kringgår effektivt behovet av ytterligare frågor längs DNS-uppslagskedjan, vilket säkerställer snabbare laddningstider och minskad bandbredd och CPU-förbrukning. DNS-data kan cachelagras på flera platser, som alla kommer att behålla datan under en förutbestämd tid som dikteras av en tid-till-live (TTL).
Webbläsarens DNS-cache
Dagens webbläsare är i sig programmerade att lagra DNS-information under en viss tid. Motivet bakom detta är att minska antalet bearbetningssteg som är involverade i att kontrollera cachen och initiera lämpliga förfrågningar till en IP-adress. Varje gång en DNS-förfrågan görs är webbläsarens DNS-cache det första stället att kontrollera.
I Google Chrome kan du t.ex. undersök tillståndet för din DNS-cache genom att dirigera din webbläsare till chrome://net-internals/#dns. Detta kommer att visa dig olika detaljer om din DNS-cache, vilket ger dig insikt i dess driftstatus och prestanda. Det kan vara ett värdefullt verktyg för att förstå de tekniska aspekterna av din webbnavigering och webbplatsoptimering. Den erbjuder konkreta data som kan hjälpa dig att vägleda dina SEO-ansträngningar, särskilt för en blogg om domäner.
DNS-cachelagring på operativsystemnivå (OS)
Det andra steget av lokal bearbetning av en DNS-fråga hanteras via en DNS-resolver på OS-nivå. Detta kallas ofta ”stub resolver” eller DNS-klient och hanterar dessa DNS-frågor i ditt operativsystem. Den kontrollerar initialt sin cache för att se när en begäran görs av en applikation. Om den nödvändiga informationen inte hittas skickar DNS-klienten en rekursiv DNS-fråga till en DNS-rekursiv resolver integrerad med Internet Service Provider (ISP).
Vid mottagande av en DNS-förfrågan kontrollerar den rekursiva resolvern hos ISP också om översättningen som de har cachelagrat av den begärda DNS-informationen redan är lagrad i dess lokala beständighetsområde.
Denna ISP-integrerade rekursiva resolver har ytterligare funktionalitet som påverkas av typen av poster den lagrar i sin lokala cache
- Om resolvern saknar A-posten men fortfarande har NS-posten för de auktoritativa namnservrarna, kommer den att kringgå flera steg och skicka DNS-frågan direkt till namnservrarna. Denna omväg undviker root- och .dk-namnserveruppslagningar (som i vår exempel.dk-sökning), vilket gör en DNS-fråga betydligt snabbare.
- Om resolvern saknar NS-posten, skickar den en fråga till Top-Level Domain (TLD)-servrar, i det här fallet .dk, förbi rotservern.
- Om resolvern saknar alla nödvändiga DNS-poster – DNS-frågan vidarebefordras till TLD-servrarna och sedan skickas frågan till rotservrarna.
Vem ska du använda som din DNS-leverantör?
Det finns en mängd DNS-leverantörer (Domain Name System) tillgängliga i dagens digitala era. Dessa leverantörer spelar en avgörande roll för att göra Internet användarvänligt och tillgängligt; de associerar domännamn med sina respektive IP-adresser, vilket säkerställer problemfri navigering online. Några av dessa leverantörer inkluderar Google DNS, Cloudflare, OpenDNS och Quad9, som alla erbjuder olika funktioner som säkerhetsfilter, integritetsskydd och snabb upplösningshastighet. Flera leverantörer skapar en konkurrenskraftig miljö som driver var och en att kontinuerligt förbättra och förnya sina tjänster. Detta överflöd av DNS-leverantörer tillåter användare att välja den som bäst passar deras behov och krav. Men i slutändan är det ofta en fråga om preferens vilken DNS-leverantör du använder – vi har personligen använt CloudFlares gratis DNS-planer i nästan 10 år – och har inget annat än bra saker att säga om det