INTEGRITY Dokumentace

Dotazování nadřazených serverů

Pokud 1.1.1.1 nemá odpověď ve své mezipaměti, obrátí se vaším jménem na autoritativní jmenné servery. Autoritativní jmenné servery jsou servery DNS, které uchovávají skutečné záznamy pro danou doménu. Tato stránka popisuje, jak 1.1.1.1 vybírá, který jmenný server dotázat, co se stane, když je jmenný server nedostupný, a jak se určuje konečná odpověď.

Minimalizace názvu dotazu

Při překladu vícestupňového doménového jména, jako je foo.bar.example.com, 1.1.1.1 neprozradí úplný název každému serveru v řetězci. Místo toho odešle jen minimální množství informací, které daný server potřebuje. Když se například dotazuje .com server TLD, 1.1.1.1 prozradí pouze to, že potřebuje najít example.com : části subdomény (foo.bar) nejsou zahrnuty. Tím se omezuje množství informací vystavených zprostředkujícím serverům a snižuje se únik soukromých údajů.

Kořenová zóna

1.1.1.1 používá lokálně uložené kopie souboru kořenové zóny ↗ místo dotazování vzdálených kořenových serverů při každém vyhledávání. Soubor kořenové zóny obsahuje adresy všech serverů domén nejvyšší úrovně (TLD). Díky lokálnímu uložení se 1.1.1.1 vyhne síťové zpáteční cestě ke kořenovým serverům, což snižuje latenci, zlepšuje soukromí a snižuje zátěž globálního systému kořenových serverů DNS.

Výběr nameserveru

Většina domén má z důvodu redundance více autoritativních nameserverů. Když potřebuje 1.1.1.1 některý z nich dotázat, vybírá ho podle naměřeného výkonu. Resolver si pro každý nameserver sleduje metriky, mimo jiné dobu odezvy (round-trip time, tedy dobu, za kterou dotaz doputuje na server a zpět) a kvalitu odpovědí, a z datacentra, které váš požadavek zpracovává, pak vybere nameserver, jenž byl dosud nejrychlejší a nejspolehlivější.

Pokud vybraný jmenný server neodpoví včas nebo vrátí chybu, zopakuje 1.1.1.1 dotaz na jiný jmenný server pro stejnou zónu. Podrobnosti najdete v Chování při opakování s podrobnostmi.

Malé procento dotazů se odesílá i na alternativní nameservery, aby měření výkonu zůstávalo aktuální. Díky tomu lze dříve pomalý server znovu vyhodnotit, pokud se jeho výkon zlepší. Další informace o systému, který tento výběr řídí, najdete v blogový příspěvek o architektuře BigPineapple ↗.

Chování při opakování

Pokud jmenný server neodpoví včas nebo vrátí dočasnou chybu, zopakuje 1.1.1.1 dotaz na jiný autoritativní jmenný server pro stejnou zónu. Server, který neodpovídá, se přesune na nižší prioritu, takže následující dotazy upřednostní zdravější alternativy. 1.1.1.1 pravidelně kontroluje servery s nižší prioritou a zjišťuje, zda se obnovily.

Když více klientů požaduje stejnou doménu současně, 1.1.1.1 deduplikuje dotazy na nadřazené servery, takže jeden probíhající požadavek obslouží všechny čekající klienty. Přesné časování opakovaných pokusů a logika řazení se v průběhu času ladí a mohou se měnit.

Výběr odpovědi

U daného dotazu vrací 1.1.1.1 klientovi pouze jednu odpověď. Pokud se autoritativní jmenné servery neshodnou, závisí výběr odpovědi ze strany 1.1.1.1 na typu přijatých odpovědí.

Relevantní jsou následující odpovědní kódy DNS:

Jak 1.1.1.1 řeší neshody mezi jmennými servery: