2018年世界杯都来了,你还在看几年前的云桌面传输协议文章吗?来看新鲜出炉的!

上期我们谈到了影响云桌面性能的三个重要因素是啥?分别是服务器配置、网络和桌面传输协议。其中,桌面传输协议是各云桌面厂家的技术核心。本期我们来谈谈全球几大主流桌面传输协议。

那么,桌面传输协议是啥DongDong呢?

全球云部署架构 全球云桌面传输协议(1)

桌面传输协议,指的是一组特殊的数据传输规则,可以使云主机和云终端之间的数据有序并高效传输,从而达到“丰富而流畅”的用户体验。简单来说,就是一套踢球规则,每个球员(每种数据)都有自己的路径,并且球员之间要配合好,才能快速传球传球进球!

全球云部署架构 全球云桌面传输协议(2)

戈洛文45度角斜传到后点,无人盯防的加津斯基头球攻门得手,此球也是本届2018世界杯的首粒进球

云主机和云终端之间传输的数据包括视频、音频、图像、键盘鼠标输入以及其它外设输入。需要注意的是,桌面传输协议应用于虚拟云桌面(VDI)和共享云桌面是不同的。在其它条件相同时,使用相同的桌面传输协议在共享云桌面中,其传输速度会比虚拟云桌面(VDI)要快。毕竟球场不同(因为虚拟云桌面VDI多了虚拟层),路程远了,传球时间自然也就长了。

全球云部署架构 全球云桌面传输协议(3)

影响桌面传输协议的性能有哪些因素呢?

1. 图形数据处理方式

目前主要有两种:

2. 传输层协议

目前主要有两种:

3. 压缩和缓存技术

压缩技术有两种:有损压缩和无损压缩。根据字面意思也很好理解,有损压缩就是传输的数据有损坏,而无损压缩则是数据是完整没有损坏的。两者最直观的区别就是图像数据的传输(如下图):经过无损压缩的图像依然清晰,而经过有损压缩后的图像则模糊不清。

全球云部署架构 全球云桌面传输协议(4)

来源:Google

有损压缩除非和终端渲染技术(client-side rendering)搭配使用,才可以保证图像清晰;对于无损压缩,如果数据传输量大,也会出现不流畅的现象。如RDP协议属于无损压缩,但是流畅度不佳。而微软后期推出RemoteFX技术使得图像加速,这时流畅了,但画质又有损耗。因此,两者中间得有个取舍。优质的压缩算法需要权衡二者,这样不仅可以保证图像质量清晰,还可以有效减少数据传输量,从而降低对带宽的要求。

缓存技术是保存经常使用的显示元素,如字体和图位等,如果需要就直接获取,而无需向服务器发送重复请求,以提供高效的桌面传输性能。

4. 外设支持技术

事实上,各协议都提供了对虚拟多通道支持的技术。简单来说,桌面传输协议为了保证外设设备正常运行,就要为每种设备建立一条道路,以保证其正常有序通行。

听不懂的,稍安勿躁。小微换个说法跟大家解释:

高效的桌面传输协议的性能可以从资源占用(CPU, 网络带宽),桌面流畅度(使用起来卡不卡),丢帧率(部分画面是否丢失),画质(画面清晰度和色彩还原度),外设支持(兼容性,识别速度,读写速度)等几个方面来测试和评价。至于其中的原理,我们暂且不用深究。

目前全球主流的桌面传输协议有

全球云部署架构 全球云桌面传输协议(5)

1.RDP协议

1.1 历史由来

RDP(Remote Desktop Protocol,远程桌面协议)是基于ITU-T(国际电信联盟)的T.120协议中的T.128应用程序共享协议(又称为T.share),随后由英国软件公司DataConnection Limited优化成RDP的雏形。此时,微软看到RDP是块肥肉,果断收购了DataConnection Limited,进而把RDP变成自己的囊中物(知识产权)。

RDP协议的第一个版本是RDP 4.0,当时随同“Terminal Services”出现在Windows NT 4.0 Server、Terminal Server Edition。事实上,这个版本不是微软自己开发的,而是通过Citrix开发的。当时微软对外宣称是“共同开发”。具体过程是这样的:

