Úvod > znalostní báze > DNS > jak funguje dotaz DNS?
když otevřete prohlížeč a zadáte „www.example.com“, nebo klient DNS potřebuje vyhledat jméno použité v programu, dotazuje servery DNS k vyřešení názvu. Každá dotazová zpráva, kterou klient odešle, obsahuje tři informace a specifikuje otázku, na kterou má server DNS odpovědět:
- zadaný název domény DNS, uvedený jako plně kvalifikovaný název domény (FQDN), například “ www.příklad.com “
- zadaný typ dotazu, který může buď zadat záznam zdroje podle typu, nebo specializovaný typ operace dotazu, jako je A, CNAME, NS atd.
- zadaná třída pro název domény DNS, například V (Internet)
říct co?
Ano, to vše je docela technické mumbo jumbo o skutečném obsahu požadavku DNS a je to v zákulisí. Zjednodušme to tím, že ukážeme, jak to funguje s něčím, co děláte každý den. Zde je návod, jak to funguje vizuálně, pokud byste měli otevřít prohlížeč a pokusit se přejít na web.
příklad dotazu DNS
I v tomto příkladu může být zadaná cílová adresa URL (název) FQDN pro web, například „example.com.“ a zadaný typ dotazu hledat záznam zdroje adresy (A) tímto názvem (je to záznamový dotaz „A“, protože chceme adresu IP).
Přemýšlejte o dotazu DNS jako o klientovi, který požádá server o dvoudílnou otázku, například „máte nějaké záznamy prostředků“ A “ pro web s názvem „example.com.‘?“Když klient obdrží odpověď ze serveru DNS, přečte a interpretuje odpovězený záznam zdroje „A“ a naučí se IP adresu počítače, o který požádal, podle jména.
DNS Cache
DNS dotazy řeší mnoha různými způsoby. Klient může někdy odpovědět na dotaz lokálně pomocí uložených (uložených) informací získaných z předchozího dotazu. Server DNS může k zodpovězení dotazu použít vlastní mezipaměť informací o záznamu prostředků.
server DNS může také dotazovat nebo kontaktovat jiné servery DNS jménem žádajícího klienta, aby plně vyřešil jméno, a poté odeslat odpověď zpět klientovi. Tento proces se nazývá rekurze. Je zobrazen na obrázku výše, kde Resolver DNS nemá odpověď, takže musí jít na kořenový server. Kořenový server přesměruje na správný server TLD pro skutečnou odpověď, která je poté předána zpět uživateli.
doba, po kterou odpověď zůstane v mezipaměti, je určena TTL (time-to-live) nastaveným vlastníkem domény, který vytvořil záznam na prvním místě. Správně postavené rekurzivní servery DNS to poslouchají a zahodí mezipaměť po vypršení platnosti TTL, ale stále existují poskytovatelé internetových služeb, kteří tyto důležité informace nesprávně ignorují z různých důvodů.
kromě toho se klient sám může pokusit kontaktovat další servery DNS a vyřešit jméno. Když tak klient učiní, používá samostatné a další dotazy založené na doporučených odpovědích ze serverů. Tento proces se nazývá iterace. Například, když požádám o ‚www.example.com‘, záznam “ A “ nemusí existovat. Mohlo by to skutečně vrátit CNAME, které mi říká,že bych měl podat další žádost, abych zjistil, co je IP adresa.
obecně se proces dotazu DNS vyskytuje ve dvou částech:
- dotaz na jméno začíná v klientském počítači a je předán resolveru, klientské službě DNS, pro rozlišení.
- pokud dotaz nelze lokálně vyřešit, mohou být servery DNS dotazovány podle potřeby k vyřešení názvu.
když to nefunguje …
jak vidíte, pokud jde o rozlišení dotazu DNS, existuje více, než se na první pohled zdá. Pokud server DNS neposkytne odpověď včas, může vše zpomalit. Dokud váš prohlížeč nezná IP adresu pro zadanou adresu URL, nemůže dělat nic jiného než čekat. Proto je důležité, aby autoritativní servery DNS byly rychlé. Kromě toho, pokud autoritativní server DNS klesne, dotaz nakonec vyprší a nebude poskytnuta žádná odpověď. Pravděpodobně jste to viděli čas od času, když jste si prohlíželi Internet kliknutím na odkaz na web, který nikdy nepřijde.