在国际上,桌面虚拟化市场厂商主要有citrix(思杰,占46%市场份额)、vmware(占18%)、微软、dell。有人这么比喻这几大厂商的桌面虚拟化软件产品:citrix就是手机中的iphone,即使使用较低的配置也不卡;vmware就像google的手机nexus,微软就像windows phone,是鸡肋。一看这个比喻,大家就大致清楚他们的差别,但这仅是在桌面虚拟化局部战场的情况(注:但这个比喻只能代表一时,风云变幻),如果换到服务器虚拟化,那还是vmware说了算,微软排第二。
桌面虚拟化实际应用
桌面虚拟化的核心技术是桌面传输协议,即用于服务器与终端之间传输图形、音频、视频、输入信息设备、外设的通信协议。当前主流的桌面传输协议共有四种,都是基于tcp或udp协议:
1、ica:ica协议属于citrix,它的英文全称是independent computing architecture。
citrix在1989年成立时,就一直拥有这个当前仍然保密的协议。可以想象,当linux和java语言还没有出世时,citrix就开始开发虚拟化软件,ica的稳定可靠性确有其因。ica协议是基于tcp/ip,与平台无关(windows、linux甚至是dos都可运行),共定义了32个虚拟通道(虚拟通道可以简单理解为缓存,类似于usb的端点),其中16个是系统通道,用于传输视频、音频、剪贴板、磁盘、打印和外设,还有16个客户自定义通道,像我们有的高拍仪等外设产品就可以用这些通道。ica最大的特点是远程图像传输采用的是矢量数据处理方式,即把图形数据分为位图、文字、图形命令,再通过压缩算法传输至终端,再渲染显示,因此ica对于带宽会相对较低。
2、pcoip:pcoip是vmware的。
事实上这个协议并不是vmware的,而是vmware在2009年从一家小公司teradici租用过来的,该协议原本只是为硬件图形加速而设计。pcoip采用的是udp协议,但由于传输的是位图数据,体验仍然不如基于tcp协议的ica,甚至它也不支持外设重定向。vmware告诉客户的做法是,如果发现使用pcoip不能使用的功能,请切换成rdp。为了摆脱这种尴尬的局部,vmware正在研发自己的blast协议。
桌面虚拟化实际应用
3、rdp:rdp英方全称是remote desktop protocol 。
是微软公司操作系统标配的软件,rdp传输的也是位图数据,只是经过压缩,因此也需要较大的带宽。微软本来有能力把rdp做得相关完善,但微软一直不待见rdp。从rdp协议7版本之后,微软终于实现了remotefx技术,不仅实现了usb设备映射,也实现多媒体播放重定向(说白了,就是把码流压缩了,传到终端上,然后用终端的cpu来解码播放)。微软看到vmware和citrix的势头,开始行动了,结果一下子在服务器虚拟化的魔鬼象限中就排名第2了。
4、spice:是一个开源协议,英文全称是simple protocol for independent computing environment。
该协议是redhat(红帽)公司研发的。该协议来源是由qumranet公司开发的一款开源网络协议。它是基于tcp/ip协议,能根据终端的性能来决定是像ica一样发送图形命令,还是像pcoip一样由服务器主机处理图像。但该协议性能较差,也必须用kvm作为核心基础组件。该协议在四大协议中,性能应该是最差的一个。
桌面虚拟化实际应用
目前情况:
那华为的hdp协议呢?华为hdp协议其实是基于ica的定制,因为华为fusion access的核心虚拟化控制器组件仍然采用的是citrix的。
那国内很多桌面虚拟化小厂商呢?要么是服务器基于kvm,直接采用spice协议,要么就是服务器基于zen,直接拿微软rdp协议,也有用vnc的。
未来趋势:
从整体趋势来看,ica短期内不管是体验上,还是稳定性上,仍然是市场占用率第一,但微软rdp上升较快,只要微软继续发力,有望超越ica,而华为也开始从2014年被列入了虚拟化魔鬼象限中,它基于ica和狼群作战方式,也许未来会持续上升。