VNC (Virtual Network Computing)

El VNC es la respuesta open source más extendida de las tecnologías de compartición de escritorio y es la base de muchas aplicaciones comerciales y no comerciales para ofrecer soluciones integradas de acceso remoto.

El VNC fue desarrollado en los laboratorios de AT&T en Cambridge y actualmente distribuido por RealVNC, una compañía fundada en el 2002 para desarrollar, mejorar y promocionar comercialmente el VNC.

image

El VNC está basado en el protocolo RFB (Remote Framebuffer) [TRIS 2002]desarrollado en los laboratorios de Olivetty y Oracle (ORL – Olivetty and Oracle Research Laboratory).

RFB es un protocolo simple de acceso a interfaces gráficas de usuario, debido a que trabaja a nivel de framebuffer es aplicable a todos los sistemas de ventanas y aplicaciones incluyendo X11, Windows 3.1/95/98/NT/XP y Macintosh.

Igualmente está diseñado para minimizar el número de peticiones y hacer los clientes sin estado [RICH 1998].

Actualmente, el protocolo está siendo modificado por terceros para introducir características como transferencia de ficheros, mensajería, impresión remota y reproducción de audio. Estas son modificaciones particulares que no hacen parte del estándar.

Igualmente, existen muchos clientes y servidores de VNC muchos de ellos open source o con licencias libres y de pago dependiendo de las capacidades adicionales ofrecidas como seguridad, atención al cliente, gestión de sesiones, etc.

De una manera simple, un entorno VNC se compone de un servidor VNC y un cliente VNC que se conectan vía sockets (puerto 5900 por defecto) y se comunican utilizando el protocolo RFB. Esto es ilustrado en la siguiente figura.

 

image

Las distribuciones tradicionales de VNC traen las dos aplicaciones y solo debemos lanzar la adecuada en cada sitio. Cabe destacar que no es necesario que los equipos tengan los mismos sistemas operativos e incluso, se puede acceder a un servidor desde una pda, un teléfono móvil u otros dispositivos.

El vnc server es un servidor multiusuario, lo que permitiría que varios clientes se conectaran al mismo tiempo, en un post futuro escribiré sobre topologías de conectividad con el VNC y las ventajas y desventajas de cada uno.

 

Referencias

[TRIS 2002] Tristan R, et al (2002). RFB Protocol Versión 3.3 Revision 2002

[RICH 1998] Richardson T. Stanford Q. Virtual Network Computing. IEEE Internet Computing, Vol2, No 1 January/Febrary 1998

El concepto "Que es la compartición de escritorio"

El término compartición de escritorio o sharing desktop hace referencia las tecnologías y mecanismos que nos permiten acceder a una máquina remotamente y manejarla como si estuviésemos en local.

 

Es decir, traemos la interfaz gráfica del pc remoto, ésta se despliega en nuestra pantalla local, y con el teclado y mouse local, "manejamos" el teclado y mouse remoto. La siguiente gráfica ilustra este concepto.

 

 

image

Esta tecnología también es conocida como tecnología de cliente liviano (Thin Client System) pues toda la inteligencia reside en el servidor, y el cliente solo se encarga de enviar comandos de teclado y mouse y recibir las imágenes para desplegarlas.

Existe un amplio rango de aplicaciones, frameworks y utilidades que permiten utilizar esta tecnología y seguro que muchos de ustedes las han escuchado, pero para el caso de esta introducción simple solo voy a referir dos básicas, ellas son el VNC (Virtual Network Computing) y Terminal Server. Estas dos aplicaciones y sus protocolos respectivos RFB y RDP constituyen la base fundamental de muchas otras aplicaciones que se describirán más adelante.

GTick.net

Este nombre de dominio ha tenido varios destinos, desde la idea de montar un gran blog tecnológico a otros más soñadores que no vienen al caso.

Después de por lo menos un año de pensarlo, bueno que decir pensarlo, de dedicarme a otros desarrollos y no dar importancia a cosas relevantes para mis objetivos personales me di a la tarea de reactivarlo antes de las vacaciones.

A esta fecha, 29/10/2008, he decidido que este portal se va a centrar en concentrar conocimiento alrededor de las tecnologías de compartición de escritorio o sharing desktop. Estas tecnologías hacen posible que se pueda acceder remotamente a un equipo y que se pueda obtener una imagen de su interfaz gráfica la cual es manejada con un teclado un mouse remoto.

Espero que los artículos aquí escritos sean de utilidad para aquellos que buscan información del tema.