Mechanismy rozšíření pro DNS - Extension Mechanisms for DNS

Extension Mechanisms for DNS ( EDNS ) je specifikace pro rozšíření velikosti několika parametrů protokolu Domain Name System (DNS), která měla omezení velikosti, která internetová inženýrská komunita považovala za příliš omezená pro zvýšení funkčnosti protokolu. První sada rozšíření byla publikována v roce 1999 Internet Engineering Task Force jako RFC  2671 , také známá jako EDNS0, která byla aktualizována RFC  6891 v roce 2013 a mírně změnila zkratku na EDNS (0) .

Motivace

Systém doménových jmen byl poprvé vyvinut na začátku 80. let minulého století. Od té doby byl postupně vylepšován o nové funkce při zachování kompatibility s dřívějšími verzemi protokolu.

Omezení velikosti několika polí příznaků, návratových kódů a typů popisků dostupných v základním protokolu DNS zabránilo podpoře některých požadovaných funkcí. Zprávy DNS přenášené protokolem UDP byly navíc omezeny na 512 bajtů, bez ohledu na záhlaví internetového protokolu (IP) a transportní vrstvy . Uchýlení se k přepravě virtuálního okruhu pomocí protokolu TCP ( Transmission Control Protocol ) by výrazně zvýšilo režii. To představovalo hlavní překážku pro přidávání nových funkcí do DNS. V roce 1999 Paul Vixie navrhl rozšířit DNS tak, aby umožňoval nové příznaky a kódy odpovědí, a poskytovat podporu pro delší odpovědi v rámci, který je zpětně kompatibilní s předchozími implementacemi.

Mechanismus

Vzhledem k tomu, žádné nové příznaky by mohly být přidány v záhlaví DNS EDNS přidává informace do DNS zprávy ve formě pseudo Resource Records ( „pseudo-RR“ s) zahrnut v sekci „doplňující údaje“ ze zprávy DNS. Všimněte si, že tato část existuje v požadavcích i odpovědích.

EDNS zavádí jediný typ pseudo-RR: OPT.

Jako pseudo-RR se RR typu OPT nikdy neobjeví v žádném zónovém souboru; existují pouze ve zprávách, vytvořených účastníky DNS.

Mechanismus je zpětně kompatibilní , protože starší respondéři DNS ignorují v požadavku jakýkoli RR neznámého typu OPT a novější odpovídač DNS nikdy neobsahuje OPT v odpovědi, pokud v požadavku nebyl. Přítomnost OPT v požadavku znamená novějšího žadatele, který ví, co má s OPT v odpovědi dělat.

OPT pseudo-záznam poskytuje místo až pro 16 příznaků a rozšiřuje prostor pro kód odpovědi. Celková velikost paketu UDP a číslo verze (v současné době 0) jsou obsaženy v záznamu OPT. Datové pole s proměnnou délkou umožňuje zaregistrovat další informace v budoucích verzích protokolu. Původní protokol DNS poskytoval dva typy popisků, které jsou definovány prvními dvěma bity v paketech DNS (RFC 1035): 00 (standardní štítek) a 11 (komprimovaný štítek). EDNS zavádí typ štítku 01 jako rozšířený štítek . Dolních 6 bitů prvního bajtu lze použít k definování až 63 nových rozšířených popisků.

Příklad

Příklad pseudo záznamu OPT, jak je zobrazen příkazem dig :

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096

Výsledek „EDNS: verze: 0“ indikuje úplnou shodu s EDNS0. Výsledek „flags: do“ označuje, že je nastaveno „DNSSEC OK“.

Aplikace

EDNS je nezbytný pro implementaci rozšíření zabezpečení DNS ( DNSSEC ). EDNS se také používá k odesílání obecných informací od překladačů na jmenné servery o geografické poloze klientů ve formě možnosti EDNS Client Subnet (ECS).

Existují návrhy, jak pomocí EDNS nastavit, jaké množství odsazení by mělo být kolem zprávy DNS, a jak určit, jak dlouho má být udržováno živé připojení TCP.

Problémy

V praxi mohou při používání EDNS procházející brány firewall nastat potíže, protože některé brány firewall předpokládají maximální délku zprávy DNS 512 bajtů a blokují delší pakety DNS.

Zavedení EDNS učinilo útok zesílení DNS proveditelný, což je typ odraženého útoku odmítnutí služby , protože EDNS umožňuje velmi velké pakety odezvy ve srovnání s relativně malými pakety požadavků.

Pracovní skupina IETF DNS Extensions (dnsext) dokončila práci na upřesnění EDNS0, která byla publikována jako RFC 6891.

Reference

Viz také