Image

简析云桌面中的几种常见远程显示协议

2018-11-20 10:27:12 7160

基于VDI的云桌面的实现原理是将远程服务器上虚拟机的输出画面投影(传输)到终端上,这个传输过程中就需要采用“远程显示协议”。协议的优化程度将直将影响到云桌面的流畅性与用户体验,比如出现画面卡顿、丢帧等现象。很多厂商都在此领域投入了大量的研发。如今在vGPU(GPU虚拟化)、视频解码重定向等技术的支持下,即使在VDI下云桌面也能获得不错的图形处理能力,甚至可以胜任三维渲染、图形图像处理、高清解码编码工作。一改人们以往对VDI在图形处理方面能力不佳的印象。这些都得益于远程显示协议的不断优化。目前比较具代表性的协议分别是由业内的几个国际巨头们主推,国外厂商在二次开发时会根据内核的不同作出选择。

 

RDP协议(Remote Desktop Protocol)

 

RDP由Microsoft(微软)公司推出,第一代版本是从Citrix 购入ICA 后改良,协议基于T.128(T.120协议族)提供多通道通信。早期被应用在微软Win2000 /2003 Server的”终端服务”上,之后WindowsXP等桌面版的Windows系统上的“远程桌面”( 3389 )也都采用了RDP 协议。目前RDP 协议仍然是微软虚拟桌面的传输协议。

 

RDP协议中是基于会话连接的,登录到某到远端桌面时,需要这台桌面已经安装好Windows 操作系统并为远程桌面登录开放了帐户与权限,Windows 支持多用户多会话同时连接,因此可以多个用户登录同一个桌面或各自的桌面,同时支持本地打印机、声音、本地磁盘资源和通讯接口的重定向、支持32位真彩全屏传输。但是他们使用的仍然是同一个系统共享着进程与内存、CPU 等资源(一些时候会引起互斥冲突),RDP 的服务端是单独收费的,只能免费试用120天,之后就需要激活,按会话数或设备数计费。

 

目前也有完全兼容RDP 的freeRDP的开源项目,有基于Windows /Linux /Mac /Android /IOS 都多种客户端版本的源码开放。

 

RemoteFX

 

RemoteFX是微软在Windows 7/2008 R2 SP1中增加的一项桌面虚拟化技术,使得用户在使用远程桌面或虚拟桌面进行游戏应用时,可以获得和本地桌面一致的效果。RemoteFX可以将GPU虚拟化提供给每一个虚拟桌面,也就是说每个虚拟机都可以获得独立的虚拟GPU,从而可以获得各种各样的图形加速能力,进而执行各种高保真视频、2D、3D图形图像以及富媒体的处理能力。RemoteFX技术不仅仅能够应用于通常的远程桌面中,如RDP、Terminal Services,也能够应用于如 Hyper-V这样的虚拟化环境。微软指出,在Windows 7 RTM中,执行远程登录以及Hyper-V桌面,是有一定的限制的,只能进行有限的图形操作,并且速度缓慢,特别是在Hyper-V桌面中。不过,在Windows 7 SP1中,微软添加了RemoteFX功能,这样一来,不管是基于物理的桌面还是基于虚拟化的桌面,都可以摆脱旧有的限制,获得和本地桌面一致的效果。添加RemoteFX技术之后,用户在Windows 7 SP1中使用远程桌面或虚拟桌面进行游戏应用或者2D、3D图形创作,已经不再是一个梦想。

 

ICA协议(Independent Computing Architecture)

 

ICA协议由Citrix推出,被广泛的应用在他们公司的全线虚拟化产品中(如:XenDesktop 、XenApp )。Citrix ICA具有平台独立的特性,它的不同模块使其很容易适应不同的客户端操作系统的需要,包括UNIX、Macintosh、Java和MS-DOS,而不需考虑用户的位置、客户端硬件设备或者可用带宽的限制,让多名用户得以共享同一台主机。相对于传统RDP协议,ICA协议稳定性更好,支持各种类型的客户端设备,ICA协议能够支持音频、视频和多媒体带宽控制,在视频观看、Flash播放、3D设计等应用上,ICA的用户体验会很流畅。

 

HDX

 

HDX将先进的优化技术与ICA协议结合,形成了HDX网络优化技术,但仅仅是基于网络协议的优化是远远不够的,正如前面所述,终端用户体验涉及到了方方面面的技术。Citrix HDX技术覆盖了从数据中心到客户端设备的各种Citrix现有产品的体验,增加了针对多媒体、语音、视频和3D图形的改善功能。其HDX数据中心优化技术旨在利用服务器的处理能力和可扩展性,无论端点设备的能力高低,均可实现卓越的图形和多媒体性能。HDX终端设备优化技术则旨在利用端点设备的计算能力,以最有效的方式改善终端用户体验。

 

PCoIP协议

 

PCoIP协议由VMware推出,PCoIP协议是一种高效率的数据交换协议,由Teradici 公司开发,与VMware View桌面虚拟化产品一同使用。CoIP使用通用服务器CPU。PCoIP不同于其他协议之处在于其主要基于UDP。VMware View 5通过增加网络用户密度并减少局域网以及广域网的带宽消耗对PCoIP进行了改进,同时还增加了更多的缓存控制设置。PCoIP对微软RDS的支持采用了数据压缩、加密和连接优化技术,用户在非常低的的网络带宽下均能使用,而实际运行的桌面位于后台的数据中心高速网络内,因此终端用户在低带宽链路就可以享受到局域网内的运行速度。其用于提供高质量的虚拟桌面用户体验,目前已经成为最为流行的桌面虚拟化协议和标准。PCoIP的最大特点就是,将用户的会话以图像的方式进行压缩传输,对于用户的操作,只传输变化部分,保证在低带宽下也能高效的使用。同时,PCoIP提供多台显示器及2560*1600分辨率和最多4台32位显示器的支持,此外它还支持把字体设置成清晰模式(Clear Type)。

 

SPICE协议

 

SPICE协议由Redhat推出,SPICE(Simple Protocol for Independent Computing Environment)是Red Hat收购Qumranet后获得虚拟技术。SPICE能用于在服务器和远程计算机如桌面和瘦客户端设备上部署虚拟桌面。它类似于其它用于远程桌面管理的渲染协议,如微软的RDP或Citrix的ICA。它支持Windows XP、Windows 7和Red Hat Enterprise Linux等虚拟机实例。大部分SPICE代码是采用GNU GPLv2许可证发布,部分代码是采用LGPL许可证。其是一项高性能、动态的自适应远程呈现技术,能为终端用户带来和物理桌面个人计算机难以区分的体验。SPICE是为远程访问虚拟化桌面而专门设计和创建,它是使用redhat企业虚拟化桌面版时,将用户连接至虚拟化桌面的协议。与Microsoft的RDP和Citrix的ICA旧协议不同,SPICE是以多层架构为基础,旨在满足目前桌面用户的丰富多媒体需求。设计的核心是实现对用户端设备(CPU、RAM等)或主机虚拟服务器上可用系统资源的智能访问。作为访问的结果,协议会以动态方式判定是在客户端设备上还是在主机服务器上对桌面应用程序进行呈现,从而在任何网络条件下都能生成最佳用户体验。