NAT64 vznikl jako nástupce odmítnutého NAT-PT. Řeší stejný problém - transparentní překlad IP datagramů mezi IPv6 a IPv4, zpravidla pro celou koncovou IPv6 síť. Snaží se ovšem vyhnout problémům, jimiž trpěl NAT-PT a jež spočívaly především v jeho zásazích do DNS. NAT64 proto rezignoval na oboustrannost a soustředí se především na zajištění přístupu k IPv4 Internetu pro IPv6 stroje z koncové sítě. Komunikace v opačném směru je velmi omezená.
Jádrem NAT64 je obecný algoritmus pro Překlad IPv4 na IPv6. IPv4 adresy jsou do IPv6 mapovány bezstavově za použití algoritmu pro IPv6 adresa s vloženou IPv4 (IPv4-Embedded IPv6 Address). Všechny mají společný prefix a směrování musí být nastaveno tak, aby datagramy směřující na adresy s tímto prefixem byly doručovány NAT64 zařízení. Mapování opačným směrem je dynamické a vychází z překladové tabulky obsažené v NAT64.
NAT64 se chová velmi podobně jako současné IPv4 NATy. Má k dispozici (veřejnou) IPv4 adresu či několik adres. Když stroj z IPv6 sítě navazuje spojení do IPv4, odešle IPv6 datagram na adresu s vloženou IPv4 adresou. NAT64 si ji vyzvedne a použije ji jako cílovou adresu IPv4 datagramu. Pro adresu odesilatele vytvoří položku v mapovací tabulce, kde IPv6 adresu a port původního odesilatele převede na svou IPv4 adresu a vhodný port. Následně vytvoří podle obecných překladových pravidel IPv4 datagram a ten odešle do IPv4 Internetu. Při příchodu odpovědi analogickým způsobem převede IPv4 datagram na IPv6 a odešle místnímu IPv6 stroji.
NAT64 překládá pouze protokoly TCP, UDP a ICMP. Pro každý z nich si udržuje samostatnou překladovou tabulku adres a ke každé její položce tabulku spojení, která daný překlad využívají. Není-li některá z překladových položek aktivně využívána, bude z tabulky odstraněna.
Výrazně omezená je možnost navázání komunikace ve směru z IPv4 do IPv6. Vyžaduje, aby v mapovací tabulce NAT64 existovala statická položka, která bude místní IPv6 adresu trvale mapovat a učiní ji tak přístupnou. Toto chování se opět velmi podobá IPv4 NATům. Specifikace NAT64 počítá i s filtrací procházejících datagramů.
Internetová komunikace obvykle začíná převodem doménového jména na IP adresu. NAT64 vyžaduje určité zásahy i v této oblasti. K jejich realizaci slouží spolupracující algoritmus DNS64, který bude typicky instalován v rekurzivních serverech obsluhujících místní klienty.
Pokud místní DNS server implementující algoritmus DNS64 dostane dotaz na záznam typu AAAA pro jméno www.example.net, postupuje následovně:
Klient pak pravděpodobně odešle paket na mapovanou adresu z této odpovědi. Díky směrování použitého prefixu dorazí datagram na NAT64 stroj, kde následuje obvyklé zpracování. DNS64 a NAT64 nemusí pracovat na stejném zařízení. Jejich vzájemná spolupráce vyžaduje jediný prvek - oba musí pro mapování IPv4 adres shodný prefix.
DNS64 upravuje DNS zprávy, proto mu působí potíže vyrovnat se s DNSSEC. Dokud si klient nechce ověřovat záznamy sám (nenastaví příznak CD), provede ověření stroj s DNS64 a pošle tazateli upravenou odpověď s případným příznakem potvrzujícím ověření. Má-li dotaz nastaven příznak CD, DNS64 příchozí odpověď nemění a pošle ji klientovi v původní podobě. V tomto případě musí být DNS64 implementováno i na straně DNS klienta, jinak je nelze použít.
CESNET, z. s. p. o.
Generála Píky 26
160 00 Praha 6
Tel: +420 234 680 222
Fax: +420 224 320 269
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
Fax: +420 224 313 211
support@cesnet.cz