桌面传输协议负责云电脑终端与服务端的数据传输。云电脑终端和服务端之间传输的数据包括视频、音频、图像、键盘鼠标输入以及其它外设输入。数据传输的目标是有序和高效,根据不同应用场景,对以下方面有不同要求:
- 资源占用:占用的CPU、网络带宽等。
- 视频和图像:画面帧率、清晰度、色彩还原度和流畅度等
- 外设:外设兼容性、识别速率和读写速率等。
目前主流的桌面传输协议有:RDP、PCoIP、ICA/HDX、SPICE、HDP等。
RDP(Remote Desktop Protocol):RDP是微软公司通过Citrix开发的。当前主要使用的版本有6.1(Windows Server 2008/Windows Vista SP1/Windows XP SP3),7.0(Windows Server 2008 R2/Windows 7),其中RDP 7.0版本增加了Remote FX功能,用于提升高清图像的渲染效果,如2D、3D图像。RDP 10.0 是基于TCP/UDP协议的,其桌面传输速度有了很大的提升.此外,在视频方面,已经是AVC 4:4:4模式了,意味着显示效果非常接近PC机。不过其宽带占用较高。RDP协议只能支持Windows和Mac平台。
PCoIP(PC over IP):PCoIP 协议是由加拿大Teradici公司开发的远程显示协议。2008年,VMware宣布和Teradici共同开发PCoIP协议,以提高桌面虚拟化的性能。PCoIP协议基于UDP协议,PCoIP协议的最初目的是应用于硬件的图形加速,而不是桌面虚拟化,因此,PCoIP协议在应用于虚拟化软件上就显得心有余而力不足。
ICA(Independent Computing Architecture):ICA协议基于TCP/IP协议,其特点是平台无关性和节省带宽,ICA协议几乎可以支持所有桌面操作系统和对带宽占用节省最低。ICA协议能够支持音频、视频和多媒体带宽控制,在视频观看、Flash播放、3D设计等应用上,其用户体验会很流畅。2009年,Citrix推出HDX技术。HDX技术是基于ICA协议开发的,同时包含其它子系列协议,并且还提高了多媒体、语音、视频和3D图形性能的功能。
SPICE(Simple Protocol for Independent Computing Environment):SPICE是一个开源协议,它是Redhat(红帽)公司研发的。该协议来源是由Qumranet公司开发的一款开源网络协议。它基于TCP/IP协议,能根据终端的性能来决定是像ICA一样发送图形命令,像PCoIP一样由服务器主机处理图像。但该协议性能较差,也必须用KVM作为核心基础组件。
天翼云电脑自研高性能、安全可靠的Clink桌面协议:不同的业务采用独立通道,各业务互不影响。在传输层,Clink协议采用慢热启动、拥塞避免、快速恢复等机制保证数据高效传输,单通道TPS可达10000以上。在协议层,协议在设计上按业务分组,各业务之间互相独立,避免互相影响;同时,与协议语言无关,通过工具自动生成对应语言的接口。在业务层,实现动态流量调节机制,根据当前网络环境切换最高速率,提升使用体验;提供固定速率控制;通过协议提供协商手段,使客户端和服务端都可以根据对端的处理性能,动态控制消息发送速率;实现通道消息压缩功能,降低通道的消息传输量。Clink协议突破高性能视频编解码技术,提供4K/60FPS极致游戏体验;创新实现自适应数据传输以及多帧关联编码技术,支持单客户端在最低2~3Mbp/s的极限带宽条件下正常运行,大幅提升弱网用户体验;研发USB总线映射技术,广泛兼容各类复杂外设;虚拟摄像头技术将总线流量占比降低,能够流畅使用高拍仪等外设。