adressupplösningsmekanism
domännamn resolvers bestämmer domännamnsservrarna som är ansvariga för domännamnet i fråga genom en sekvens av frågor som börjar med domänetiketten på högsta nivå.,
en DNS-resolver som implementerar det iterativa tillvägagångssätt som krävs av RFC 1034; i detta fall konsulterar resolver tre namnservrar för att lösa det fullständigt kvalificerade domännamnet ”www.wikipedia.org”.
för att dess domännamn ska fungera korrekt konfigureras en nätverksvärd med en initial cache (tips) av de kända adresserna till rotnamnsservrarna. Tipsen uppdateras regelbundet av en administratör genom att hämta en datauppsättning från en tillförlitlig källa.,
förutsatt att resolver har inga cachade poster för att påskynda processen, börjar upplösningsprocessen med en fråga till en av rotservrarna. I typisk operation svarar rotservrarna inte direkt, men svarar med en hänvisning till mer auktoritativa servrar, t. ex. en fråga om ”www.wikipedia.org” hänvisas till organisationsservrarna. Resolver frågar nu de servrar som avses, och iterativt upprepar denna process tills den får ett auktoritativt svar. Diagrammet illustrerar denna process för värden som namnges av det fullt kvalificerade domännamnet ”www.wikipedia.org”.,
denna mekanism skulle lägga en stor trafikbelastning på rotservrarna, om varje upplösning på Internet krävs med start vid roten. I praktiken caching används i DNS-servrar för att avläsa rotservrar, och som ett resultat, rot namnservrar faktiskt är inblandade i endast en relativt liten del av alla förfrågningar.
rekursiv och caching name server
i teorin är auktoritativa namnservrar tillräckliga för driften av Internet., Men med endast auktoritativa namnservrar som är verksamma, måste varje DNS-fråga börja med rekursiva frågor i rotzonen i domännamnssystemet och varje användarsystem måste implementera resolver-programvara som kan rekursivdrift.
För att förbättra effektiviteten, minska DNS-trafiken över Internet och öka prestanda i slutanvändarapplikationer stöder domännamnssystemet DNS-cacheservrar som lagrar DNS-frågeresultat under en tidsperiod som bestäms i konfigurationen (time-to-live) för domännamnsposten i fråga.,Vanligtvis implementerar sådana caching DNS-servrar också den rekursiva algoritmen som är nödvändig för att lösa ett visst namn som börjar med DNS-roten till de auktoritativa namnservrarna på den efterfrågade domänen. Med den här funktionen implementerad i namnservern får användarprogram effektivitet i design och drift.
kombinationen av DNS-cachning och rekursiva funktioner i en namnserver är inte obligatorisk; funktionerna kan implementeras oberoende i servrar för speciella ändamål.
Internetleverantörer tillhandahåller vanligtvis rekursiva och cachade namnservrar för sina kunder., Dessutom implementerar många hemnätverk routrar DNS-cachar och rekursorer för att förbättra effektiviteten i det lokala nätverket.
DNS-resolvers
klientsidan på DNS kallas en DNS-resolver. En resolver är ansvarig för att initiera och sekvensera de frågor som i slutändan leder till en fullständig upplösning (översättning) av den begärda resursen, t.ex. översättning av ett domännamn till en IP-adress. DNS-resolvers klassificeras av en mängd olika frågemetoder, såsom rekursiva, icke-rekursiva och iterativa. En upplösningsprocess kan använda en kombination av dessa metoder.,
i en icke-rekursiv fråga, en DNS resolver frågor en DNS-server som ger en post antingen för vilken servern är auktoritativ, eller det ger ett partiellt resultat utan att fråga andra servrar. I händelse av en caching DNS resolver, den icke-rekursiva frågan om dess lokala DNS-cache ger ett resultat och minskar belastningen på uppströms DNS-servrar genom caching DNS resursposter under en tidsperiod efter ett första svar från uppströms DNS-servrar.
i en rekursiv fråga frågar en DNS-resolver en enda DNS-server, som i sin tur kan fråga andra DNS-servrar på uppdrag av sökanden., Till exempel gör en enkel stub resolver som körs på en hemmarouter vanligtvis en rekursiv fråga till DNS-servern som körs av användarens ISP. En rekursiv fråga är en för vilken DNS-servern svarar frågan helt genom att fråga andra namnservrar efter behov. I typisk operation utfärdar en klient en rekursiv fråga till en caching rekursiv DNS-server, som därefter utfärdar icke-rekursiva frågor för att bestämma svaret och skicka ett enda svar tillbaka till klienten., Resolver, eller en annan DNS-server som agerar rekursivt på uppdrag av resolver, förhandlar om användning av rekursiv tjänst med hjälp av bitar i frågehuvuden. DNS-servrar krävs inte för att stödja rekursiva frågor.
den iterativa frågeproceduren är en process där en DNS-resolver frågar en kedja av en eller flera DNS-servrar. Varje server hänvisar klienten till nästa server i kedjan tills den aktuella servern helt kan lösa förfrågan. Till exempel en möjlig upplösning av www.example.com skulle fråga en global rotserver, sedan en” com ” – server och slutligen en ”example.com” server.,
cirkulära beroenden och limposter
namnservrar i delegationerna identifieras med namn, snarare än med IP-adress. Detta innebär att en lösa namnserver måste utfärda en annan DNS-begäran för att ta reda på IP-adressen för den server som den har hänvisats till. Om namnet i delegationen är en underdomän av det område för vilket delegationen tillhandahålls, finns det ett cirkulärt beroende.
i detta fall måste namnservern som tillhandahåller delegationen också tillhandahålla en eller flera IP-adresser för den auktoritativa namnservern som nämns i delegationen., Denna information kallas lim. Den delegerande namnservern tillhandahåller detta lim i form av poster i den extra delen av DNS-svaret och tillhandahåller delegationen i myndighetens avsnitt av svaret. En limpost är en kombination av namnservern och IP-adressen.
till exempel om den auktoritativa namnservern för example.org är ns1.example.org, en dator som försöker lösa www.example.org först löser ns1.example.org. som ns1 finns i example.org, detta kräver att lösa example.org först, som presenterar ett cirkulärt beroende., För att bryta beroendet innehåller namnservern för toppdomänorganisationen lim tillsammans med delegeringen för example.org. limposterna är adressposter som ger IP-adresser för ns1.example.org. resolver använder en eller flera av dessa IP-adresser för att fråga en av domänens auktoritativa servrar, vilket gör det möjligt att slutföra DNS-frågan.
spela in cachning
en vanlig praxis vid implementering av namnupplösning i applikationer är att minska belastningen på Domännamnssystemservrar genom caching resultat lokalt, eller i mellanliggande resolver värdar., Resultat som erhållits från en DNS-begäran är alltid förknippade med tiden att leva (TTL), en utgångstid efter vilken resultaten måste kasseras eller uppdateras. TTL ställs in av administratören för den auktoritativa DNS-servern. Giltighetstiden kan variera från några sekunder till dagar eller veckor.
som ett resultat av denna distribuerade cacharkitektur sprids inte ändringar i DNS-poster direkt i hela nätverket, men kräver att alla cachar löper ut och uppdateras efter TTL. RFC 1912 förmedlar grundläggande regler för att bestämma lämpliga TTL-värden.,
vissa upplösare kan åsidosätta TTL-värden, eftersom protokollet stöder cachning i upp till sextioåtta år eller ingen cachning alls. Negativ cachning, dvs. cachning av det faktum att det inte finns någon post, bestäms av namnservrar som är auktoritativa för en zon som måste innehålla början av Auktoritetsposten (SOA) när det inte finns några data av den begärda typen. Värdet av MINIMIFÄLTET för SOA-posten och TTL för själva SOA används för att fastställa TTL för det negativa svaret.,
omvänd sökning
en omvänd DNS-sökning är en fråga från DNS för domännamn när IP-adressen är känd. Flera domännamn kan associeras med en IP-adress. DNS lagrar IP-adresser i form av domännamn som speciellt formaterade namn i pointer (PTR) poster inom infrastruktur toppnivå domän arpa. För IPv4 är domänen in-addr.arpa. för IPv6 är omvänd sökning domän ip6.arpa. IP-adressen är representerad som ett namn i omvänd beställd octet-representation för IPv4 och omvänd beställd nibble-representation för IPv6.,
När du utför en omvänd sökning konverterar DNS-klienten adressen till dessa format innan du frågar namnet på en PTR-post efter delegeringskedjan som för alla DNS-frågor. Till exempel, antag att IPv4-adress 208.80.152.2 är tilldelad till Wikimedia, det är representerad som en DNS-namn i omvänd ordning: 2.152.80.208.i-postadress.arpa. När DNS resolver blir en pekare (PTR) begäran, det börjar med att fråga root-servrar, som pekar på att de servrar av American Registry for Internet Numbers (ARIN) för 208.i-postadress.arpa-zon. Arins servrar delegera 152.80.208. in-addr.,arpa till Wikimedia som resolver skickar en fråga för 2.152.80.208.i-postadress.arpa, vilket resulterar i ett auktoritativt svar.
Client lookup
DNS resolution sequence
användare kommunicerar i allmänhet inte direkt med en DNS-resolver. Istället sker DNS-upplösning Öppet i applikationer som webbläsare, e-postklienter och andra Internet-applikationer., När ETT program gör en begäran som kräver en sökning av domännamn, skickar sådana program en begäran om upplösning till DNS-resolver i det lokala operativsystemet, som i sin tur hanterar den kommunikation som krävs.
DNS resolver kommer nästan alltid att ha en cache (se ovan) som innehåller senaste uppslagningar. Om cachen kan ge svaret på begäran kommer resolver att returnera värdet i cachen till det program som gjorde begäran. Om cachen inte innehåller svaret skickar resolver förfrågan till en eller flera utsedda DNS-servrar., När det gäller de flesta hemanvändare levererar Internetleverantören som Datorn ansluter vanligtvis denna DNS-server: en sådan användare har antingen konfigurerat serverns adress manuellt eller tillåtit DHCP att ställa in den; men där systemadministratörer har konfigurerat system för att använda sina egna DNS-servrar pekar deras DNS-resolvers på separat underhållna namnservrar i organisationen. I vilket fall som helst, namnservern därmed frågat kommer att följa den process som beskrivs ovan, tills den antingen framgångsrikt hittar ett resultat eller inte., Det returnerar sedan dess resultat till DNS resolver; förutsatt att det har hittat ett resultat, resolver vederbörligen cachar som resulterar för framtida bruk, och händer resultatet tillbaka till den programvara som initierade begäran.
brutna resolvers
vissa stora Internetleverantörer har konfigurerat sina DNS-servrar att bryta mot regler, till exempel genom att inte lyda TTLs, eller genom att ange att ett domännamn inte existerar bara för att en av dess namnservrar inte svarar.
vissa program som webbläsare upprätthåller en intern DNS-cache För att undvika upprepade sökningar via nätverket., Denna praxis kan lägga till extra svårigheter vid felsökning DNS-problem eftersom det döljer historien om sådana data. Dessa cachar använder vanligtvis mycket korta cachningstider i storleksordningen en minut.
Internet Explorer representerar ett anmärkningsvärt undantag: versioner upp till IE 3.X cache DNS-poster för 24 timmar som standard. Internet Explorer 4.x och senare versioner (upp till IE 8) minskar standardvärdet för timeout till en halvtimme, vilket kan ändras genom att ändra standardkonfigurationen.
När Google Chrome upptäcker problem med DNS-servern visas ett specifikt felmeddelande.,
andra program
domännamnssystemet innehåller flera andra funktioner och funktioner.
värdnamn och IP-adresser krävs inte för att matcha i en relation mellan en och en. Flera värdnamn kan motsvara en enda IP-adress, vilket är användbart i virtuell värd, där många webbplatser serveras från en enda värd. Alternativt kan ett enda värdnamn lösa till många IP-adresser för att underlätta feltolerans och ladda distribution till flera serverinstanser över ett företag eller det globala Internet.,
DNS tjänar andra syften förutom att översätta namn till IP-adresser. E-postöverföringsagenter använder till exempel DNS för att hitta den bästa e-postservern för att leverera E-post: en MX-post ger en mappning mellan en domän och en e-postväxlare; detta kan ge ett extra lager av feltolerans och lastfördelning.
DNS används för effektiv lagring och distribution av IP-adresser för svartlistade e-postvärdar., En vanlig metod är att placera IP-adressen för ämnesvärden i underdomänen för ett domännamn på högre nivå och att lösa det namnet till en post som indikerar en positiv eller negativ indikation.
till exempel:
e-postservrar kan fråga svartlista.exempel för att ta reda på om en specifik värd som ansluter till dem finns i den svarta listan. Många av sådana svartlistor, antingen prenumerationsbaserade eller utan kostnad, är tillgängliga för användning av e-post administratörer och anti-spam programvara.,
för att ge motståndskraft vid dator-eller nätverksfel tillhandahålls vanligtvis flera DNS-servrar för täckning av varje domän. På toppnivå av global DNS finns tretton grupper av rotnamnsservrar, med ytterligare ”kopior” av dem distribuerade över hela världen via anycast-adressering.
dynamisk DNS (DDNS) uppdaterar en DNS-server med en klients IP-adress i farten, till exempel när du flyttar mellan Internetleverantörer eller mobila hot spots, eller när IP-adressen ändras administrativt.