NX technologie

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

NX technologie poskytuje vzdálené komprimované a šifrované připojení ke grafickému uživatelskému rozhraní. Umožňuje využívat kompletní relace vzdálené plochy. Snaží se značně vylepšit výkon nativního X protokolu, aby byl použitelný i přes pomalá síťová připojení. Kvůli šifrování jsou spojení zabalena v SSH relaci.

NX technologie byla vyvinuta Gianem Filippo Pinzarim v italské softwarové společnosti NoMachine. NX systém byl odvozen z DXPC – the Differential X Protocol Compressor project.[1]

NX software je v současnosti dostupný pro Windows, Mac OS X, Linux a Solaris. NoMachine nabízí klienty pro Windows, Linux a Mac OS X.

Technické detaily[editovat | editovat zdroj]

Dvěma hlavními komponentami NX jsou nxproxy a nxagent. nxproxy je odvozen z dxpc a je spuštěn jak na vzdáleném (klient v X terminologii), tak na lokálním (server v X terminologii) počítači, simuluje X server na klientovi a přesměrovává vzdálené žádosti protokolu X na lokální X server. nxagent je odvozen z Xnext a je typicky spuštěn na vzdáleném (klient) počítači, čímž se předejde většině RTT protokolu X11. Součástí nxagentu je vestavěný nxproxy.

NX kvůli minimalizaci přenášených informací komprimuje X11 data ve třech úrovních:[2]

  • Síťový provoz komprimuje různými prostředky včetně -per message- diferenciálních algoritmů, pokročilých metod kešování, bezeztrátové a ztrátové komprese obrazu.
  • Snižováním síťových RTT téměř k nule maximalizuje síťovou propustnost.
  • V reálném čase se přizpůsobuje aktuální propustnosti sítě.

NX poskytuje kompresní poměry X protokolu od 10:1 do 100:1 i více v závislosti na právě zobrazované aplikaci. Na rychlých sítích LAN je jich dosaženo bez penalizace výkonu, takže vzdálené relace mohou obvykle běžet rychlostí, která je k nerozeznání od místního počítače.

Další protokoly pro přenos obrazu[editovat | editovat zdroj]

NX je navrženo primárně k optimalizaci X11 relací, ale NX server může být nastaven jako proxy server pro tunelování RDP a VNC relací ke zlepšení jejich rychlosti.

Použití SSH protokolu a princip SSH tunelování v NX[editovat | editovat zdroj]

NX k posílání dat používá SSH protokol. SSH byl vybrán jako základ kvůli bezpečnosti. NX spoléhá na SSH funkcionality a existující open source SSH software, aby bylo možné provozovat současně Unixové a Windowsové desktopy i libovolné síťové aplikace napříč Internetem zabezpečeným a kontrolovaným způsobem.

NX (NX 3.x) funguje tak, že se na serverovém stroji vytvoří uživatel "nx", jehož shell je spuštěn pokaždé, když se vzdálený NX uživatel připojuje k SSH pomocí NX klienta. Klient se k serveru připojuje pomocí DSA klíče. Výchozí veřejná část klíče je poskytována instalací NX serveru, výchozí privátní část klíče je součástí NX klientů. Při změně DSA klíče je potřeba privátní část bezpečně distribuovat všem klientům. Po připojení je SSH server klíčem přinucen spustit nxserver shell a povolit SSH X11 forwarding (od NX verze 2.0.0-4). Při zapnutém X11 forwardingu chápe SSH démon relaci jako interaktivní a nedochází na šifrovaných spojeních k degradaci výkonu vlivem použití Nagle algoritmu.[3][4]

Jakmile se klient na serveru klíčem autentizuje, je zřízen zabezpečený SSH kanál, přes který probíhá samotná autentizace uživatele v systému a vyjednávání parametrů relace. Ve výchozím nastavení šifruje NX klient veškerý provoz, tzn. NX tuneluje celý přenos přes šifrovaný SSH kanál použitý k autentizaci a vyjednání relace se serverem.[3]

NX počínaje verzí 4.0 umožní využívat systémové přihlašování, takže si uživatelé budou moci vybrat mezi NX či přímou SSH autentizací.[5]

Licence[editovat | editovat zdroj]

Až do verze 4.0 používala společnost NoMachine pro jádro své NX technologie licenci GNU General Public License. Nabízela zároveň komerční enterprise NX řešení,[6] bezplatné klientské a serverové produkty pro Linux a Solaris a bezplatný klientský software pro Microsoft Windows, Mac OS X a vestavěné systémy.

21. prosince 2010 oznámila NoMachine, že nadcházející verze NX 4.0 bude jen closed-source.[7]

Alternativní NX software[editovat | editovat zdroj]

V době, kdy byla technologie NX licencována pod GNU GPL začalo vznikat několik open source NX řešení. Jedním z nich je projekt FreeNX, který implementuje jak NX klienta, tak NX server. Od roku 2008 však není aktivně vyvíjen a jsou udržovány pouze distribuční balíčky v linuxových distribucích. Z tohoto důvodu vzniká v roce 2009 projekt TaciX, který byl vyvíjen jen po několik měsíců. V roce 2009 uvedl i Google svůj open source NX server Neatx. I ten však není nadále vyvíjen.

Jako alternativu NoMachine NX klienta lze v současnosti použít klienta OpenNX.

Komplexnější projekt x2go poskytuje open source řešení terminal serveru s využitím technologie NX. Kromě vlastního serveru a klienta nabízí i tenkého klienta bootovatelného ze sítě.[8] x2go není kompatibilní s ostatními NX servery ani klienty.[9]

Reference[editovat | editovat zdroj]

  1. NX X Protocol Compression (paragraph 5)
  2. Introduction to NX technology
  3. a b FAQ: How does SSH tunneling work in recent versions on NX?
  4. FAQ: Why nxssh 2.0.0 needs to require the X11 forwarding when the connection is encrypted?
  5. Feature Requests: Allowing to choose the authentication method via the client GUI
  6. Product details for NX Terminal Server and Remote Access Software
  7. NoMachine Makes First NX 4.0 Technology Preview Available
  8. x2go
  9. x2go FAQ

Externí odkazy[editovat | editovat zdroj]