Během nedávného semináře o IPv6 se účastníci opět mohli připojit do Wi-Fi sítě, která podporovala pouze protokol IPv6 a přístup k IPv4 internetu zajišťovala dvojice technologií NAT64 a DNS64. Tímto způsobem je možné provozovat téměř plnohodnotný přístup k internetu, až na některé okrajové případy, když například aplikace nepoužívá DNS nebo vynucuje použití IPv4.
Právě pro tyto okrajové případy existuje pokročilejší technologie zvaná 464XLAT, která k překladači NAT64 na straně sítě (v tomto standardu zvaném PLAT) přidává druhý překladač zvaný CLAT přímo do koncového zařízení. Tento překladač zajistí existenci virtuálního IPv4 rozhraní v koncovém zařízení, takže i aplikace striktně vyžadující protokol IPv4 fungují.
Problém je, že komponenta CLAT musí být vestavěna do koncových zařízení, není to tedy něco, co by se dalo jednoduše zapnout na straně sítě. Požádali jsme proto návštěvníky semináře, aby se svými zařízeními připojili do IPv6-only Wi-Fi sítě a na svém zařízení vyzkoušeli jednak, zda vůbec mohou takovou síť použít a pokud ano, zda jejich zařízení podporuje koncept 464XLAT. Výsledky shrnuje následující graf:
K testování byla použita stránka test-ipv6.cz. Tato stránka provádí mnoho testů IPv4 a IPv6 konektivity a mimo jiné dokáže odhalit, pokud je IPv4 konektivita poskytována pouze prostřednictvím NAT64. Při úspěšné aktivaci CLAT překladače v zařízení je pro testovací stránku nemožné poznat rozdíl od nativní IPv4 konektivity, takže NAT64 není detekován.
V odpovědním formuláři jsme účastníky požádali o vyplnění těchto odpovědí:
- Bylo dosaženo plného skóre (10/10)?
- Byl detekován NAT64?
- Jaký byl kód pro helpdesk?
- Typ operačního systému
- Verze operačního systému
- Výrobce a model zařízení
Protichůdné informace
Testovací stránka kromě textových informací prezentuje na samostatné stránce také takzvaný kód pro helpdesk – číselný kód, pomocí kterého může pracovník helpdesku snadno diagnostikovat přípojku účastníka, a to i po telefonu. Podle klíče odpovídá detekovanému NAT64 kód 64
, běžný dual-stack je pak označen kódem 46
. Přesto z celkového počtu 67 odpovědí na anketu devět účastníků vyplnilo, že NAT64 byl detekován a zároveň, že kód pro helpdesk je roven 46
. Zřejmě tedy došlo k nepochopení některé z otázek. Data jsem proto opravil podle kódů pro helpdesk, které budou s větší pravděpodobností odpovídat realitě.
Očekávané výsledky pro Windows a Linux
Do testování se zapojily tři počítače s OS Windows a deset s Linuxem. Až na jednu výjimku všechny detekovaly NAT64, tedy koncept 464XLAT nepodporují. Onou výjimkou byl linuxový počítač s OS Debian Buster, který NAT64 nedetekoval. Nicméně vzhledem k tomu, že jiný počítač se stejným operačním systémem NAT64 detekoval, lze se domnívat, že onen výjimečný případ bude reprezentovat nějakou speciální konfiguraci, například instalaci démona clatd.
Bezproblémový provoz zařízení od Apple
Anketu vyplnilo také 8 majitelů zařízení od Apple – 6 mobilních zařízení se systémem iOS a 2 počítače s operačním systémem macOS. Tato zařízení sice 464XLAT nepodporují, ale funkci obdobnou komponentě CLAT zajišťuje algoritmus Happy Eyeballs 2.0, takže ani použití IPv4 adresních literálů nepředstavuje problém. Podle kódu pro helpdesk o hodnotě 46
, který vyplnilo pět účastníků (ostatní nevyplnili nic), skutečně nebyl NAT64 detekován. Jedinou výjimkou byl jeden respondent, který na otázku, zda byl NAT64 detekován, odpověděl kladně, kód pro helpdesk ale neuvedl.
Rozporuplné výsledky u OS Android
Nejzajímavější rozhodně byly výsledky testování mobilních zařízení s operačním systémem Android. Ten podporu 464XLAT obsahuje již poměrně dlouho pro mobilní datové sítě, přibližně od roku 2016 pak je dostupná i pro připojení pomocí Wi-Fi. Různí výrobci však operační systém různými způsoby upravují, takže i při stejném čísle verze mohou být mezi zařízeními různých výrobců podstatné rozdíly.
Celkem se zúčastnilo 42 zařízení, z toho ve 26 z nich fungoval 464XLAT bez problémů. Jednalo se o zařízení výrobců jako Samsung, Xiaomi, Lenovo či Motorola. Až na dvě výjimky šlo o Android verze 7 a novější; dvěma výjimkami byl HTC One M8 a Google Nexus 5, oba s Androidem 6.
Čtrnáct zařízení NAT64 detekovalo, překladač CLAT v nich tedy není aktivní, přinejmenším ne pro Wi-Fi připojení. Opět jde o zařízení z dílen Samsungu, Sony, či LG. Většina byla ve verzi 7 a novější, dva telefony byly ve verzi 6 a jeden, konkrétně LG G3 dokonce ve verzi 5. Tento jako jediný na IPv6-only síti vůbec nepodporoval IPv6, naopak protokol IPv4 na něm fungoval bez větších problémů. Domnívám se, že toto podivné chování způsobil nějaký aplikační firewall.
Dvě zařízení od Samsungu s Androidem 7.0, konkrétně A3 a S7 Edge, sice korektně fungovalo (bez CLATu), avšak uživatelské rozhraní nepřítomnost IPv4 v přístupové síti těžce neslo a obtěžovalo uživatele notifikacemi, že „Připojení není k dispozici.“
Pro mobilní zařízení je IPv6-only realitou
V používání přístupové technologie 464XLAT jsou nejvíce aktivní mobilní operátoři, tento tlak je vidět na vzrůstající podpoře právě v mobilních zařízeních. Jistou výhodu zde má monokultura zařízení od Apple, která místo překladače CLAT vynucuje u všech aplikací plnou funkčnost na IPv6-only a v knihovnách operačního systému řeší jen naprosto okrajové případy.
Svobodomyslnější prostředí Androidu je v tomto ohledu mnohem složitější, i když je zde vidět jistý pokrok u novějších verzí. Vzhledem ke krátkému životnímu cyklu mobilních telefonů lze očekávat, že se situace může velmi rychle změnit.
V každém případě i absence komponenty CLAT v zařízení nepředstavuje pro jeho uživatele bezprostřední problém; je pravděpodobné, že spousta z nich si nefunkčnosti některých okrajových služeb ani nevšimne. Jiné služby, jako například Spotify, už s předstihem opravily aplikace, aby jejich funkčnost nebyla na komponentě CLAT závislá.