title: Virtual Network Computing
text: # Virtual Network Computing
  
  I Virtual Network Computing (o VNC) sono applicazioni software di accesso/controllo remoto utilizzate per l'amministrazione del proprio computer a distanza, potendo essere anche usate per controllare in remoto server che naturalmente non posseggono né monitor né tastiera. Tipicamente si tratta di tools ad interfaccia testuale; quando sono ad interfaccia grafica si parla di applicazione di desktop remoto.
  
  ## Storia
  
  VNC è stato creato inizialmente nel laboratorio della Olivetti & Oracle Research Lab, mantenuto poi dalla Olivetti e Oracle Corporation.
  
  Nel 1999 AT&T ha acquistato il laboratorio, quindi nel 2002 ha chiuso definitivamente la parte di laboratorio dedicata alla ricerca.
  
  ## Descrizione
  
  Il sistema è composto da un server e da un viewer (client): i VNC server sono applicazioni software da installare sulla macchina da controllare a distanza e rappresentano un modo comodo per poter gestire molti computer in rete (Internet o Intranet che siano) utilizzando una sola postazione, la quale deve essere munita di un viewer che permette di vedere e utilizzare le periferiche del computer da controllare.
  
  Installando un server VNC sulla propria macchina ed impostando una opportuna password si consente ai client VNC di ricevere una immagine dello schermo e di inviare input di tastiera e mouse al computer server tramite una connessione remota. In pratica si può gestire il computer server da un'altra postazione, come se fosse il proprio computer fisico (applicazione di desktop remoto).
  
  ### Software
  
  Il software necessario è spesso open source, e questo ha contribuito al diffondersi di moltissime versioni che migliorano sicurezza o velocità.
  
  Tra il software più utilizzato troviamo:
  
  * RealVNC (di cui fa parte il team originario della AT&T)
  * UltraVNC
  * Vinagre
  * TightVNC
  * PuTTY
  
  Il protocollo di comunicazione usato a livello di trasporto è il TCP sulla porta di default 5900, ma è possibile usare anche una interfaccia HTTP (solitamente utilizzata per connessioni da parte di client scritti in Java) sulla porta 5800.
  
  