Virtual Network Computing

Virtual Network Computing
typische VNC-Sitzung in einem eigenen Fenster

Virtual Network Computing, kurz VNC, ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur- und Mausbewegungen des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor. VNC implementiert das Remote Framebuffer Protocol und ist damit, im Gegensatz zu anderer Fernwartungssoftware, plattformunabhängig benutzbar.

Inhaltsverzeichnis

Geschichtliche Hintergründe

VNC wurde im Olivetti Research Laboratory (ORL) entwickelt. 1999 wurde das Laboratorium von AT&T aufgekauft und 2002 geschlossen.

Eine Reihe von Entwicklern, die auch noch am AT&T Research Lab an VNC arbeiteten, sind unter anderem der Erfinder Tristan Richardson, der Projektleiter Andy Harter sowie Quentin Stafford-Fraser, James Weatherall, Ken Wood, Andy Hopper, Charles McLachlan, Paul Webster sowie Hendrik Ekkelenkamp.

Nachdem das Laboratorium 2002 geschlossen wurde, haben mehrere Mitglieder des Entwicklungsteams, einschließlich Richardson, Harter, Weatherall und Hopper, die Firma RealVNC gegründet, um weiterhin an VNC zu arbeiten. Es wurde bereits damals neben kommerziellen VNC-Versionen eine im Funktionsumfang abgespeckte Open-Source-Variante unter der GNU General Public License veröffentlicht.

Auf diese Weise entwickelten sich verschiedene Forks, welche verschiedene Verbesserungen und Zusatzfunktionen enthalten, die aber alle weitgehend kompatibel zur Originalversion sind. Das verwendete Remote Framebuffer Protocol wird in Version 3.3 von allen VNC-Versionen verstanden und dient heute als „kleinster gemeinsamer Nenner“ bei Verwendung verschiedener VNC-Programme.

Mittlerweile existieren VNC-Implementierungen für alle gängigen Betriebssysteme, so dass VNC als plattformunabhängig gilt.

Funktionsweise

Hauptartikel: Remote Framebuffer Protocol

VNC arbeitet nach dem Client-Server-Modell. Das Server-Programm läuft dabei auf dem Computer, dessen Bildschirmausgaben überwacht werden sollen, wohingegen die Client-Programme die Bildschirmausgaben empfangen und ihrerseits Tastatur- und Mauseingaben an den Server schicken können.

Neuere Versionen von VNC haben im Funktionsumfang gemeinsam, dass sie meist zum VNC-Server selbst auch noch einen mit minimalem Funktionsumfang ausgestatteten Webserver zur Verfügung stellen, der ein Java-Applet bereitstellt, so dass ein Zugriff auch ohne installierte VNC-Clientsoftware über jeden Java-fähigen Browser möglich wird.

Datenschutz

Mit VNC ist es beispielsweise möglich, dass der Administrator eines Netzwerkes die Kontrolle über den Computer eines Mitarbeiters übernimmt, um Software zu installieren oder Fehler zu beheben. Allerdings kann VNC auch als Spionagesoftware missbraucht werden. Viele Implementierungen ermöglichen einen für den Benutzer des überwachten Computers unauffälligen Einsatz. In gleichem Maße kann die Benutzung von VNC-Software aber auch abgesichert sein: So zeigt die Windows-Version des RealVNC-Servers in der Taskleiste mit einem weißen Icon an, dass der Server läuft. Dieses verfärbt sich schwarz, sobald sich ein Viewer mit dem Server verbindet, so dass der Benutzer des Computers, auf dem der Server läuft, das bemerken kann. Viele Implementierungen bieten zudem die Möglichkeit, bei Verbindungsaufbau Passwörter abzufragen (nicht im RFP-Standard vorgesehen) oder in einer auf dem zu überwachenden Computer angezeigten Dialogbox eine Einverständniserklärung vom Benutzer des zu überwachenden Computers zum Verbindungsaufbau einzuholen. Alternativ ist auch ein Nur-„Lese“-Modus möglich, bei dem also lokale Eingaben beim Viewer keine Auswirkungen auf den entfernten VNC-Server-Rechner haben.

Da das Remote Framebuffer-Protokoll unverschlüsselt ist, werden prinzipbedingt auch alle Tastatureingaben des Viewers unverschlüsselt über das Netzwerk versendet. Bei Eingabe sensibler Daten (z. B. Passwörtern) besteht daher wie bei jedem anderen Netzwerkprotokoll die Gefahr der Ausspähung der Daten.

