VMwareView4图像传输协议PCoIP详解VMware在11月底公布了VDI(VirtualDesktopInfrastructure)解决方案的最新版本“VMwareView4”,其中最大特点就是采用全新的PCoIP协议,本文我们也将主要围绕这重点来说。压缩显示器输出、通过IP转送的PCoIPPCoIP与RDP一样是安装在Windows操作系统中的一种图像传输协议。它并不是VMware开发的协议,而是由加拿大的Teradici开发的。Teradici开发之初是为了提高反应能力和显示虚拟桌面的质量,需要专门的硬件上的电线两端。VMware在2008年召开的VMworld2008大会主体演讲过程中宣布将将与Teradici共同开发支持VMwareView的PCoIP协议,飞跃性地提高VDI的功能。VMwareView4的PCoIP软件是通过这样的软件栈来实现的PCoIP的最大特点就是,压缩显示器的输出,然后利用IP进行传送。压缩只是针对变化的部分,不变化的部分是不传送的。因此,即使主机方面重新生成HD仿真的话,如果有足够的网络带宽也是能够重新生成的。Windows7采用的是RDP7.0,在主机PC方面不渲染MPEG等动画格式的文件,采用在客户PC上重新生成的方式(GDI也是在客户PC上渲染的)。总之,客户方面采用的是装载了GPU的PC,那么RDP7.0就可以在充足性能下重新生成仿真效果。然而,当使用瘦客户的时候,瘦客户机方面就必须有某些GPU功能。PCoIP2.1支持对WMV7/8/、WMA、AC3、MP3、MPEG1/2和MPEG4-Part2等视频音频文件进行渲染。它与RDP7.0是不同的,即使客户机方面没有安装DirectX这样的高级GPU,也可以使用某些型号的硬件来重新生成。在Flash方面,渲染是专门在主机上进行的。这是因为因特网上有很多网站使用Flash来实现菜单操作的。因此一个使用Flash的互动显示屏是无法使用PCoIP像普通屏幕那样显示的。因此,Flash是PCoIP的一种特殊图像传送。同时,PCoIP提供多台显示器及1900×1200分辨率和最多4台32位显示器的支持,此外它还支持把字体设置成清晰模式(ClearType)。PCoIP,支持4个显示器根据Teradici提供的资料,PCoIP和RDP(尽管没有明确指出是哪个版本,但很可能是RDP6.1)在LAN等网络下的性能并没有差异。PCoIP和RDP的主要差别体现在低速线路的显示性能方面。Teradici的幻灯片和提供的PDF文件中说明,在400Kbps的WAN线路(200ms的延迟)下,PCoIP的速度比RDP高出一倍以上。图中表示了使用PCoIP和RDP传送协议的PDF文件性能。LAN方面相差不大,但是在WAN方面的差距是非常明显的从幻灯片中的数据可以清楚地看到PCoIP的性能水平。不过这里对比的RDP版本是RDP6.1而且,根据PCoIP的线速是可以循环显示图像的。总之,在低速线路下它可以很好地读取文字,集中转送文本部分的数据。图形部分是一个大体的图像。如果线路速度提高的话,它可以自动提高图形分辨率,可以显示高清图像。不同连接线路速度下PCoIP显示图像的效果。在低速线路下,文本旁边的图像显示很模糊。随着线路速度逐渐提高,高清晰度的图形也能显示了如果使用了低速网络和远程桌面功能,鼠标指针表示可能与鼠标实际运动是不相符的。鼠标运动过快的话,鼠标指针表示就会跟不上,从而出现间断的情况。PCoIP解决了在客户方面用透明图像表示鼠标指针的问题。总是,鼠标指针是在客户方面处理的,主机方面只发送鼠标的位置信息。因此,鼠标移动的时候,主机方面也不会发生图像重写。因此,在使用低速网络的时候也可以实现顺畅地鼠标控制。VMwareView4不仅管理软件PCoIP,而且还可以使用硬件Teradici管理PCoIP客户。如果使用了PCoIP专用硬件,就可以顺畅地远程使用像CAD和3D图形这样需要带宽支持的应用VMwareView4不仅是在vSphere4上架构虚拟桌面PC的,而且还能管理装载了Teradici主机卡的刀片PC和机架式工作站。这样就可以使用CAD和SDCG等计算密集型应用,因为如果使用Teradici主机卡的话性能就要比PCoIP服务器更高。实际上,它可以利用互联网连接将在位于伦敦的客户PC与纽约的远程服务器连接起来。Windows7和WindowsServer2008R2也支持这样的功能,不过WindowsXP和WindowsVista并不支持。因此,如果主机操作系统使用WindowsXP和WindowsVista作为VDI的话,使用PCoIP来提高性能也是一个可供选择的方案。此外,VMwareView4也是支持PCoIP和RDP的。RDP还是PCoIP?RDP7.0是一项高性能图像传送协议,对服务器和客户机的负荷也很小,相比之下DirectX协议则要大一些。RDP7.0也不能远程支持Windows7中的一些新显示功能,例如,Direct3D、Direct2D和DirectWrite等。微软打算加紧对RDP7.0进行升级,支持Windows7中的功能。不过,因为WindowsXP和WindowsVista中并不支持RDP7.0,所以Windows7变成了VDI的虚拟PC。如果客户PC使用了Windows7,那么VDI的价值就大大削减。如果使用WindowsXP或者WindowsVista的话,则会受益于PCoIP大幅度提升性能。不过现在不能说以后PCoIP也永远是最好的。WindowsVista和Windos7从作为WindowsXP核心功能的GDI转移到用于DirectX显示,可以说这是一个重要的转折点。如果所有应用都变成使用DirectX而不是GDI的WPF(WindowsPresentationFoundation),那么RDP协议性能会大幅度提高。然而,客户方面需要提供DirectX和GPU的支持。如果是这样的环境,你也许不会使用PCoIP。对于这种环境,可能需要4~5年时间来解决(下一代Windows8发布的时候说不定就可以完善)。正因为如此,WindowsView4不仅支持PCoIP,也支持RDP。考虑到VDI这样功能,对于这个图像传送协议方面来说,重要的是是否可以轻松管理虚拟PC环境。根据来自连接服务器的请求,基于主机操作系统镜像按需地创建虚拟PC是十分重要的。当然,如果只有每个用户那的不同信息被保存下来的话,那么终端服务器和UI环境使用起来会变得十分方便。如果VDI可实现数百人的环境,那么大容量存储也就没有必要了,因为在管理方面,整个操作系统不需要镜像到每个用户那里。未来,集成管理功能使用的简便程度将对VDI来说非常重要。企业最初部署的协议,例如PCoIP和RDP等传送协议都将在VMwareView4那里得到支持。管理工具的易于管理性大概就是不同传送协议在功能上的区别吧。