hem > kunskapsbas > DNS > hur fungerar en DNS-fråga?
när du öppnar din webbläsare och skriver in ”www.example.com”, eller en DNS-klient behöver leta upp ett namn som används i ett program, det frågar DNS-servrar för att lösa namnet. Varje frågemeddelande klienten skickar innehåller tre bitar av information, Ange en fråga för DNS-servern att svara:
- ett angivet DNS-domännamn, angivet som ett fullständigt kvalificerat domännamn (FQDN) som ”www.exempel.com ”
- en specificerad frågetyp, som antingen kan ange en resurspost efter typ eller en specialiserad typ av frågeoperation som A, CNAME, NS etc.
- en angiven klass för DNS-domännamnet som i (Internet)
säga vad?
Japp, allt detta är ganska tekniskt mumbo jumbo om det faktiska innehållet i en DNS-begäran, och det ligger bakom kulisserna. Låt oss förenkla det genom att visa hur det fungerar med något du gör varje dag. Så här fungerar det visuellt om du skulle öppna din webbläsare och försöka gå till en webbplats.
ett DNS-frågexempel
I det här exemplet kan måladressen (namn) som anges vara FQDN för en webbplats, till exempel ”example.com.”, och frågetypen som anges för att leta efter en adress (a) resurspost med det namnet (det är en ” a ” – postfråga eftersom vi vill ha IP-adressen).
Tänk på en DNS-fråga som en klient som frågar en server en tvådelad fråga, till exempel ”har du några” A ”- resursposter för en webbplats som heter ” example.com.’?”När klienten får ett svar från DNS-servern läser den och tolkar den besvarade” a ” – resursposten och lär sig IP-adressen för datorn som den bad om med namn.
DNS Cache
DNS-frågor löser på ett antal olika sätt. En klient kan ibland svara på en fråga lokalt med hjälp av cachad (lagrad) information som erhållits från en tidigare fråga. DNS-servern kan använda sin egen cache av resurspostinformation för att svara på en fråga.
en DNS-server kan också fråga eller kontakta andra DNS-servrar på uppdrag av den begärande klienten för att helt lösa namnet och sedan skicka ett svar tillbaka till klienten. Denna process kallas rekursion. Det är avbildat i bilden ovan där DNS-Upplösaren inte har svaret, så det måste gå till rotservern. Rotservern leder till rätt TLD-server för det faktiska svaret som sedan vidarebefordras tillbaka till användaren.
hur länge svaret stannar i cachen bestäms av TTL (time-to-live) som ställts in av ägaren till domänen som skapade posten i första hand. Korrekt byggda rekursiva DNS-servrar kommer att lyda detta och kassera cachen efter att TTL löper ut, men det finns fortfarande Internetleverantörer som felaktigt ignorerar denna kritiska information av olika skäl.
dessutom kan klienten själv försöka kontakta ytterligare DNS-servrar för att lösa ett namn. När en klient gör det använder den separata och ytterligare frågor baserade på hänvisningssvar från servrar. Denna process kallas iteration. Till exempel, om jag ber om ’www.example.com’, en’ a ’ – post kanske inte existerar. Det kan faktiskt returnera ett CNAME som säger att jag borde göra en annan förfrågan för att ta reda på vad IP-adressen är.
i allmänhet sker DNS-frågeprocessen i två delar:
- en namnfråga börjar på en klientdator och skickas till en resolver, DNS-klienttjänsten, för upplösning.
- när frågan inte kan lösas lokalt kan DNS-servrar frågas efter behov för att lösa namnet.
när det inte fungerar …
som du kan se finns det mer än vad som möter ögat när det gäller DNS-frågaupplösning. Om en DNS-server inte ger ett svar i tid kan det sakta ner allt. Tills din webbläsare känner till IP-adressen för webbadressen du angav kan den inte göra annat än att vänta. Det är därför det är viktigt för auktoritativa DNS-servrar att vara snabba. Dessutom, om en auktoritativ DNS-server går ner, kommer frågan så småningom att time-out och inget svar kommer att ges. Du har förmodligen sett det då och då när du granskade Internet genom att klicka på en länk för en webbplats som aldrig kommer.