Bekannte Implementierungen

Die bekanntesten VNC-Programme, die sowohl über Client als auch Server verfügen, sind:

  • RealVNC ist die „offizielle“ Weiterentwicklung des AT&T-VNC und steht unter der GNU General Public License. Allerdings ist nur die sehr beschnittene „Free Edition“ kostenlos.
  • TightVNC: Ein VNC-Server und -Client unter der GPL-Lizenz, verfügbar für Windows und zahlreiche Unix-Derivate wie Linux; außerdem existiert eine plattformunabhängige Implementierung in Java (nur Client), die nicht installiert werden muss. TightVNC ist eine umfangreiche Weiterentwicklung des VNC-Programmes, besonders hervorzuheben sind die Kompressionsmöglichkeiten, um VNC auch bei schmalbandigen Verbindungen problemlos zu ermöglichen („Tight“-Encoding). Das Programm kann nur Passwörter verschlüsselt übertragen, die Datenübertragung an sich erfolgt unverschlüsselt.
  • UltraVNC: Ein VNC-Server und -Client für Windows unter der GPL. Er bietet Zusatzfunktionen wie Dateitransfer, Chat und Mirror Video Driver für sehr kurze Übertragungsintervalle für Breitbandverbindungen (wie DSL oder lokales Netzwerk), außerdem das „Tight“-Encoding von TightVNC. Bei UltraVNC ist die Authentifizierung nicht nur über die reguläre Passwort-Verschlüsselung möglich, sondern auch über die Microsoft Logon I u. II Authentifizierungsverfahren, die im NT Domänenkonzept und Microsoft Verzeichnisdienst ihre Anwendung finden. Für die Verschlüsselung des Datenstroms zwischen Server und Client von UltraVNC werden externe DSM-Plugin-Module verwendet. Die DSM-Plugin-Module ermöglichen eine RC4- bzw. AES-Verschlüsselung bis zu einer Schlüssellänge von 128 Bit.
  • x11vnc – leitet X-Window real displays (physischer Bildschirm, Tastatur und Maus) an beliebigen VNC-Client weiter. Mit eingebauter SSL-Verschlüsselung und -Authentifizierung, UNIX-Benutzer- und -Passwort-Unterstützung sowie Dateitransfer mit TightVNC und UltraVNC. Außerdem erweitert für Webcams, TV-Tuner und eingebettete Linux-Systeme. Zusätzlicher Enhanced TightVNC Viewer für Unix und Windows. GPL-Lizenz.
  • LibVNCServer/LibVNCClient sind plattformübergreifend einsetzbare C-Bibliotheken, die es ermöglichen, VNC-Server- oder VNC-Client-Funktionalität in eigene Anwendungen zu integrieren. GPL-Lizenz.
  • Lotus Sametime der Firma IBM, das ebenfalls weitere Zusatzfunktionen bietet
  • Contiki VNC-Server als CTK-Thema (Contiki Toolkit)
  • Krdc und Krfb – Client und Server für KDE.
  • Vino – Client und Server für GNOME.
  • CSpace – Fernsteuerung für Windowsrechner per VNC, kostenlos, Open Source, die Authentifizierung und Kommunikation erfolgen verschlüsselt, es werden bei der Installation RSA-Schlüsselpaare mit 2048-Bit erzeugt und der öffentliche Schlüssel auf einem zentralen Server abgelegt.[1]
  • DirectVNC ist ein VNC-Client für Framebuffer-Ausgaben. Er verwendet DirectFB und benötigt daher keinen X-Server. Damit eignet er sich für sehr leistungsarme Unix-Systeme.
  • Chicken of The VNC: VNC-Client für Mac OS X (GPL)
  • JollysFastVNC: VNC-Client für Mac OS X
  • VineServer (ehemals OSXvnc): VNC-Server für Mac OS X (GPL)
  • OS9vnc: VNC-Server für Mac OS 9 und Mac OS 8
  • PalmVNC: VNC-Client für Palm-Geräte
  • Apple Remote Desktop: VNC-Client für Mac OS X
  • Mocha VNC Lite: Macht VNC als Anwendung für iPod touch und iPhone möglich. Kompatibel zu PC und Macintosh.
  • Portable VNC: VNC Viewer für die Sony PSP
  • mVNC: VNC-Server für Symbian S60 Handys
  • VNsea: VNC-Viewer für das Apple iPhone
  • TouchpadPro: VNC-Viewer für das Apple iPhone basierend auf VNsea
  • TigerVNC: Abspaltung von TightVNC
  • EfonVNC: VNC-Server für Windows CE .NET (4.x), Windows CE 5.0 und Windows Embedded CE 6.0. Lizenz: GPL.

