ICA ICA(Citrix Independent Computing Architecture)是Citrix公司开发远程协议架构,Citrix在1989年成立时,就一直拥有这个当前仍然保密的协议。ICA协议是基于TCP/IP,与平台无关(Windows、Linux甚至是DOS都可运行),共定义了32个虚拟通道(虚拟通道可以简单理解为缓存,类似于USB的端点),其中16个是系统通道,用于传输视频、音频、剪贴板、磁盘、打印和外设,还有16个客户自定义通道,像有的高拍仪等外设产品就可以用这些通道。ICA的特点是远程图像传输采用的是矢量数据处理方式,即把图形数据分为位图、文字、图形命令,再通过压缩算法传输至终端,再渲染显示,因此ICA性能上比较突出的特点是较低的带宽占用,在弱网(高延迟、高抖动)的情况下也能正常使用。ICA不仅支持Citrix自家的虚拟化平台XenServer,还支持vSphere 和 Hyper-V。
RDP RDP(Remote Desktop Protocol)是微软的远程桌面协议,是微软公司操作系统标配的软件,RDP传输的也是位图数据,只是经过压缩,因此也需要较大的带宽。微软本来有能力把RDP做得相关完善,但微软一直不待见RDP。从RDP协议7版本之后,微软终于实现了RemoteFx技术,不仅实现了USB设备映射,也实现多媒体播放重定向(说白了,就是把码流压缩了,传到终端上,然后用终端的CPU来解码播放)。
SPICE SPICE(Simple Protocol for Independent Computing Environments)是一款开源虚拟桌面协议,该协议是Redhat(红帽)公司研发的,该协议来源是由Qumranet公司开发的一款开源网络协议,经过几年的社区开发,SPICE协议不断成熟。SPICE 协议对于视频具有一定的优越性,其主要原因还是对于显示信息的压缩处理由KVM 完成,避免了 GuestOS 内由于视频压缩对于 CPU 的过量消耗。SPICE 协议采用无损压缩,所以清晰度较高,缺点是带宽较高,消耗的资源较大。
PCOIP PCoIP(PC-over-IP)是由VMware与Teradici共同开发的协议,以改进自己的VDI解决方案VMware View。PCoIP 和硬件结合紧密,数据的编码和解码,图形的处理可以通过专门的硬件来完成,让 CPU 有精力来做其他的事情,也有专门集成了 PCoIP显示芯片的显示器。PCoIP 是基于 UDP 协议的,UDP 传输不可靠,但是 UDP 没有 TCP 的三次握手复杂的校验和数据恢复,传输速度快,适合多媒体的传输,同时由于传输的是位图数据,体验仍然不如基于TCP协议的ICA。PCoIP 的缺点是带宽占用相对较高,原生 PCoIP 协议没有串并口等外设的重定向能力,但一些 TC 厂商通过额外的端口重定向插件弥补了其这方面功能的不足。目前Vmware正在研发自己的Blast协议。
深信服远程应用协议(SRAP) SRAP(Sangfor Remote Appliction Protocol)是Sangfor自主研发的远程协议,其有带宽占用低、CPU资源消耗小等优势,并支持了vGPU、视频重定向支持、H264压缩等,使得云桌面的体验性远远优于SPICE和RDP协议,且带宽消耗低于它们。深信服自研的 SRAP 高效交付协议,采用高效流压缩、智能数据缓存、动态图像优化等多项优化技术,相对 RDP 协议提升 6 倍传输效率,最大程度保障用户桌面体验。
SRAP工作在OSI 7层模型的应用层,同时涉及的端口为5501~5699之间。
SRAP采用虚拟通道的方式,不同的功能走不同的虚拟通道,这样相互不影响,具体为:Main通道、Display通道、Cursor通道、Input通道、USB通道、Record(录音)通道、Playback(音频)等类型通道,其中USB通道最大支持15个(SRAP扩展到31个),每个静态通道一个sock连接。虚拟机通道是基于Main通道上扩展,没有数量限制,常见的有视频重定向虚拟通道、剪贴板虚拟通道、磁盘映射虚拟机通道、极域虚拟机通道等。
关于SRAP通道的带宽控制说明,目前仅支持USB通道、剪贴板虚拟通道和磁盘映射虚拟通道的带宽控制。USB通道、剪贴板虚拟通道和磁盘映射虚拟通道对于文件大小无限制,但是可以通过文件导出工具限制导出文件的大小。关于SRAP加密情况说明,VDI5.4.11 版本之后,不经过VDC代理的情况下,传输数据采用256位AES加密算法加密,经过VDC代理的情况下,传输数据采用256位AES+128位RC4双重加密算法加密。VDI5.4.11 版本之前,数据需要走VDC代理采用RC4加密算法加密。
关于VDI(虚拟桌面)与SBC(基于winserver的虚拟应用)使用的协议说明,这两不是同一协议,虚拟桌面协议是基于SPICE上开发的,虚拟应用基于RDP上开发的,他们的区别在于:RDP的服务端是微软自己的远程服务,RDP只有一个静态通道、一个sock连接,运行在虚拟机内部,系统启动后该服务才启动,但是我们基于RDP协议进行了流量优化和稳定性优化,虚拟应用的普通办公场景,流量可降低至100Kb左右,极大的降低了数据传输流量。SRAP协议的服务端运行在QEMU(虚拟机外部),终端无需与虚拟机建立通信也能够显示虚拟机画面,终端与虚拟机隔离,安全性更高;同时支持多种静态通道,通道之前的数据互不干涉,每个通道1个sock,外设兼容性比较好。 |