Přeskočit na obsah

Virtual Network Computing

Z Wikipedie, otevřené encyklopedie

Virtual Network Computing (VNC) je grafický program určený ke sdílení plochy, který používá RFB protokol pro vzdálené ovládání jiného počítače. Přenáší pohyb myši a stisknuté klávesy na klávesnici z počítače, na kterém běží server, na počítač, na kterém běží klient a zároveň přenáší na server změny, ke kterým na klientovi došlo.

VNC je platformově nezávislý. VNC viewer na jednom operačním systému se může připojit na VNC server na stejném nebo jakémkoliv jiném operačním systému. Existují servery a klienti pro mnoho operačních systémů, založených na GUI. Na jeden server může být připojeno najednou více klientů. VNC je velice oblíbený nástroj pro vzdálenou technickou podporu nebo přístup na pracovní počítač z domova a podobně.

VNC byl původně vyvinut v Olivetti Research Laboratory v Cambridge v Anglii. Původní zdrojový kód VNC a mnoho moderních odnoží jsou publikovány jako open source pod GNU General Public Licence.

Historie

VNC byl vytvořen v Olivetti & Oracle Research Lab (ORL). V roce 1999 AT&T získaly ORL a v roce 2002 ukončili výzkum. Developeři, kteří pracovali na VNC:

Následně po uzavření ORL v r.2002, několik členů vývojářského týmu formuje RealVNC, jejichž cílem bylo pokračovat ve vývoji open source a komerčním VNC softwaru pod stejným jménem.

Činnost

VNC systém se skládá z klienta, serveru a komunikačního protokolu.

  • VNC server je program na počítači, který sdílí obrazovku.
  • VNC klient je program, který sleduju a spolupracuje se serverem.
  • VNC protokol (RFB) je velmi jednoduchý, založený na jednom grafickém obrazci poslaném ze serveru ke klientovi(vloží obdélník pixelů dat na specifické souřadnice X,Y) a zároveň přenáší na server změny, ke kterým na klientovi došlo.
Soubor:Vnc-viewer.JPG
VNC v prostředí Windows XP

Server pošle malé obdélníky framebuffer ke klientovi. Je to velmi jednoduchá forma, kdy VNC protokol může používat velkou šířku pásma, mnoho dalších rozdílných metod bylo navrženo k redukci komunikačního přetížení. Například, jsou zde rozdílná kódování (metody určující způsob, jak přenést obdélníky). VNC protokol umožňuje klientovi a serveru sjednat, které kódováni použijí. Nejjednodušší metoda kódováni, která je podporována všemi klienty a servery je "raw kódování", kde pixel dat je poslán left-to-right scanline pořadí a potom, co se přenese originální obraz, se přenášejí pouze obdélníky, které se změnily. Toto kódování pracuje velmi dobře, jestliže se mění jen malá část obrazovky, (jako pohybování myší přes pracovní plochu nebo psaní textu), ale požadavky na šířku pásma se zvyšují, jestliže se mění větší počet pixelů v jednom okamžiku, podobně jako když rolujeme obrazovku nebo koukáme na video. VNC standardně používá TCP porty 5900 pres 5906, každý port odpovídá oddělené obrazovce. Používaní VNC přes internet pracuje dobře, jestliže uživatel má broadband připojení na obou koncích. Nicméně může vyžadovat pokročilou NAT,firewall a router konfiguraci podobně jako přesměrování portu. Někteří uživatelé mohou zvolit privátní síťové aplikace, třeba jako Remobo nebo VPN aplikace jako Hamachi. Na některých přístrojích serveru nemusí být nutně fyzický displej. Xvnc je unixový VNC server, který je založen na standardu X server. Xvnc může být považován za dva servery v jednom, k aplikacím to je X server, a ke vzdáleným VNC uživatelům, to je VNC server. Aplikace se mohou zobrazovat vedle sebe na Xvnc, jako na normálním X displeji, nebo se objeví na připojených VNC klientech, nikoli na na fyzické obrazovce. Navíc display, který sloužil VNC ,není nutně stejný display, který vidí uživatel na serveru. V Unix/linux počítačích, které podporují několik současných sekcí X11,VNC může sloužit již existující X11 sekcí nebo jeho vlastní sekci. Je také možné spustit několik VNC sekcí na stejném počítači. V Microsoft Windows VNC sekce slouží vždy aktuální sekci. VNC je často používán jako cross-platform remote desktop system.

Bezpečnost

Standardně není VNC bezpečný protokol. Nicméně, VNC může být přeneseno přes SSH nebo VPN spojení, které by přidalo zvláštní bezpečnostní vrstvu se silnějším šifrováním. SSH klienti jsou dostupné pro všechny hlavní platformy. SSH tunel může být vytvořen Unix klientem, Microsoft Windows klientem, Macintosh klientem a mnoho jiných.

Zdroje

V tomto článku byl použit překlad textu z článku VNC na anglické Wikipedii.