Protokol DNS - formát zpráv

Detailní vysvětlení formátu zpráv DNS protokolu.

Datum: 09.03.2010


Zpráva přenášená protokolem DNS se skládá z následujících částí:

  • hlavička (header) – obsahuje základní informace o přenášených datech, jejich typu, obsahu a několik příznaků
  • dotaz (question) – část nesoucí dotaz klienta, server dotaz ve zprávě s odpovědí zopakuje
  • odpověď (answer section) – DNS záznamy, které dávají odpověď na vznesený dotaz
  • informace o autoritě (authority section) – seznam autoritativních DNS serverů zóny, ze které byly záznamy z předchozí části získány (tedy NS záznamy domény této zóny), anebo odkaz na DNS servery, kterých se máme ptát dál (záleží na tom, zda dotazovaný server je autoritativní pro hledanou informaci či nikoliv)
  • dodatečná sekce (additional section) – A a AAAA záznamy k názvům, které se vyskytují v hodnotách záznamů v odpovědi či autoritativní sekci a které DNS server zná (je pro ně autoritativní)

Hlavička obsahuje následující informace:

  • ID – 16-bitový číselný identifikátor, který přidělí tazatel zprávě s dotazem, server ve zprávě s odpovědí zašle stejné ID, podle toho tazatel pozná, k čemu tato odpověď patří (je nutné, protože transportní protokol UDP je bezestavový)
  • QR – příznak, zda se jedná o zprávu s dotazem či odpovědí
  • OPCODE – označení typu dotazu
  • AA (Authoritative Answer) – pokud je tento příznak nastaven, znamená to, že server, který nám odpověď poslal, je autoritativní pro název, na který se ptáme. Jinak řečeno to znamená, že data v části answer nepochází z cache a ani z rekurzivního dotazu, ale jedná se o aktuální data přímo ze zónového souboru a odpověď nebyla zprostředkována žádným cachovacím DNS serverem.
  • TC (Truncation) – příznak signalizující zkrácení odpovědi, která je delší než 512 bytů a nemohla být celá poslána v jednom UDP paketu
  • RD (Recursion Desired) – tento příznak nastaví tazatel v případě, že si od serveru přeje podle potřeby provést rekurzivní zpracování dotazu. Server může rekurzivní dotaz odmítnout, ale v odpovědi posílá stejné nastavení tohoto příznaku.
  • RA (Recursion Available) – tento příznak nastaví server v případě, že tazateli nabízí rekurzivní dotazy. Pokud server tuto službu tazateli umožňuje, posílá příznak RA ve všech odpovědí jako oznámení o dostupných možnostech, nejedná se pouze o reakci na příznak RD v dotazu.
  • RCODE (Response code) – kód označující výsledek dotazu
    • 0 – bez chyby
    • 1 – chyba ve formátu dotazu
    • 2 – chyba na straně serveru (porucha)
    • 3 – autoritativní server tím oznamuje, že požadovaný záznam neexistuje
    • 4 – nepodporovaný typ dotazu
    • 5 – odmítnuto
  • QDCOUNT – počet záznamů v sekci s dotazem
  • ANCOUNT – počet záznamů v sekci s odpovědí
  • NSCOUNT – počet záznamu v autoritativní sekci
  • ARCOUNT – počet záznamů v dodatečné sekci

Diskuze k článku

K tomuto článku nebyl dosud vložen žádný diskuzní příspěvek, ale můžete tak učinit jako první.

Přihlášení zákazníka

Nemáte ještě zákaznický účet? Registrace

Copyright © WEDOS, 2017

Facebook RSS