Naar inhoud springen

Virtual Network Computing

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Zorrobot (overleg | bijdragen) op 22 nov 2008 om 16:47. (robot Erbij: no:Virtual Network Computing)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Virtual Network Computing (VNC) is een manier om het bureaublad van een computer te delen, met behulp van het rfb (Remote FrameBuffer) protocol, hiermee kan een andere computer op afstand worden beheerd. Het verstuurt de toetsaanslagen en muisbewegingen van een computer naar een andere machine. Het beeld wordt de andere richting opgestuurd, via een computernetwerk.

VNC is platformonafhankelijk: een VNC Viewer (programma om VNC mee te bekijken) op een willekeurig besturingssysteem kan een VNC server op een ander besturingssysteem benaderen. Er zijn clients en servers voor vrijwel ieder besturingssysteem, ook voor Java. Meerdere clients kunnen een server op hetzelfde moment gebruiken. VNC is erg populair om vanaf afstand technische ondersteuning te bieden, en om vanaf een willekeurige plek gebruik te maken van de documenten op de computer thuis.

VNC is uitgevonden door AT&T. De originele broncode is open source onder de GNU General Public License, er zijn heden ten dage vele varianten van beschikbaar.

Geschiedenis

VNC werd ontwikkeld in het Olivetti & Oracle Research Lab, toentertijd eigendom van Olivetti en Oracle Corporation. In 1999 kocht AT&T het lab, en sloot in 2002 het researchgedeelte van het lab.

De naam stamt van een thin-client ATM Netwerkcomputer, de Videotile geheten, wat in essentie een LCD-scherm en een pen als invoermethode had, ondersteund door een snelle ATM-verbinding met het netwerk. VNC is in wezen een software-only versie van deze 'ATM Network Computer'.

Ontwikkelaars van VNC, nog in dienst van AT&T:

Hoe het werkt

VNC bestaat uit twee delen, een cliënt en een server. De server is het programma dat op de machine en het scherm hiervan deelt, en de cliënt (of de Viewer) is het programma dat signalen verzendt en ontvangt van de server.

VNC is een zeer eenvoudig protocol, gebaseerd op één grafische primitief: "Zet een rechthoek van pixelgegevens bij een bepaald x,y positie ". Dat wil zeggen, de server stuurt kleine rechthoekjes van de framebuffer naar de client. Dit gebruikt veel bandbreedte, dus zijn er verschillende manieren om dit te verkleinen. Bijvoorbeeld, er zijn diverse encoding-methodes om de meest efficiënte manier te bepalen om deze rechthoeken over te brengen. Het VNC-protocol zorgt ervoor dat de cliënt en de server overeenkomen welke methode zal worden gebruikt. De eenvoudigste methode, ondersteund door alle clients en servers, is raw encoding waar de gegevens van links naar rechts, en dan van boven naar beneden worden verzonden, wanneer het scherm geladen is zullen alleen gewijzigde pixels worden verzonden. Hierdoor is dit een uitstekende methode, wanneer een stukje van het beeld verandert. (Het bewegen van de muis, het typen van tekst), maar wanneer er veel verandert wordt het moeilijker. (Een uitstekend voorbeeld hiervan is het afspelen van een videoclip op volledig scherm.)

Standaard gebruikt vnc poorten 5900 tot 5906, waar elke poort een X-scherm vertegenwoordigt. (poorten 6000 tot 6006, voor schermen :0 to :6). Een Java-viewer is beschikbaar in veel implementaties, zoals RealVNC op poorten 5800 tot 5806, die hetzelfde patroon aanhouden. De poortnummers kunnen worden gewijzigd.

Projecten die van VNC gebruikmaken

  • Workspot gebruikt VNC om een persoonlijke Linuxdesktop als gecodeerde Webdienst te verstrekken. Het gebruikt ook VNC om een gratis online Linux Desktopdemonstratie te leveren.
  • Ndiyo neemt "lessen geleerd van VNC" in zijn ultra-thin-client, nivo, welke het voor gebruik in internetcafés ontwikkelt, vooral in Derde Wereldlanden, met behulp van het oorspronkelijke VNC-team.
  • Fog Creek Copilot is een dienst die veilige verre hulp via internet verleent. Het is gebaseerd op een VNC-kern.
  • Apple Remote Desktop versie 2 gebruikt het VNC protocol.
  • VNC Scan Enterprise Console zorgt voor het uitrollen van VNC via LAN of WAN
  • VNCon Simpele VNC-scanner
  • vnc2swf Een opnameprogramma dat Macromedia Flash-filmpjes maakt van een VNC-scherm.

VNC en veiligheid

VNC is standaard geen veilig protocol. Hoewel wachtwoorden niet als platte tekst worden verzonden (zoals bij telnet), kan brute-force cracking succesvol zijn als zowel de encryptiesleutel als het gecodeerde wachtwoord van het netwerk worden afgeluisterd. Daarom wordt gebruik van een wachtwoord van minimaal 8 tekens aanbevolen.

VNC kan via een SSH of VPN-verbinding worden getunneld, wat een extra veiligheidslaag toevoegt. Jammer genoeg is dit niet altijd een werkbare oplossing, SSH-tunnels met Windows-machines openen is zeer moeilijk.

UltraVNC ondersteunt het gebruik van een open-source encryptieplugin die de gehele VNC-sessie inclusief het wachtwoord en bestandsoverdrachten beveiligt. Authenticatie via NTLM en Active Directory is ook mogelijk.

RealVNC biedt hoge sterkte encryptie bij het commeriële pakket.

Workspot brengt AES-patches uit voor VNC.

Hoewel sommige mensen geloven dat VNC gemakkelijk kan worden gebruikt om in een systeem binnen te dringen, moet een gebruiker gewoonlijk uitdrukkelijk toegang krijgen tot de poorten die door VNC worden gebruikt . Met andere woorden, een systeem met VNC op een netwerk kan slechts van binnen dat netwerk worden benaderd tenzij de gebruiker anders specificeert (zoals in de configuratie van een router).

VNC Versies en implementaties

Meer lezen

  • Tristan Richardson, Quentin Stafford-Fraser, Kenneth R. Wood & Andy Hopper, "Virtual Network Computing", IEEE Internet Computing, Vol.2 No.1, Jan/Feb 1998 pp33-38 In PDF formaat

Zie ook