VNC简介

      VNC的全称是Virtual Network Computing,是一种常见的远程屏幕分享工具。

      VNC由Olivetti & Oracle研究室(ORL)开发,它的发明者是Tristan Richardson。最初是基于X Window 系统可以将用户的界面显示在不同的计算机上这一特点,ORL扩展了一些功能,让用户的界面能够动态地重定向到不同的X桌面上,并开发出了Teleporing System。这里可以简单地理解成就是基于X协议,将用户界面显示在不同的计算机上。但是,使用X协议有多个缺点:

         1.要在显示的设备上运行X Server,而X Server是一个非常庞大的、需要很多系统硬件资源支持的软件。对于很多设备,运行X Server是不现实的,特别是在90年代初;

         2.X系统在远程使用时存在着安全性的问题;

         3.界面的响应速度很大依赖于网络速度。即使在今天,在广域网上运行X软件,效果仍然不好;

        4.90年代初,微软系统已经遍布全世界,但是X Server还没有在Windows系统中实现。现在这个问题已经不存在了,XMing之类的软件已经在Winows中实现了X Server。

        由于以上4点,想在更大范围内(如广域网中,移动终端中)使用X Server来实现用户界面的远程显示是不实现的。

       后来,ORL实验室在1994年根据Videotile系统的经验想到,可以把计算机的屏幕当成视频的源头,然后把视频通过网络传送到另一个设备上显示。于是,他们设计出VNC协议,也就是我们现在所看到的RFB协议。传输方式的首要特点是:只传送图像的变化量,而不是整一幅图像。它的好处是:

        1.客户端是所谓的“瘦客户端”,对显示设备的要求不高;

        2.传输的只是一些图像的变化量,安全性较好;

        3.客户端很容易实现,并有多种实现方式。理论上在所有支持网络通信,图像显示的设备上都可以实现VNC客户端;

        而且,

        4.而把屏幕当成视频源,对于服务端的实现,就可以从更高的层面上对问题进行抽象,而不会局限于X系统。于是,就可以在windows上实现基于RFB的服务端。

      VNC的设计者曾经设想过这样的场景,在本地插入一个USB设备,这个设备马上在远程机器上有响应。可以在vnc客户端中用远程的软件来操作本地的USB设备,比如用远程的软件来播放本地的歌曲等等。可是,目前的vnc系统本未支持这些特性。但是Citrix公司的虚拟化产品中已经有了类似的实现。

你可能感兴趣的:(oracle,windows,网络,server,System,NetWork)