在RDP4.0版本的开发期间,微软想自己单干,于是决定不再授予Citrix公司Windows NT 4.0的源代码开发的权利,还宣称要开发微软版本Winframe,并且要求Citrix将MultiWin技术许可给微软。微软想“过桥抽板”,Citrix当然不同意。于是,两位行业大佬开始谈判。谈判的结果是,微软同意在Windows NT Server 4.0的RDP服务命名为Citrix MetaFrame,并且包含在Windows NT 4.0终端服务中的Citrix提供的DLL仍然带有Citrix版权,而不是微软版权。同时,Citrix也答应不提供竞争产品,但保留向微软产品出售附加产品的权利。这种关系一直持续至今。

发展至今,已经有10个版本了。当前主要使用的版本有6.1(Windows Server 2008/Windows Vista SP1/Windows XP SP3),7.0(Windows Server 2008 R2/Windows 7),其中7.0版本增加了Remote FX功能,用于提升高清图像的渲染效果,如2D、3D图像。

全球云部署架构 全球云桌面传输协议(6)

1.2 原理及特点

RDP 10.0 是基于TCP/UDP协议的,其桌面传输速度有了很大的提升;此外,在视频方面,已经是AVC 4:4:4模式了,意味着显示效果非常接近PC机。不过其宽带占用高于PCoIP和HDX。RDP协议只能支持Windows和Mac平台。

在云桌面领域中,RDP协议主要应用于共享云桌面方案(基于多用户操作系统,实现多个用户共享一套系统和软件,每个用户独立使用,互不干扰),如Centerm(升腾)的C75零客户机就是搭配使用RDP8.0协议。但需要注意的是,RDP协议并非专门为多用户共享环境开发的,它的应用范围很广,所以RDP协议在云桌面中的性能并不能算“优”。因为RDP协议在多用户同时运行下,其桌面流畅度和响应度会降低,而且画质也会下降。

目前市面上专门为多用户共享环境开发的云桌面协议有NComputing的UXP(User eXtension Protocol,用户扩展协议)和vCloudPoint的DDP(Dynamic Desktop Protocol,动态桌面协议)。

vCloudPoint的DDP协议是混合使用了TCP和RDP协议,针对不同的画面场景(如文字、网页浏览、视频等)进行优化而开发的,适用于共享环境下的桌面传输协议。DDP协议除了使用独特的视频传输技术外,还使用了H.264,以视频流的方式传输整个桌面,其性能体现在一台i7电脑可以支持30个1080P高清视频超流畅播放。(好东西,不怕比较哈 )此外,IP虚拟化技术还可以允许每个用户桌面都使用自己的IP地址,解决共享环境下部分基于独立IP框架软件的兼容性问题。

DDP视频性能:在腾讯视频,输入“微云点云桌面1080p高清视频播放”

2.PCoIP协议

2.1 历史由来

PCoIP (PC over IP) 协议是由加拿大Teradici公司开发的远程显示协议。2008年,VMware宣布和Teradici共同开发PCoIP协议,以提高桌面虚拟化的性能。随后,VMware推出了使用了PCoIP协议的云桌面产品VMware Horizon View,这个举动直接促进PCoIP协议的商用化。2013年,亚马逊也在AWS Amazon Workspaces产品中也使用PCoIP协议。 在云桌面领域中,VMware的名气远远大于Teradici。所以大伙们都习惯说“VMware的PCoIP”。

需要注意的是,Teradici开发PCoIP协议的最初目的是应用于瘦客户机和一些硬件的图形加速,而不是桌面虚拟化,因此,PCoIP协议在应用于虚拟化软件上就显得心有余而力不足。为了弥补这个不足,VMware在View产品中增加对微软RDP协议的支持,即用户如果在使用桌面虚拟化时发现PCoIP协议无法实现的一些基础功能时,例如外设的重定向功能,可以在注销当前通过PCoIP登录的桌面,然后再选择微软RDP方式登录。让用户揪心的是,当然桌面的软件状态全部没有了,用户体验大打折扣;为彻底解决View产品在核心技术上依赖于其他公司的困境,VMware试图开发自己的协议Blast。最初是在2011年VMworld2011大会上宣布AppBlast项目。直到2016年,Blast协议才随同VMWARE HORIZON 7正式发布,不过目前Blast只能在Html5上访问。更多功能还待开发。