Xvnc

Xvnc ist eine Software, die auf einem normalen X-Server basiert. Anstelle eines echten, physikalischen Desktops nutzt Xvnc dabei einen virtuellen Desktop. X-Applikationen werden dabei wie auf einem normalen X-Server dargestellt, können aber nur über einen VNC-Viewer angezeigt und bedient werden.

Xvnc stellt dabei zwei unterschiedliche Server zur Verfügung: zum einen den X-Server, in dem der voreingestellte Window-Manager (z. B. GNOME oder KDE) gestartet wird, zum anderen einen VNC-Server, auf den mittels Client zugegriffen werden kann. Aufgrund der Technik der UNIX X-Server ist es so möglich, mehrere Xvnc-Instanzen auf einem Rechner zu starten.

Der VNC-Server wird normalerweise nicht direkt über Xvnc gestartet, sondern über das mitgelieferte Perl-Script vncserver.

Xvnc ist fester Bestandteil von fast allen auf UNIX-Systemen laufenden VNC-Servern.

VNC als Mehrbildschirmbetrieb

Dank seiner enormen Popularität wird das VNC-Protokoll vermehrt dazu genutzt, Multi-Head-fähige Grafikkarten zu simulieren. Dazu läuft ein Computer mit einer speziellen „Multimonitorsoftware“, die üblicherweise einen virtuellen VNC-Server zur Verfügung stellt. Von dem zweiten Rechner, dessen Monitor man als Erweiterung zum Ersten benutzen möchte, reicht dann ein gewöhnlicher VNC-Client, um sich mit dem virtuellen VNC-Server zu verbinden. Dargestellt wird dann nicht der Monitorinhalt des anderen, sondern der entsprechend simulierte virtuelle Erweiterungsteil.

Bekannte proprietäre „Multimonitor-Anwendungen“ sind ScreenRecycler für Apple Macintosh (Shareware) sowie ZoneScreen (Freeware) als auch MaxiVista für Microsoft Windows.

Einzelnachweise

  1. Nachzulesen in der c't 5/2007 S. 70

Weblinks

 Commons: VNC – Album mit Bildern und/oder Videos und Audiodateien

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Virtual Network Computing — (VNC) est un système d accès à un bureau distant qui permet de prendre le contrôle d un ordinateur distant. Il permet de transmettre les saisies au clavier ainsi que les clics de souris d un ordinateur à l autre, à travers un réseau informatique …   Wikipédia en Français

  • Virtual Network Computing — In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system which uses the RFB protocol to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical… …   Wikipedia

  • Virtual Network Computing — (VNC)  система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с… …   Википедия

  • Network computing — is a generic term in computing which refers to computers or nodes working together over a network. It may also mean: Cloud computing Distributed computing Virtual Network Computing This disambiguation page lists articles associated with the same… …   Wikipedia

  • Configurable Network Computing — or CNC is JD Edwards s (JDE) client–server proprietary architecture and methodology that implements its highly scalable enterprise wide business solutions software that can run on a wide variety of hardware, operating systems (OS) and hardware… …   Wikipedia

  • Berkeley Open Infrastructure for Network Computing — BOINC Der BOINC Client für Windows …   Deutsch Wikipedia

  • Network virtualization — In computing, Network Virtualization is the process of combining hardware and software network resources and network functionality into a single, software based administrative entity, a virtual network. Network virtualization involves platform… …   Wikipedia

  • Virtual Interface Architecture — The Virtual Interface Architecture (VIA) is an abstract model of a user level zero copy network, and is the basis for InfiniBand and iWARP. Created by Microsoft, Intel, and Compaq, the original VIA sought to standardize the interface for high… …   Wikipedia

  • Virtual security switch — A Virtual Security Switch is a software Ethernet switch with embedded security controls within it that runs within Virtual Environments such as VMware, Citrix, Microsoft and Virtual Iron. The primary purpose of a Virtual Security Switch is to… …   Wikipedia

  • Virtual security appliance — A Virtual Security Appliance is a computer appliance that runs inside virtual environments. It is called an appliance because it is pre packaged with a hardened operating system and a security application and runs on a virtualized hardware. The… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”