DNS64 je rozšíření DNS, které implementuje statické bezstavové mapování IPv4 adres na IPv6 adresy. Používá se obvykle ve spojení s NAT64 s cílem umožnit zařízením v koncové IPv6 síti přístup ke službám poskytovaným jen protokolem IPv4. DNS64 je implementováno v rekurzivním DNS serveru, který využívají stroje z koncové IPv6 sítě k řešení svých dotazů. Nemusí se jednat o stejný prvek, v němž je implementován NAT64. Jedinou vazbou mezi NAT64 a DNS64 je použití stejného IPv6 prefixu pro mapování IPv4 adres na IPv6.

Mapování adres je založeno na definovaném IPv6 prefixu. Může se jednat buď o dobře známý prefix 64:ff9b::/96 podle RFC 6052, nebo o prefix délky nanejvýš 96 b definovaný správcem sítě. V případě délky prefixu 96b je IPv4 adresa při mapování připojena za prefix na konec IPv6 adresy (96b + 32b = celkem 128bitů). U ostatních délek prefixů je IPv4 umístěna přibližně uprostřed výsledné IPv6, a je klidně rozdělena na dvě části. Konkrétní podobu udává tabulka Figure 1 v RFC 6052. Takto vytvořené IPv6 adresy DNS64 označuje jako syntetizované.

DNS64 se týká pouze dotazů na záznamy typu AAAA, jimiž zařízení z místní sítě hledají IPv6 adresy pro zadaná jména. Dotaz tohoto typu je DNS serverem implementujícím DNS64 obsloužen následujícím postupem:

  1. Odešle dotaz v původní podobě (AAAA pro www.example.net).
  2. Uspěje-li, předá nezměněnou odpověď tazateli, následná komunikace proběhne po IPv6.
  3. Pokud je z odpovědi patrné, že poptávané jméno existuje, ale nejsou pro ně k dispozici žádné záznamy typu AAAA, odešle dotaz na záznamy typu A pro stejné jméno (A pro www.example.net). Specifikace připouští, aby v zájmu kratšího zpoždění byly dotazy na záznamy typu AAAA a A položeny současně. Syntetická odpověď podle následujícího bodu se ale odesílá jen v případě, kdy záznamy typu AAAA neexistují.
  4. Jestliže byl úspěšný, převede IPv4 adresy z odpovědi na IPv6 připojením za definovaný prefix a pošle je tazateli jako odpověď s typem AAAA.

IPv6 směrování v koncové síti následně zajistí, aby IPv6 datagramy odeslané na syntetizované adresy byly předány prvku implementujícímu NAT64, jenž zajistí jejich překlad a odeslání do IPv4 Internetu.

DNS64 zasahuje do obsahu DNS záznamů, je proto problematická jeho koexistence s DNSSEC. Pokud platnost odpovědi ověřuje server, provede standardní ověření pro získané záznamy typu A a uspěje-li, pošle tazateli odpovídající syntetizované záznamy typu AAAA. Jestliže klient chce ověřovat DNSSEC sám (nastaví v dotazu příznak CD), nelze syntézu provádět. Rekurzivní server pošle klientovi nezměněná data. V tomto případě lze DNS64 provádět jen v rámci klienta.

Externí odkazy editovat