130 likes | 314 Views
Marcos Balsa Rodríguez Raúl Calvo Corrado Víctor Cebollada Cánovas. VNC: Virtual Network Computing. Introducción. VNC = Virtual Network Computing Evolución: Net PC (Network Computing) Virtual “Net” PC AT&T Paquete software: Cliente + Servidor Control remoto. Características.
E N D
Marcos Balsa Rodríguez Raúl Calvo Corrado Víctor Cebollada Cánovas VNC: Virtual Network Computing
Introducción • VNC = Virtual Network Computing • Evolución: • Net PC (Network Computing) Virtual “Net” PC • AT&T • Paquete software: • Cliente + Servidor • Control remoto
Características • Licencia GNU GPL open source • Thin-client • Complejidad en el servidor • Cliente muy sencillo y simple • Multiplataforma • RFB (Remote FrameBuffer) “porting” fácil • Visor java páginas web
¿Para qué sirve? • Control remoto de otro computador • Servicio técnico a distancia • Tele-trabajo • Administración remota de sistemas • Educación a distancia y/o colaborativa • Control remoto de dispositivos electrónicos • Etc.
Implementaciones y alternativas • Hay diversos paquetes de software similares: • RealVNC (grupo desarrollo original – control protocolo) • TridiaVNC (versión gnu / versió Pro comercial - multiplataforma) • TightVNC (versión alternativa open-source, mejoras) • UltraVNC (versión windows-only, mejoras en windows) • Windows terminal (windows) • Remote SpyAnywhere (windows) • pcAnywhere (windows) • Symantec Anywhere (windows) • GoToMyPC (solución web)
Protocolo • Basado en RFB (Remote FrameBuffer) • Thin-client • Cliente envía eventos y recibe actualizaciones • Servidor procesa eventos y envía actualizaciones • Input protocol: puntero + teclado • Display protocol
Display protocol • Concepto principal : rectángulos de pantalla • Contempla diferentes: • Formatos de pixel : 24/16/8 bit • Codificaciones • Actualización = Secuencia de rectángulos • Bajo demanda adaptativo • +ancho de banda +actualizaciones • Codificación según contenido del rectángulo
Codificaciones • Negociación cliente/servidor: • Formato de pixel • Codificaciones posibles • Codificación depende del contenido del rectángulo: • Raw – formato crudo • CopyRect – mover ventanas posición (xy) • RRE – rise_and_run_lenght encoding – 2D RLE • CoRRE – Compact RRE, suponer máx. rect 255x255 • Hextile – tiling (16x16) + RRE’ y Raw • ZRLE – Zlib + tiling + palettissation + RLE
Comunicación • Handsaking • Protocolo – cliente y servidor • Seguridad – auth / no auth • Client initialization • Server initialization • Formato de pixel • Codificaciones • Dimensiones de ventana • Nombre servidor • Updates + Events
Mensajes • Cliente Servidor • SetPixelFormat • SetEncodings • FrameBufferUpdateRequest • PointerEvent • KeyEvent • ClientCutText • Servidor Cliente • FramebufferUpdate • SetColorMapEntries • Bell • ServerCutText
Trabajo futuro • Codificación JPG • Codificación MPEG • Codificación especial caracteres • Ventanas con skins Canal alpha • Resolución cliente/servidor diferente • Servidor multiusuario en Windows
Bibliografia (WEB) • http://www.realvnc.com/ • Página de miembros del grupo que originó el concepto vnc en AT&T • http://www.tridiavnc.com/ • Un software con versión gnu y comercial • http://www.tightvnc.com/ • Un paquete gnu que añade ciertas mejoras al original de realvnc • http://ultravnc.sourceforge.net/links.html • Una versión gnu de vnc con links a muchos otros paquetes similares
Bibliografia • Tristan Richardson et al., “Virtual Network Computing” IEEE Internet Computing Vol. 2, Num. 1, Jan/Feb 1998 • Tristan Richardson, “The RFB protocol” RealVNC Ltd. Doc., Version 3.7, 12 August 2003