文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

云桌面传输协议介绍

2024-11-30 15:27

关注

1、定义


如图所示,云桌面协议即在云电脑场景下,用于服务器与终端之间传输图形、音频、视频、输入信息设备、外设等数据的通信协议。

2、主流协议介绍

当前主流的云桌面协议共有4种,都是基于TCP或者UDP协议,分别为ICA(HDX)、PCoIP(Blast)、RDP、SPICE。

➤ ICA协议:云桌面协议最早可以追溯到1989年,当时的Citrix公司成立时就诞生了ICA协议,至今仍然保密,可以想象,当Linux和Java语言还没有出世时,Citrix就开始开发虚拟化软件,从窄带时代发展而来,ICA的稳定可靠性确有其因。后来出现的HDX,在面向更高的网络带宽,在ICA节省流量的基础上,致力于交付富媒体等更多形式的体验,让虚拟桌面的用户体验与物理PC的体验相接近。所以在当前宽带提速的大形势下,HDX整体技术方案又有了更大的发挥空间。

➤ PCoIP (PC over IP) 协议:PCoIP是由加拿大Teradici公司开发的远程显示协议。2008年,VMware宣布和Teradici共同开发PCoIP协议,以提高桌面虚拟化的性能,随后在2009年与其合作获得授权发布了VMware Horizon View产品,后来VMware为了摆脱在核心技术上依赖于其他公司的困境,试图开发自己的协议Blast,并于2013年正式发布。

➤ RDP协议 :由微软公司开发的一种专有协议,它为用户提供了通过网络连接到另一台计算机的图形界面,可用于大多数Windows操作系统,当然Linux、Mac系统也提供相应的支持。

➤ SPICE协议:SPICE为开源协议,该协议由Redhat公司研发,当前国内各大公司自研的桌面协议大多基于此协议进行深度改造优化而来。

3、协议剖析

云桌面协议的主要作用为,将本地终端的键鼠操作指令传输到云端,云端电脑收到指令后进行计算响应,桌面发生对应的变化后,将整个画面推送到本地终端再显示播放,让用户感觉像是在使用本地电脑一样,整个过程中就是通过云桌面协议将算力移至云端,让终端大幅瘦身,更加轻量化。如下图所示:

云桌面协议本身又可以细分为多种通道,不同的通道承载不同的数据,对应不同的功能,以开源SPICE为例,如下图所示:

主要分为如下几个传输通道:

如图所示为通过windows的spice client连接云桌面;

如图所示为spice端口的连接情况,可以看出一个客户端连接后,在服务端就会建立6个socket连接,分别对应6个通道,每个通道的具体抓包数据如下:

1️⃣ Main Channel主通道

Main Channel主通道主要用于处理与客户端的连接、断开等操作指令,当客户端启动时,通过该通道发送连接认证请求,与服务端建立通信,后续的网络质量监控、心跳保活、客户端会话管理等都通过该通道处理。

协议数据👇


如图为windows主机的UUID数据

如图为windows主机server name,在spice主通道中体现如下:

如图为主通道的抓包数据,结合业务,整个桌面连接认证的过程就可以通过UUID等数据来进行关联处理。

2️⃣ Inputs Channel输入通道

Inputs Channel输入通道主要用于处理鼠标、键盘、触摸板等输入设备数据。

协议数据👇


如图为官方输入通道协议中定义的鼠标位置消息类型,为112,对应十六进制为0x70;

如图为输入通道的抓包数据,客户端通过桌面协议向服务端发送鼠标当前的xy坐标信息。

3️⃣ Display Channel显示通道

Display Channel显示通道主要用于处理桌面图像传输数据;

协议数据👇

如图为官方显示通道中定义的显示流数据,为123,十六进制为0x7b;

如图为显示通道的抓包数据,流数据格式为JPEG格式,大小大约为193KB,在30FPS的情况下大约占用带宽为45Mbps,可见其优化空间之大;

4️⃣ Cursor Channel光标通道

Cursor Channel光标通道主要用于处理鼠标指针显示的传输数据;

协议数据👇

如图为鼠标显示通道定义,官方说明“The relevant remote display area for a cursor channel is the one of the display channel that has the same channel id (i.e., SpiceLinkMess.channel_id).”表示鼠标显示包含在显示通道数据中;初始化为111,对应十六进制06x5;

如图为抓包数据,message type=101,等同于显示通道中的定义SPICE_MSG_DISPLAY_MODE;

5️⃣ Playback Channel音频通道

主要用于处理GuestOS的主机声音数据,回传端侧播放;

协议数据👇

如图为音频通道中的数据定义,为101,十六进制为0x65;

如图为抓包数据,message type=101,data为具体的声音数据;

6️⃣ Record Channel录音通道

主要用于处理终端侧的录音数据,传输到云端;

协议数据👇

如图为录音通道数据;

上述所有通道协议数据的具体定义格式可参照官网定义:​​https://www.spice-space.org/spice-protocol.html​

4、总结

看完原生的SPICE协议数据以及初步的测试后,可以发现目前端到端的传输性能仍然存在较大优化空间,在帧率不足20FPS的情况下约占用45Mbps的传输带宽,且还无法呈现连续高质量的画质体验,基本无法直接商用,在整个桌面通道数据传输过程中,显示通道的数据流量基本占据在90%以上,属于优化的重点;纵观ICA、PCoIP、RDP、SPICE四大桌面协议,从窄带时代发展起来的ICA,以其优质的协议算法及多达32个之多的通道数量定义,为用户提供了更优质的云桌面体验,但因其协议整体闭源,而且授权费用高昂,对于大部分云桌面厂商来说与其合作研发并不是长久之计,所以自研桌面协议成了国内众多厂家自研竞争、形成差异化优势的关键所在。目前,中国移动智慧家庭运营中心在与桌面协议相关的音视频编解码、GPU硬件加速、网络传输等领域已具备一定的技术积累,基于SPICE的端到端解决方案上已形成相应规模的落地实践方案,并取了一定的成效。未来,中国移动智慧家庭运营中心将进一步聚焦帧率提升、时延降低、低码高清三大关键目标,致力于为用户持供更优质、更流畅的产品体验。

随着5G+千兆宽带的普及,有了高速率+低时延的基础技术加持,结合日趋成熟的云计算底座,未来,云桌面在2C/2H领域的竞争必将日益激烈。

来源:移动Labs内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