Tecnología NX

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Software de virtualización y entrega de aplicaciones
La

tecnología NX, comúnmente conocida como NX o NoMachine, es un software informático de acceso y control remoto, que permite el acceso remoto al escritorio y el mantenimiento de los ordenadores. Está desarrollado por la empresa NoMachine S.à r.l., con sede en Luxemburgo. NoMachine es un software propietario y gratuito para uso no comercial.

Historia

El diseño de NX se derivó del proyecto Differential X Protocol Compressor (DXPC). En 2003, se creó el protocolo de compresión y transporte NX para mejorar el rendimiento del protocolo de visualización nativo X para que pudiera usarse en conexiones lentas, como módems de acceso telefónico. Envolvió conexiones remotas en sesiones SSH para cifrarlas. La tecnología de compresión central se lanzó bajo la licencia GNU GPL2 (NX 1) para servidores Linux el 14 de febrero de 2003, mientras que otros componentes, como los programas NX Server y NX Client, siguieron siendo propietarios. La última actualización de esta versión de código abierto se lanzó en 2012. En 2010, la compañía anunció que lanzaría la tecnología bajo una licencia patentada. En 2013, NX se convirtió en código cerrado y fue en 2013 que el software NX se convirtió en software NoMachine.

Características

NoMachine está disponible para la mayoría de las computadoras de escritorio con sistemas operativos comunes, incluidos Microsoft Windows y Windows Server, así como para macOS de Apple. También existen paquetes para varias distribuciones de Linux y derivados, por ejemplo, Debian, Ubuntu, Red Hat, CentOS y Fedora Linux. También hay una versión que puede ejecutarse en variantes de distribución para dispositivos Linux ARM, incluido el sistema operativo Raspberry Pi. Hay una aplicación disponible que permite a los usuarios conectarse desde teléfonos inteligentes y tabletas con Android o el sistema operativo iOS/iPadOS de Apple.

NoMachine Terminal Server Family para Linux también ofrece la posibilidad de ejecutar múltiples escritorios Linux virtuales en un servidor Linux a los que se accede de forma remota a través de una conexión de red. Las imágenes renderizadas en el servidor se comprimen y codifican y luego se envían al cliente para su descifrado y descompresión. NX utiliza una combinación de codificación de vídeo e imagen basada en códecs estándar y una serie de técnicas desarrolladas por NoMachine y VirtualGL para acceder a aplicaciones X11 de alta gama basadas en OpenGL y programas CAD 3D.

NoMachine NX 4 y versiones posteriores

La tecnología NX de NoMachine utiliza compresión de imágenes y almacenamiento en caché óptimos con las últimas técnicas de codificación de vídeo. Al conectar hosts a través de la red, el protocolo NX funciona como un túnel genérico, con información adicional de control de flujo y encuadre, y adapta dinámicamente la compresión y el ancho de banda según la velocidad y capacidad de la red. El protocolo de visualización utiliza una combinación de codificación de vídeo e imagen, basada en códecs estándar y una serie de técnicas desarrolladas por NoMachine. NX monitorea la visualización y la actividad del usuario para adaptar la calidad y el almacenamiento en búfer a la aplicación mostrada.

Autenticación

A partir de la versión 4.0, cuando se utiliza el protocolo NX predeterminado, el inicio de sesión puede realizarse mediante autenticación basada en contraseña, clave privada o autenticación de ticket Kerberos.

Cuando NX está configurado para enviar sus datos por SSH (disponible solo en servidores de versión empresarial), los siguientes métodos de autenticación están disponibles:

Cliente a Servidor

  • NX login como usuario NX usando la tecla NX SSH y la autenticación basada en contraseña de usuario
  • Acceso al sistema con autenticación basada en contraseña
  • Acceso al sistema con autenticación basada en claves SSH
  • Acceso al sistema con autenticación basada en teclas SSH y llave SSH almacenada en una tarjeta inteligente
  • Acceso al sistema con Kerberos ticket existente en el lado cliente

Servidor a nodo

  • Iniciar sesión con contraseña
  • Iniciar sesión con la tecla SSH enviada desde el cliente (por ejemplo, NoMachine Player) a través del servidor a nodo
  • Iniciar sesión con Kerberos ticket remitido desde cliente a través del servidor a nodo
  • Iniciar sesión con Kerberos ticket solicitado por Kinit en servidor host
  • Iniciar sesión con Kerberos ticket solicitado por el módulo PAM en servidor host.
  • Iniciar sesión con contraseña para Kerberos ticket solicitado por el módulo PAM en node host

Tecnología de Legacy

NX comprime los datos X11 para minimizar la cantidad de datos transmitidos, y almacena datos para mantener la sesión lo más sensible posible. Por ejemplo, la primera vez que se abre un menú, puede tardar unos segundos, pero posteriormente es casi instantánea.

NX es más rápido que sus predecesores, ya que elimina la mayoría de los viajes redondos X, mientras que dxpc y MLView sólo comprime datos.

Los dos componentes principales de NX son nxproxy y nxagent. nxproxy se deriva de dxpc y se inicia tanto en la máquina remota (cliente en terminología X) como en la local (servidor en terminología X), simulando un servidor X en el cliente y reenviando solicitudes remotas del protocolo X al servidor X local.

Configuración más sencilla:

clientes remotos (xterm, etc.)
↕
cliente nxproxy
↕
Red
↕
servidor nxproxy
↕
servidor X local (monitor/keyboard)

nxproxy solo alcanza 1:10 a 1:1000 ratios de compresión, reduciendo ancho de banda, pero no elimina la mayoría de los viajes redondos sincronizados de X, responsables de la mayoría de la latencia percibida de X.

