cs:ipv4_a_ipv6_v_dns

IPv4 a IPv6 v DNS

Pokud určitý stroj má pouze IPv4 nebo pouze IPv6 adresu, není se zavedením do DNS žádný problém - jednoduše přidáte odpovídající záznamy. Ne až tak jasná je situace, kdy jsou na jednom síťovém rozhraní podporovány oba protokoly zároveň. Existují dva základní přístupy, jak z pohledu DNS uspořádat vzájemný vztah IPv4 a IPv6:

Společné jméno

První variantou je použít pro oba protokoly stejné jméno. V DNS zóně pak budou u tohoto jména dva záznamy - jeden typu A, druhý typu AAAA:

pc     A    10.1.2.3
       AAAA 2001:db8:1:2::3

Počítač, který navazuje komunikaci, typicky vychází z doménového jména. Podle svých schopností k němu poptá odpovídající typ adresního záznamu - v závislosti na tom, jaké protokoly sám podporuje. Podle svých schopností (a případného nastavení interní politiky) si vybere IPv6 nebo IPv4 adresu a zahájí komunikaci odpovídajícím protokolem. Ten zůstává skrytý a pokud se o to uživatel z nějakého důvodu hlouběji nezajímá, netuší, kterým protokolem vlastně komunikuje.

Toto je koncepční, až trochu idealistický přístup. Funguje dobře za předpokladu, že v IPv6 komunikaci není nějaký zádrhel. Obvyklá politika koncových strojů dává přednost IPv6, pokud je k dispozici, takže se iniciátor nejprve pokusí zahájit komunikaci tímto protokolem. Automaticky tedy bude použit nový protokol.

Pokud je v přepravě IPv6 datagramů mezi oběma konci nějaký problém, iniciátor neuspěje a teprve po vypršení určitého časovače zkusí jako záložní řešení IPv4. Důsledkem je nezanedbatelné zpoždění (řádově desítky vteřin) při zahájení komunikace. Tomuto zpoždění se uživatel vzdáleného stroje téměř nemůže vyhnout - jedině vypnutím IPv6 na svém stroji či změnou adresní politiky.

Oddělená jména

Druhým možným přístupem je používat pro IPv4 a IPv6 jiná DNS jména. Obvyklou strategií je zřídit v doméně samostatnou poddoménu pro tento účel (obvykle nazvanou ip6 nebo ipv6) a v ní kopírovat strukturu jmen z hlavní domény:

pc     A    10.1.2.3
pc.ip6 AAAA 2001:db8:1:2::3

V tomto případě (řekněme, že se nachází v doméně example.com) pro pc.example.com existuje pouze záznam typu A, zatímco pro pc.ip6.example.com pouze záznam typu AAAA. Vzdálený konec použitím jednoho či druhého jména explicitně řídí, který protokol síťové vrstvy bude použit.

Tento přístup není ani trochu elegantní, zato je pragmatický. Protějšek si volí, jakým způsobem povede komunikaci. Negativním dopadem je, že s velkou pravděpodobností sáhne po jednodušší variantě IPv4 a IPv6 se bude používat zcela ojediněle.

Kterou cestu zvolit?

Obecně platí, že ideálem je první varianta se společným jménem pro IPv4 i IPv6. Otázkou je, jak palčivý je pro vás problém s potenciální nedostupností či špatnou dostupností příslušného stroje pro uživatele s chybujícím IPv6 spojením. Google ve své statistice z roku 2008 došel k závěru, že přibližně 0,09% uživatelů má narušenou IPv6 konektivitu. Tedy zhruba jeden člověk z tisíce.

Je to pro vás příliš? Nebo je takové číslo akceptovatelné? (Odhlédněme od toho, že za uplynulý čas se situace pravděpodobně zlepšila.) Pro Google to vzhledem k celkovým objemům jeho uživatelů bylo příliš, takže zvolil cestu samostatného jména a svůj vyhledávač zpřístupnil jako ipv6.google.com. Pro méně exponované služby by mohla být taková situace snesitelná. Technická univerzita v Liberci již několik let provozuje klíčové servery (WWW, SMTP, primární DNS) se společným jménem pro IPv4 i IPv6 bez vážnějších problémů.

Ostatně není nutné řešit celou doménu stejně. Vybrané servery, u nichž považujete podporu IPv6 za stabilní a žádoucí, můžete zavést do DNS se společným jménem. Pro ostatní počítače pak zavedete oddělené jména, abyste na jedné straně umožnili experimenty s IPv6, ovšem na straně druhé případnými nedostatky v tomto protokolu nebrzdili jejich reálnou použitelnost.

Poslední úprava:: 24.09.2019 13:52