SPICE协议的理解

SPICE协议的基本框架

读了两篇文章,总结一下SPICE的VDI协议。
1、徐浩,兰雨晴 2013年(计算机工程与科学)发表的文章:“基于SPICE协议的桌面虚拟化技术研究与改进方案”;
2、石屹嵘,龚德志,2013年 (电信科学)发表的文章:“基于SPICE 开源协议的云桌面技术架构研究”;
张两篇文章都介绍了“SPICE”框架,
其中文章二对比了几种桌面远程显示技术。
目前的技术实现方式和协议主要有以下4 种:

微软公司,桌面传输和展现基于RDP。
Citrix 公司,桌面传输和展现基于ICA 协议。
VMware 公司,桌面传输和展现基于PCoIP。
Red Hat 公司, 桌面传输和展现基于SPICE(simple protocol for independent computing environment)协议。
虚拟桌面传输协议比较

桌面传输和展现技术的对比

SPICE架构包括客户端、SPICE服务端和相应的QXL设备、QXL驱动等,如下图所示。客户
端运行在用户终端设备上,为用户提供桌面环境。SPICE服务端以动态连接库的形式与KVM虚拟
机整合,通过SPICE协议与客户端进行通信。

SPICE协议架构

分为3个部分:

(1)QXL驱动:部署在服务器侧、提供虚拟桌面服务的虚拟机中,用于接收操作系统和应用程序的图形命令,并将其转换为KVM的QXL图形设备命令。
(2)SPICE客户端:部署在用户终端上的软件,负责显示虚拟桌面.同时接收终端外设的输入。
(3)QXL设备:部署在KVM服务器虚拟化的Hypervisor中,用于处理各虚拟机发来的图形图像操作。

SPICE协议最大的特点是其架构中增加的位于Hypervisor中的QXL设备,本质上是KVM虚
拟化平台中通过软件实现的PCI显示设备,利用循环队列等数据结构供虚拟化平台上的多个虚拟
机共享实现了设备的虚拟化。但是,这种架构使得SPICE协议紧密地依赖于服务器虚拟化软/硬件基础设施,SPICE必须与KVM虚拟化环境绑定。传统的远程桌面传输协议工作在虚拟机Guest OS中,而SPICE协议本身运行在虚拟机服务器中,可以直接使用服务器的硬件资源。

1.1 SPICE协议核心技术

自适应图形处理

SPICE客户端采用基于Cairo图形库的软件处理方式,使用CPU计算资源,提供2D图形数据的渲染处理能力。
同时也提供了基于GPU的硬件处理方法,在Iinux平台使用OpenGI。库,在Windows平台使用GDI接口。

分类压缩技术

SPICE提供了三种无损图像压缩算法,分别是Quic、LZ和Glz压缩算法。
针对视频流,SPICE采用了有损的压缩方式,SPICE服务端通过图形区域的刷新频率来侦测视
频区域,采用MJPEG压缩算法。

1.2 SPICE协议改进

SPICE协议的不足

在WAN环境下性能较差。
服务端读取指令延迟。
视频处理能力不足。
客户端启动缓慢。
客户端ACK延迟。

SPICE协议的改进方案

压缩算法改进

原始方案
改进方案

优化视频数据传输方式(直接把视频数据以流媒体的方式发送到终端设
备的方法,避免服务端的解码操作)
图像渲染性能优化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 桌面虚拟化技术可以定义为将一个计算机资源从另一个计算机资源中剥离的一种技术。在没有虚拟化技术的单一情况下,一台计算...
    宅男子阅读 23,020评论 1 14
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • 第一章 OpenStack基础 OpenStack管理的资源及提供的服务OpenStack做为一个操作系统,...
    sgt_tiger阅读 14,463评论 4 72
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,698评论 6 152
  • 1. principia: n.原则,基本原则,基本原理 eg. The paper introduces the...
    xiaohuniu阅读 3,619评论 0 0