nxagent, derivado de Xnest (similar a Xephyr), normalmente se inicia en la máquina remota (cliente), evitando así la mayoría de los viajes de ida y vuelta del protocolo X11. Junto con nxproxy (integrado en nxagent), esta configuración funciona bien en enlaces de bajo ancho de banda y alta latencia.

Configuración típica:

 clientes remotos (xterm, etc.)
↕
lado del servidor nxagent 
nxagent client side nxagent executable
cliente nxproxy /
↕
Red
↕
servidor nxproxy
↕
servidor X local (monitor/keyboard)

En sistemas con una implementación funcional de X11, nxproxy y nxagent son todo lo que se necesita para establecer una conexión con requisitos de ancho de banda bajo entre un conjunto de clientes X remotos y el servidor X local. SSH se puede utilizar para establecer un túnel seguro entre los hosts. NX 3 se basa en funcionalidades SSH y software SSH de código abierto existente, lo que permite ejecutar escritorios Unix y Windows contemporáneos y aplicaciones de red arbitrarias a través de Internet de forma segura y controlada.

FreeNX y los diversos clientes NX se utilizan para la configuración, manejo de suspensión y reanudación, túneles seguros a través de SSH e impresión y sonido.

Otros protocolos de visualización

El protocolo NX de NoMachine permite conexiones de clientes a hosts a través del Protocolo de escritorio remoto (para sesiones de Servicios de escritorio remoto de Windows) y sesiones remotas de Virtual Network Computing (la mayoría de las plataformas modernas de sistemas operativos de uso general), así como XDM.

Derivados y bifurcaciones de NX

Antes de la versión 4.0, NoMachine lanzaba la tecnología central NX bajo la Licencia Pública General GNU y ofrecía soluciones NX comerciales no gratuitas, productos de cliente y servidor gratuitos para Linux y Solaris, y software de cliente gratuito para Microsoft Windows, macOS y sistemas integrados. sistemas.

Debido a la naturaleza de software libre de las versiones anteriores de NX, se inició el proyecto FreeNX para proporcionar secuencias de comandos envoltorios para las bibliotecas GPL NX. FreeNX fue desarrollado y mantenido por Fabian Franz, pero no ha anunciado un lanzamiento desde 2008.

2X Software ha desarrollado otro servidor terminal comercial para Linux utilizando el protocolo NX.

El 7 de julio de 2009, Google anunció su servidor NX de código abierto, Neatx, como un proyecto interno. El proyecto no tuvo lanzamientos y no se desarrolla activamente. Su código fuente está disponible bajo la licencia GNU GPL v2.

X2Go se basa en las bibliotecas 3.x NX, pero no es compatible con otras implementaciones. El cliente y el servidor se publican bajo una combinación de GNU GPLv2 o posterior y GNU AGPLv3 o posterior.

Clientes

Los principales clientes de NX son el software gratuito oficial, NoMachine y NoMachine Enterprise Client. Varios proyectos de código abierto también pueden utilizar el protocolo NX, pero muchos de estos proyectos OSS no funcionan con versiones más recientes del software oficial NX.

Un proyecto de sistema operativo maduro fue la biblioteca cliente nxc de Lawrence Roufail, una biblioteca completa que se puede utilizar para que otros clientes desarrollen. La aplicación nxrun utiliza esta biblioteca. A partir de 2006, la biblioteca no permite suspender ni reanudar sesiones y utiliza únicamente compresión de gráficos JPEG.

El proyecto kNX fue una aplicación de prueba de concepto escrita por Joseph Wenninger, con planes de convertirse eventualmente en un cliente NX completo para demostrar que se podía escribir un cliente de código abierto. Su desarrollo se detuvo antes de su finalización. A finales de 2005, Fabian Franz y George Wright comenzaron a modificar kNX para utilizar la biblioteca nxc, pero abandonaron el proyecto.

Los esfuerzos de código abierto más recientes incluyen QtNX, que ofrece suspensión y reanudación completas. Sin embargo, se ha informado que es incompatible con las bibliotecas NX más recientes.

Nxcl, unan actualización de nxclientlib, el núcleo de QtNX, fue completada por Seb James en septiembre de 2007 y funciona con la versión 3 de las bibliotecas principales de NX. También elimina la dependencia de Qt, lo que impidió que nxclientlib se utilizara ampliamente como base multiplataforma para programas cliente de NX. nxcl proporciona una biblioteca que se puede vincular a un programa cliente (libnxcl) y a un cliente NX autónomo con una API D-Bus (el binario nxcl). Está disponible en el servidor FreeNX Subversion.

Otro cliente OSS NX obsoleto (última actualización en enero de 2013) es OpenNX, descrito como un "reemplazo directo del cliente nxclient [propietario]" con suspensión completa y reanudación.

Varios proyectos de servidores de terminales de código abierto, como X2Go, también utilizan el protocolo NX. Sin embargo, X2Go no es compatible con otros servidores o clientes de NX.

Remmina, otro proyecto reciente de cliente de escritorio remoto GTK+, anunció la capacidad de utilizar el protocolo NX en su versión 0.8.

Esquemas de compresión X11 anteriores

  • Bajo ancho de banda X (lbxproxy; obsoleto y de interés histórico solamente)

Contenido relacionado

Tarjeta perforada

Una tarjeta perforada es un trozo de papel rígido que contiene datos digitales representados por la presencia o ausencia de agujeros en posiciones...

CPython

CPython es la implementación de referencia del lenguaje de programación Python. Escrito en C y Python, CPython es la implementación predeterminada y más...

Arquitectura Harvard

La Arquitectura Harvard es un modelo de arquitectura informática que separa físicamente la memoria de código de programa de la memoria de almacenamiento de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save