- El VNC servidor es el programa en el equipo que comparte su pantalla. El servidor de forma pasiva permite al cliente tomar el control de la misma.
- El VNC cliente (o espectador) es el programa que vigila, controla e interactúa con el servidor. El cliente controla al servidor.
- El VNC protocolo (RFB) es muy simple, basado en una primitiva gráfica del servidor al cliente (("Put a rectangle of pixel data at the specified X,Y position", en español "Póngase un rectángulo de datos de píxel en la posición X,Y especificada) y mensajes de eventos desde el cliente al servidor.
En el método normal de operación, un visor (espectador) se conecta a un puerto en el servidor (puerto por defecto 5900). Alternativamente, un navegador puede conectarse al servidor (dependiendo de la implementación) (puerto por defecto 5800). Y un servidor puede conectarse a un espectador en "modo de escucha" en el puerto 5500. Una de las ventajas del modo de escucha es que el sitio del servidor no tiene que configurar su cortafuegos para permitir el acceso en el puerto 5900 (o 5800), la responsabilidad recae en el espectador, lo cual es útil si el sitio del servidor no tiene conocimientos informáticos, mientras que del visor usuario se espera que sea más sabio.
El servidor envía pequeños rectángulos de la framebuffer para el cliente. En su forma más simple, el protocolo VNC puede utilizar una gran cantidad de ancho de banda, por lo que han sido diseñados varios métodos para reducir la sobrecarga de comunicación. Por ejemplo, hay varias codificaciones (métodos para determinar la manera más eficiente de transferencia de estos rectángulos). El protocolo VNC permite que el cliente y el servidor negocien la codificación que se utilizará. La forma más simple de codificación, que es apoyada por todos los clientes y servidores, es la codificación cruda (raw), donde los datos se envían en píxeles en orden scanline de izquierda a derecha, y después de haberse transmitido la pantalla completa original, sólo se transfieren los rectángulos que cambien. Esta codificación funciona muy bien si sólo una pequeña porción de la pantalla cambia de un fotograma a otro (como un puntero del ratón se mueve en un escritorio, o el texto que se escriben en el cursor), pero las demandas de ancho de banda crecen radicalmente si una gran cantidad de píxeles cambia al mismo tiempo, como al desplazarse por una ventana o visualizar un vídeo a pantalla completa.
VNC por defecto usa puerto TCP 5900+N,5 6 donde N es el número de la pantalla (por lo general: 0 para una pantalla física). Varias implementaciones también inician unservidor básico HTTP en el puerto 5800+N para proporcionar un visor VNC como applet Java, que permite la conexión fácil a través de cualquier navegador web con Javaactivado. Se puede utilizar distintas asignaciones de puerto siempre y cuando el cliente y el servidor estén configurados para ello.
El uso de VNC a través de Internet funciona bien si el usuario tiene una conexión de banda ancha en ambos extremos. Sin embargo, puede requerir avanzada NAT, cortafuegosasí como configuración del router, como el reenvío de puertos para el paso de la conexión entrante y saliente a través. Algunos usuarios pueden optar por utilizar al instante aplicaciones de redes privadas, tales como Red Privada Virtual (VPN), programas tales como Hamachi para hacer el uso a través de Internet mucho más fácil. Por otra parte, una conexión VNC puede ser establecida como conexión LAN si se utiliza VPN como proxy.
Téngase en cuenta que la máquina donde se ejecuta el servidor VNC no necesita tener una pantalla física. Es Xvnc es el servidor Unix VNC server, que se basa en el estándar X server. Para aplicaciones Xvnc es un X "servidor" (es decir, muestra ventanas del cliente), y para los usuarios remotos de VNC es un servidor VNC. Las aplicaciones pueden mostrarse en Xvnc como si fueran una pantalla X normal, pero van a aparecer en cualquier conexión VNC espectadores más que en una pantalla física7 También una máquina (que puede ser una estación de trabajo o un servidor de red) con pantalla, teclado y ratón se pueden configurar para arrancar y ejecutar el servidor VNC como un servicio odemonio, y entonces la pantalla, el teclado y el ratón pueden ser eliminados y la máquina almacenada en una ubicación fuera de la forma (out-of-the way).
Además, la pantalla que muestra VNC no es necesariamente la misma pantalla vista por un usuario en el servidor. En computadores Unix/Linux que soporten múltiples sesiones simultáneas X11, VNC puede ser configurado para servir a una sesión particular existente de X11, o para iniciar una propia. También es posible ejecutar múltiples sesiones de VNC desde el mismo ordenador. En Microsoft Windows la sesión VNC servida (proporcionada) es siempre la sesión del usuario actual.
VNC es comúnmente usado como un sistema de escritorio multiplataforma a distancia. Por ejemplo, Apple Remote Desktop de Mac OS X (y, más recientemente, "Back to My Mac" in 'Leopard' - Mac OS X 10.5) interactúa con VNC y se conectará al escritorio actual de un usuario de Linux, si se sirve con x11vnc, o a una sesión de X11 separada si se sirve con TightVNC. Desde Linux, TightVNC se conecta a una sesión de Mac OS X servida por Apple Remote Desktop, si la opción VNC está activada, o en un servidor VNC que se ejecute en Microsoft Windows.
.jpg)


.jpg)


