NX-Technologie allgemein bekannt als NX ist eine proprietäre Produktreihe für Desktop-Virtualisierung und Anwendungsbereitstellung für Server und Clientsoftware, die von der Luxemburger Firma NoMachine entwickelt wurde. [1]
Features [ edit ]
NX kann auf Windows-, Mac-, Linux- und Linux-ARM-Servern installiert werden. Die Client-Software ist für Windows, Mac OS X, iOS, Android, Linux, Linux ARM und HTML / JavaScript verfügbar. Zu den Funktionen gehören die gemeinsame Nutzung von Netzwerkgeräten, die Aufzeichnung von Sitzungen, die Dateiübertragung, Multimedia-Funktionen und der Browser-basierte Zugriff.
Die unternehmensorientierten Serverprodukte bieten außerdem Clustering- und Failover-Funktionen für mehrere Rechenknoten sowie die Möglichkeit, mehrere virtuelle Linux-Instanzen auf demselben Computer auszuführen (Linux Terminal Server-Funktionalität).
NX verwendet VirtualGL, um hochwertige OpenGL-basierte X-Anwendungen und 3D-CAD-Programme problemlos bei hohen Auflösungen auszuführen.
NX - oder NoMachine, wie es seit der Veröffentlichung von Version 4 häufig genannt wird - ist plattformunabhängig. Es kann auf Linux-, Windows- und Mac-Instanzen installiert werden, die in gängigen Hypervisoren wie Xen, KVM oder VMware virtualisiert und in jede virtuelle Desktop-Infrastruktur integriert werden, die in privaten oder öffentlichen Clouds wie Amazon EC2 oder Rackspace ausgeführt wird.
History [ edit ]
Im Jahr 2001 wurde das Komprimierungs- und Transportprotokoll NX erstellt, um die Leistung des nativen X-Anzeigeprotokolls zu verbessern, sodass es über langsamen Verbindungen wie z Einwahlmodems. Es verschlüsselte Remote-Verbindungen in SSH-Sitzungen zur Verschlüsselung.
Das Design von NX wurde vom Differential X Protocol Compressor-Projekt (DXPC) abgeleitet. NX Version 1 wurde am 14. Februar 2003 veröffentlicht. Das letzte Update, Version 3.5, wurde 2012 veröffentlicht.
Ab Version 3.5 wurde die Kernkompressionstechnologie von NX der Community unter der GNU GPL2-Lizenz zur Verfügung gestellt, während andere Komponenten wie der NX Server und die NX Client-Programme proprietär blieben.
Im Jahr 2009 stellte Google eine frei erhältliche Open-Source-GPL2-Version des Servers mit dem Namen Neatx zur Verfügung. Es gibt auch andere Open-Source-Varianten von NoMachine's NX (siehe unten).
Ab 2013 wurde NX mit der Veröffentlichung von Version 4.0 Closed Source.
NX Version 4 [ edit ]
NX Version 4 kombiniert optimale Bildkomprimierung und Zwischenspeicherung mit den neuesten Videocodiertechniken.
Clientanwendungen können eine Verbindung über das SSH-Protokoll mit denselben Authentifizierungsmechanismen wie Version 3, über ein neues SSH-System-Login oder über den neuen SSL-fähigen NX-Dämon herstellen. Sobald eine sichere Verbindung hergestellt ist, verhandeln Clients eine Desktopsitzung unter Verwendung eines Textprotokolls, das mit dem in Version 3 verwendeten Protokoll kompatibel ist. Clients können auch eines der verschiedenen NoMachine-Subsysteme verwenden, z. B. den Dateisynchronisierungsdienst, Software-Updates, Verzeichnisdienste, Sprach- / Sprachdienste. Video-Messaging und Server-Clustering.
Bei der Verbindung von Hosts über das Netzwerk fungiert das NX-Protokoll als generischer Tunnel mit zusätzlichen Framing- und Flusssteuerungsinformationen und passt die Komprimierung und Bandbreite dynamisch an die Netzwerkgeschwindigkeit und -kapazität an. Aus Gründen der Kompatibilität basiert das Multiplexing auf dem Schema der Version 3.
NX 4 fügt neue Kanaltypen hinzu, um Dienste wie die neue Dateisystemumleitung, ein neues Drucksystem, virtuelle Netzwerkschnittstellen, Smartcards und USB-Geräte zu handhaben. Die meisten NoMachine-Komponenten, einschließlich des Agentenprogramms, das die Desktopsitzung auf dem Server übernimmt, enthalten sogenannte "Slave-Server" - leichte Server, die eine prozessübergreifende Kommunikation und Automatisierung bereitstellen, die zur Erstellung zusätzlicher Kanäle unter der Kontrolle des Servers verwendet werden kann Client und Server.
Anwendungen können immer noch anfordern, dass Kanäle Daten mit der Protokollkomprimierung des NX X Window-Systems übertragen. Version 4 fügt neue Kanaltypen für Video und Audio hinzu, wodurch mehrere Codecs im selben Stream möglich sind. Derzeit können die Anzeige- (Video-) Kanäle Daten in H.264-, VP8-, MJPEG- und anderen Formaten verarbeiten, wobei zusätzliche Grundelemente verwendet werden, um spezielle Codierungsoperationen gleichzeitig mit Standard-Audio- und -Videoströmen zu implementieren.
Wenn die Sitzung zwischen Client und Server eingerichtet ist, können NX-Daten auf TCP- und UDP-Streams übertragen werden. Der Client und der Server wählen basierend auf dem Datentyp und den Netzwerkbedingungen dynamisch aus, welcher Transport verwendet werden soll. Wenn die Kommunikation über UDP aktiviert ist, können Client und Server den Router automatisch anweisen, die erforderlichen Ports zu öffnen. UDP verwendet die symmetrische Blowfish-Verschlüsselung. Die Hostschnittstelle und der Port sowie der Blowfish-Verschlüsselungsschlüssel werden über eine sichere TCP-Verbindung ausgehandelt. Die UDP-Kommunikation ist bei Verwendung von SSH-Tunneln deaktiviert, sodass alle Daten dieselbe SSH-Verbindung verwenden.
Das Anzeigeprotokoll verwendet eine Kombination aus Video- und Bildkodierung, die auf Standard-Codecs und einer Reihe von von NoMachine entwickelten Techniken basiert. NX überwacht die Anzeige- und Benutzeraktivität, um Qualität und Pufferung an die angezeigte Anwendung anzupassen.
Authentifizierung [ edit ]
Ab Version 4.0 kann bei Verwendung des Standard-NX-Protokolls die Anmeldung über eine kennwortbasierte Authentifizierung, einen privaten Schlüssel oder die Kerberos-Ticketauthentifizierung erfolgen.
Wenn NX zum Senden seiner Daten über SSH konfiguriert ist (nur auf Servern mit Unternehmensversion verfügbar), stehen die folgenden Authentifizierungsmethoden zur Verfügung:
Client an Server
- NX-Anmeldung als NX-Benutzer unter Verwendung des NX-SSH-Schlüssels und benutzerkennwortbasierter Authentifizierung
- Systemanmeldung mit kennwortbasierter Authentifizierung
- Systemanmeldung mit SSH-Schlüsselbasierter Authentifizierung [19659030] Systemanmeldung mit auf SSH-Schlüsseln basierender Authentifizierung und SSH-Schlüssel, die auf einer Smartcard gespeichert sind.
- Systemanmeldung mit Kerberos-Ticket auf Clientseite.
Server zu Knoten
- Anmeldung mit Kennwort
- Anmeldung mit SSH-Schlüssel, der vom Client (z. B. NoMachine Player) über den Server an den Knoten weitergeleitet wird
- Anmeldung mit Kerberos-Ticket, das vom Client über den Server an den Knoten weitergeleitet wird
- Anmeldung mit vom Kinit angefordertem Kerberos-Ticket Serverhost
- Anmeldung mit Kerberos-Ticket, das vom PAM-Modul auf dem Serverhost angefordert wurde.
- Anmeldung mit Kennwort für das Kerberos-Ticket, das vom PAM-Modul auf dem Knotenhost
Version 3 und früher [] beantragt wurde ]]
NX komprimiert die X11-Daten, um die übertragene Datenmenge zu minimieren, und speichert Daten im Cache, um die Sitzung so reaktionsfähig wie möglich zu halten. Wenn zum Beispiel ein Menü zum ersten Mal geöffnet wird, kann dies einige Sekunden dauern, ist jedoch danach fast sofort.
NX ist schneller als seine Vorgänger, da es die meisten X-Roundtrips eliminiert, während DXPC und MLView nur Daten komprimieren.
Die zwei Hauptkomponenten von NX sind nxproxy und nxagent . nxproxy ist von dxpc abgeleitet und wird sowohl auf Remote-Computern (Client in X-Terminologie) als auch auf lokalen Computern (Server in X-Terminologie) gestartet, wobei ein X-Server auf dem Client simuliert und Remote-X-Protokollanforderungen an den lokalen X-Server weitergeleitet werden.
Einfachste Einrichtung: [2]
Remote-Clients (Xterm usw.)
↕
Nxproxy-Client
↕
Netzwerk
↕
nxproxy-Server
↕
lokaler X-Server (Monitor / Tastatur)
nxproxy allein erreicht Kompressionsverhältnisse von 1:10 bis 1: 1000 [3]wodurch die Bandbreite reduziert wird, die meisten synchronen Rundfahrten von X jedoch nicht beseitigt werden, was für die meisten der wahrgenommenen Latenzzeiten von X verantwortlich ist.
nxagent abgeleitet von Xnest (ähnlich Xephyr), wird normalerweise auf dem Remote-Computer (Client) gestartet, wodurch die meisten Rundfahrten des X11-Protokolls vermieden werden. Zusammen mit nxproxy (in nxagent integriert) ist dieses Setup gut für Verbindungen mit geringer Bandbreite und hoher Latenz geeignet.
Typisches Setup: [2]
Remote-Clients (xterm usw.)
↕
nxagent Server-Seite
nxagent clientseitige ausführbare nxagent-Datei
nxproxy client /
↕
Netzwerk
↕
nxproxy-Server
↕
lokaler X-Server (Monitor / Tastatur)
Auf Systemen mit einer funktionalen X11-Implementierung sind nur nxproxy und nxagent erforderlich, um eine Verbindung mit geringen Bandbreitenanforderungen zwischen einer Gruppe von X-Clients und dem lokalen X-Server herzustellen. SSH kann zum Herstellen eines sicheren Tunnels zwischen den Hosts verwendet werden. NX 3 basiert auf SSH-Funktionen und bestehender Open-Source-SSH-Software. Dadurch können moderne Unix- und Windows-Desktops sowie beliebige Netzwerkanwendungen auf sichere und kontrollierte Weise über das Internet ausgeführt werden.
FreeNX und die verschiedenen NX-Clients werden zum Einrichten, zum Suspendieren und Wiederaufnehmen von Daten, zum sicheren Tunneln über SSH sowie zum Drucken und Ton verwendet.
Andere Anzeigeprotokolle [ edit ]
Alle Enterprise-Versionen des NX-Protokolls von NoMachine ermöglichen Clientverbindungen mit Hosts über das Remotedesktopprotokoll (für Windows Remotedesktopdienste-Sitzungen) und Remote Virtual Network Computing Sitzungen (die meisten modernen universellen Betriebssystemplattformen) sowie XDM.
License [ edit ]
Vor der Version 4.0 veröffentlichte NoMachine die NX-Kerntechnologie unter der GNU General Public License und bot nicht-freie kommerzielle NX-Lösungen an. [4] war ein kostenloser Client und Serverprodukte für Linux und Solaris sowie kostenlose Client-Software für Microsoft Windows, Mac OS X und Embedded-Systeme.
Am 21. Dezember 2010 gab NoMachine die Schließung von NX 4.0 bekannt. [5]
Aufgrund der Freesoftware älterer NX-Releases wurde das FreeNX-Projekt gestartet stellen Wrapper-Skripts für die GPL NX-Bibliotheken bereit. [6] FreeNX wurde von Fabian Franz entwickelt und gewartet, hat aber seit 2008 keine Veröffentlichung angekündigt. [7]
2X Software hat einen weiteren kommerziellen Terminalserver entwickelt für Linux unter Verwendung des NX-Protokolls [8]
Am 7. Juli 2009 kündigte Google seinen NX-Open-Source-Server Neatx als internes Projekt an. [9] which [?] Das Projekt hatte keine Veröffentlichungen und wird nicht aktiv entwickelt. Sein Quellcode ist unter der GNU GPL v2 Lizenz verfügbar. [10]
X2Go basiert auf den 3.x NX-Bibliotheken, ist jedoch nicht mit anderen Implementierungen kompatibel. [11][12] Client und Server werden unter einer Kombination von GNU GPLv2 oder höher und GNU AGPLv3 oder höher veröffentlicht. [13]
Clients [ edit ]
Die primären NX-Clients sind die offiziellen Freeware-, NoMachine- und NoMachine-Unternehmen Klient. Mehrere Open-Source-Projekte können auch das NX-Protokoll verwenden.
Ein ausgereiftes OS-Projekt war die Client-Bibliothek von Lawrence Roufail nxc eine vollständige Bibliothek, auf die andere Clients aufbauen können. Die Anwendung nxrun verwendet diese Bibliothek. Ab 2006 [update] kann die Bibliothek keine Sitzungen anhalten oder fortsetzen und verwendet nur die JPEG-Grafikkomprimierung.
Das kNX -Projekt war eine von Joseph Wenninger geschriebene Proof-of-Concept-Anwendung, mit der Pläne, schließlich ein vollständiger NX-Client zu werden, um zu zeigen, dass ein Open-Source-Client geschrieben werden kann. Seine Entwicklung wurde gestoppt, bevor sie abgeschlossen war. Ende 2005 begannen Fabian Franz und George Wright, KNX zu ändern, um die Bibliothek nxc zu verwenden, brachen das Projekt jedoch ab.
Zu den jüngsten Open-Source-Bemühungen gehört QtNX das vollständige Suspend- und Resume-Funktionen bietet. Es wurde jedoch berichtet, dass es mit den neuesten NX-Bibliotheken nicht kompatibel ist.
Nxcl, ein n-Update für Nxclientlib, den Kern von QtNX, wurde von Seb James im September 2007 fertiggestellt und arbeitet mit Version 3 der NX-Kernbibliotheken. [19456545] ] Außerdem wird die Abhängigkeit von Qt verringert, wodurch verhindert wurde, dass Nxclientlib als plattformübergreifende Basis für NX-Client-Programme verwendet wird. nxcl bietet eine Bibliothek, die mit einem Client-Programm (libnxcl) verknüpft werden kann, und einen eigenständigen NX-Client mit einer D-Bus-API (die Binärdatei nxcl). Es ist auf dem FreeNX-Subversion-Server verfügbar.
Zu anderen jüngsten und aktiv gewarteten OSS NX-Clients gehört OpenNX der als "Drop-In-Ersatz für NoMachines [proprietary] nxclient" mit vollständigem Suspend und Resume beschrieben wird.
Verschiedene Open-Source-Terminalserverprojekte wie X2Go verwenden ebenfalls das NX-Protokoll. X2Go ist jedoch nicht mit anderen NX-Servern oder -Clients kompatibel.
Remmina, ein anderes kürzlich veröffentlichtes GTK + Remote-Desktop-Client-Projekt, kündigte an, dass das NX-Protokoll in Version 0.8 verwendet werden kann.
Vorherige X11-Kompressionsschemata [ edit ]
Siehe auch [ ]
- . Vergleich von Remote-Desktop-Software
- Thinstation - a Thin-Client-Linux-Implementierung mit optionalem integrierten NX-Client
- GNU Screen - ein Terminalmultiplexer für Konsolenmodus (Textmodus) -Anwendungen
- Xpra - ein System zum Anschließen und Trennen von Remote-X-Programmen
- xmove-a Mit diesem Werkzeug können Sie Programme zwischen X Window System-Anzeigen (veraltet) verschieben.
Referenzen [ edit ]
- ^ NoMachine .
- ^ a b "Bauen und Verwenden von NX-Komponenten". NoMachine. 2015-05-22 . Abgerufen 2015-08-21 .
- ^ Erstellen und Verwenden von NX-Komponenten NoMachine .
- NX-Terminalserver und Software für den Remotezugriff ] (Produktdetails), NoMachine .
- ^ NoMachine macht die erste NX 4.0-Technologievorschau verfügbar NoMachine .
- FreeNX - der freie NX ". DE: Berlios . Abgerufen 2014-02-14 .
- ^ FreeNX (Projektseite), DE: Berlios .
- 2 "2X TerminalServer for Linux Features" . 2X. Nach dem Original am 16. Januar 2012 archiviert . Abgerufen 2016-03-30 . .
- ^ "Release Neatx, ein Open Source-NX-Server", Open Source (World Wide Web-Protokoll), Google, September 2009 .
- ^ "Neatx", Code Google .
- ^ "X2Go - überall @ Zuhause". 2013-12-28 . Abgerufen 2014-02-14 .
- ^ FAQ X2go .
- . Lizenzinformationen X2go ] Externe Links [ edit ]
Không có nhận xét nào:
Đăng nhận xét