VNC(Virtual Network Computing):
他使用的技术是RFB(Remote Frame Buffer远程帧缓冲)协议的显示画面分享,他可以做到与操作系统无关,可跨平台,因为他的工作原理就是把图像在本地绘制好之后通过远程发送过客户端进行解码显示。因此对带宽要求会比较高.会话方面来说是session共用,这就比如你需要远程协助某个人,做屏幕共享带来了天生的优势。但也会有安全隐患,比如此时正好是Admin正在使用windows,此时你VNC过去,就共同可以使用整个Windows
RDP(Remote Destkop):
大部分Windows都支持此协议,可以远程接入操作桌面,跟VNC不同的是,他对客户端的要求比较高,他需要客户端自己完成绘制的任务,即他会通过带宽把绘制指令通网络发送给客户端,由客户端自己进行绘制,因此对带宽要求会比较低。同时对于session本身来说,RDP他会给你提供一个独立新的session,这对多用户其实是有好处的,大家都是无感的,所以这其实也是RDP Server端被Windows独占的原因(非Windows Home版以上的用户都会集成自带RDP Server ,他需要内部去解析维护独立session. 当然RDP Client端的平台是很多的,他们都可以用这些客户端去连接Windows的RDP Server
再来说下这两者的网络连接方式,他们都是采用的peer-to-peer网络连接,他表示了local PC和remote PC会采用直连的方式。如果此时正好有防火墙挡在他们之间,你可以借助gateway或者jump server的方式来做跳转。但是这个技术就和我们平常用的屏幕共享screen sharing的不同,后者是直接让local和remote都连接到他们自己的服务器进行共享。很多远程屏幕共享都会采用VNC的技术,但不会使用VNC的全部,比如刚刚提到的peer to peer直连,这些屏幕共享提供商往往会提供一个中央服务器来建立两者