2.2 原理及特点

PCoIP协议基于UDP协议,其传输效率会比RDP协议更快。PCoIP协议灵活支持多种平台,如Windows, Linux, Mac, Android, iOS, Chrome, and web。目前最新版本是随同VMware Horizon 6.0发布的,带宽占用低,图像质量好。而在VMware Horizon 7.0,Blast协议出来了。这个是VMware自己独立研发的一款协议,不过目前只能支持HTMI访问,其特点是图像性能非常优(Blast默认H.264)。虽然目前还没推出视频AVC 4:4:4模式,但图像显示效果已经非常棒了。在介绍完Citrix的ICA/HDX之后,小微会给大家看两个视频体验。

3.ICA/HDX协议

ICA(Independent Computing Architecture)是Citrix公司自己开发的桌面传输协议。Citrix是一直专注于桌面虚拟化。所以非常有实力。

ICA协议基于UXP协议,其特点是平台无关性和节省带宽,换句话说,ICA协议几乎可以支持所有桌面操作系统和对带宽占用节省最低。目前使用ICA协议的产品有Citrix's WinFrame, Citrix XenApp , 和Citrix XenDesktop。ICA协议能够支持音频、视频和多媒体带宽控制,在视频观看、Flash播放、3D设计等应用上,其用户体验会很流畅。

2009年,Citrix在发布XenDesktop 3.0时推出HDX技术。HDX技术是基于ICA协议开发的,同时包含其它子系列协议,并且还增加了提高了多媒体、语音、视频和3D图形性能的功能。

来到这里,小微把国外一份对于RDP10.0,Blast和ICA/HDX三种协议的视频效果测试报告在这里简单展示一下(报告链接在参考文章的第13篇)。

全球云部署架构 全球云桌面传输协议(7)

报告结论:HDX的性能是最棒的,无论是视频显示效果,还是网络带宽占用。其次是Blast,最后是RDP10.0。不过,整体来说,三种协议都是非常不错的。

不过需要注意的是,这份报告只是单纯比较三种协议的视频性能,而并没有测试N多个用户同时跑视频时的效果。从小微的N次测试来看,当服务器连接的终端数量超过15个时,RDP10.0会耗用大量的服务器资源。

4.SPICE协议

SIPCE(Simple Protocol for Independent Computing Environments)于2007年由Qumranet公司最先开发,后来Red Hat公司把Qumranet收购并开源了。SPICE协议的最大的特点是开源,国内很多云桌面产品都是直接在SPICE协议上做文章的。由于SPICE协议有太多版本了,在这里就不列举了。

不过,由于底层是固定了,所以可优化的程度不高。因此,基于SPICE协议开发的虚拟云桌面(VDI)方案性能不佳,带宽占用高、图像显示不优仍是其痛点。虽然国人的技术不断更新,方案也不断改善,但协议决定了其性能的上限。奈何?没错,SPICE协议主要看气质!

最后,小微总结一下几大协议的区别:

① RDP/Remote FX只能在Windows和Mac平台使用,而ICA/HDX 可以在 Windows, Mac, Linux, Blackberry, iOS, Android等多平台使用;

② RDP/Remote FX需要远程主机使用图形处理单元进行位图编码,而PCoIP直接使用服务器CPU,所以PCoIP比RDP/RemoteFX的传输效率要高;

③ PCoIP可以支持RDP;

④ 只有SPICE协议是开源的,提供平台给大家分吃云桌面蛋糕。

⑤ ICA/HDX协议和PCoIP协议的授权费用不菲,大多用于虚拟云桌面(VDI)中;而RDP/RemoteFX协议较为划算,但总体性能一般。至于SPICE协议,就的去自己研究了。因为实在是太多版本了!!

至于哪个好?

小微建议小伙伴们通过测试自己找答案。可以通过视频播放、画面显示质量、用户体验度、外设兼容等去判断。

不过,小微提醒大家,并不是性能高就适合自己的。毕竟,价格和应用需求也是考虑的重要因素。如果用于普通办公和需要标准化教学的普教电脑机房,不妨考虑vCloudPoint微云点的共享云桌面;)

欢迎关注下期话题:

VDI,VOI,IDV,共享云桌面的区别。

,