SPICE桌面协议的研究与优化 .pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

SPICE桌面协议的研究与优化

作者:杨声远吴朋朋雍文龙

来源:《计算机时代》2023年第11期

關键词:云桌面;SPICE桌面传输协议;USB重定向;USBRedir技术;丢帧算法

中图分类号:TP311.13文献标识码:A文章编号:1006-8228(2023)11-108-04

引言0

由于线上办公成了常态,所以无论是企业还是个人,对云桌面的需求大大增加。云桌面可

以在很大程度上解决一些企业和个人对于计算机性能的需求,云桌面可以节省企业运行成本。

随着虚拟化技术的发展、硬件设备性能的增强、网络技术的升级,云桌面技术[1]也在企业中

有了较强的认可度。云桌面主要有如下几个方面的技术特点。

⑴计算和存储的集约化:在云桌面的服务器端只需要较弱的计算性能和存储性能即可,

将本地处理的数据在数据中心进行处理。

⑵计算资源的共享化:根据所需性能进行分配算力,可以错峰填谷,应对不同时段的计

算需求。

⑶云数据中心统一管理调度:对算力和数据进行同一调度来实现高效利用资源等。

同时,云桌面还具有接入便利,节能减排,安全性高的强大优势。

背景介绍1

由于虚拟化桌面[2]的应用场景多,各家厂商都相继推出自家厂商的云桌面协议以提供完

整化的云桌面解决方案,主要包括Citrix的ICA、VMware的PCoIP、Microsoft的RDP

(Window自带的远程桌面所使用的协议)、RedHat的SPICE等。这几种协议各有其优缺

点,而SPICE协议相对其他协议有以下几点优点:

⑴传输时使用的TCP协议安全性较高且不易丢帧;

⑵对图像传输有自适应能力,图像展示的体验较好;

⑶因为其开源的特性使用成本相较于其他协议较低;

⑷因为计算过程都放在的服务端上所以对CPU性能的要求较低。

当然也有对视频的支持较差、服务器响应延迟等缺点。

综上所述,对于企业来说使用SPICE由于其开源的特性,使用成本相较于其他协议较

低,在如今的线上办公来说具有较高的性价比。但由于SPICE的一些局限性包括不支持3D显

示等,对于具体的应用还应该做具体分析。

2SPICE基础框架

SPICE虚拟化桌面传输协议基本可以划分为四部分:SPICEprotocol、SPICECliennt、

SPICEServer和SPICEGuest。SPICEprotocol主要充当其他三部分之间交互的规范[3];

SIPCE协议的基础框架示意图如图1所示。下面详细介绍一下SPICE服务端与客户端的

基本架构。

客户2.1端架构

在SPICEClient中Application是程序的开始类,Application类最先接收到SPICEServer

发送的命令,然后对不同的命令分别创建SPICE连接的主要类RedClient、RedScreen和

Monior。在Application类中还需要允许主消息循环来进行连接、断开、错误以及I/O等事件的

处理。

客户端架构示意图如图2所示。

在SPICEClient中RedClient是整个SPICE协议在客户端实现的主体,在协议中也被称为

MainChannel,它拥有所有其他的实例化通道,并且可以控制他们(创建,连接,断开等),

并且处理控制,配置和迁徙。所有的Channel都是依次从RedPeer、RedChannelBase和

RedChannel基础而来,在这一过程中每一层都担任着各不相同的作用。通道的网络连接管理[4]

主要依赖RedPeer,其通过将套接字操作进行封装来完成加密或不加密的网络链路控制[5],为

所有的服务提供基础保障;RedChannelBase是在网络连接的基础上进行服务端与客户端的协议

协商和验证以正式建立SPICE功能连接[6];RedChannel是在SPICE连接完全建立后处理所有

通道的共同事件。RedScreen是客户端中屏幕内容渲染、显示和控制相关的类。RedScreen通

过ScreenLayer将屏幕按照z轴方向进行分层,根据不同的显示层来渲染对应的画面;通过

RedWindow类来负责各种窗体的渲染和状态控制。RedWindow_p-平台特定的窗口数据和方

法。RedWidow-继承R

文档评论(0)

182****5595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档