Home > Knowledge Base > DNS > Hoe werkt een DNS-query?
wanneer u uw browser opent en intypt “www.example.com”, of een DNS-client moet opzoeken van een naam die wordt gebruikt in een programma, het vraagt DNS-servers om de naam op te lossen. Elk query-bericht dat de client verzendt bevat drie stukjes informatie, waarbij een vraag wordt opgegeven die de DNS-server moet beantwoorden:
- een opgegeven DNS domeinnaam, vermeld als een fully qualified domain name (FQDN) zoals “www.bijvoorbeeld.com ”
- een opgegeven querytype, dat ofwel een bronrecord per type kan specificeren of een gespecialiseerd type querytype, zoals A, CNAME, NS enz.
- een opgegeven klasse voor de DNS-domeinnaam, zoals in (Internet)
wat zeggen?
Yep, dat is allemaal vrij technische mumbo jumbo over de werkelijke inhoud van een DNS-verzoek, en het is achter de schermen. Laten we het vereenvoudigen door te laten zien hoe het werkt met iets wat je elke dag doet. Hier is hoe het visueel werkt als je je browser te openen en proberen om naar een website.
een DNS-query voorbeeld
I dit voorbeeld kan de opgegeven doel-URL (naam) de FQDN voor een website zijn, zoals “example.com.”, en het query type opgegeven om te zoeken naar een adres (a) bronrecord met die naam (het is een ‘A’ record query omdat we het IP-adres willen).
zie een DNS-query als een client die een server een tweedelige vraag stelt, zoals ” Heeft u een A-bronrecord voor een website met de naam ‘example.com.’?”Wanneer de client een antwoord van de DNS-server ontvangt, leest en interpreteert de beantwoord ‘A’ bronrecord, het leren van het IP-adres voor de computer die het gevraagd door de naam.
DNS-Cache
DNS-query ‘ s worden op verschillende manieren opgelost. Een client kan een query soms lokaal beantwoorden met behulp van in de cache opgeslagen informatie die is verkregen van een vorige query. De DNS-server kan zijn eigen cache met informatie over bronrecords gebruiken om een query te beantwoorden.
een DNS-server kan ook andere DNS-servers opvragen of contact opnemen namens de aanvragende client om de naam volledig om te zetten en vervolgens een antwoord terugsturen naar de client. Dit proces staat bekend als recursie. Het wordt weergegeven in de afbeelding hierboven waar de DNS Resolver niet het antwoord heeft, dus het moet naar de root server. De rootserver leidt naar de juiste TLD-server voor het werkelijke antwoord dat vervolgens wordt doorgestuurd naar de gebruiker.
de duur van het antwoord in de cache wordt bepaald door de TTL (time-to-live) ingesteld door de eigenaar van het domein die de record in de eerste plaats heeft gemaakt. Goed gebouwde recursieve DNS-servers zullen dit gehoorzamen en de cache weggooien nadat de TTL verloopt, maar er zijn nog steeds ISP ‘ s die deze kritieke informatie om verschillende redenen onjuist negeren.
bovendien kan de client zelf proberen contact op te nemen met extra DNS-servers om een naam om te zetten. Wanneer een client dit doet, gebruikt deze afzonderlijke en extra query ‘ s op basis van verwijzingsantwoorden van servers. Dit proces staat bekend als iteratie. Bijvoorbeeld, als ik vraag om ‘www.example.com’, een ‘ A ‘ record bestaat misschien niet. Het kan eigenlijk een CNAME retourneren die me vertelt dat ik een ander verzoek moet doen om erachter te komen wat het IP-adres is.
over het algemeen vindt het DNS-query-proces plaats in twee delen:
- een naamquery begint op een clientcomputer en wordt voor resolutie doorgegeven aan een resolver, de DNS Client service.
- wanneer de query niet lokaal kan worden opgelost, kunnen DNS-servers worden opgevraagd als dat nodig is om de naam op te lossen.
als het niet werkt …
zoals u kunt zien, is er meer dan het oog ziet als het gaat om DNS query-resolutie. Als een DNS-server niet tijdig een antwoord geeft, kan het alles vertragen. Totdat uw browser weet het IP-adres voor de URL die u hebt ingevoerd, kan het niets anders doen dan wachten. Daarom is het belangrijk dat gezaghebbende DNS-servers snel zijn. Bovendien, als een gezaghebbende DNS-server uitvalt, dan zal de query uiteindelijk time-out en geen antwoord zal worden gegeven. Je hebt waarschijnlijk gezien dat van tijd tot tijd als je perused het Internet te klikken op een link voor een site die nooit aankomt.