基于云桌面的外部设备重定向技术调研

编程入门 行业动态 更新时间:2024-10-22 13:36:12

1.外设重定向概念

我们在使用云桌面时,外设都是接在本地瘦终端或者PC上,云桌面通过安装在瘦终端上的云桌面客户端和云端虚拟机进行通信,使云桌面操作系统识别到外设就好像外设是真的接在云端虚拟机上一样。

云桌面为了解决外设的兼容性问题设计了两种工作模式,一种是工作在USB驱动层:云桌面通过实现一个底层的虚拟驱动,在瘦终端上由云桌面客户端将底层的设备信息截取到,然后通过云桌面协议传输到云端虚拟机,再由云端虚拟机实现的底层驱动来获取消息进行解析;另外一种就是应用层的:为某一类设备提供从瘦终端到云端虚拟机的映射,并为其提供业务数据传输的专用通道,如摄像头、打印机、扫描类设备、智能卡设备等。

目前绝大多数的外设都是USB接口的,第一种工作在USB驱动层的,就对应于USB重定向;第二种工作在应用层的,就对应于设备重定向。同一个设备要么使用USB端口重定向,要么使用设备重定向,不可能同时使用两种工作模式。

USB端口重定向可以想象为将USB电缆延长了,从本地通过网络这根超长的USB电缆接到了云端的虚拟主机上,在瘦终端上不需要安装外设的驱动程序,在云桌面上安装相应的设备驱动即可。端口重定向适应于对时延和带宽不敏感的场景,因为瘦终端上不需要安装驱动,因此兼容性比较好。

设备重定向是工作在外设设备的驱动层,在瘦终端及云桌面上都需要安装驱动程序,适应于对时延或带宽敏感的场景,比如高拍仪、扫描仪、摄像头。也因为设备重定向方式要求瘦终端上要安装设备驱动程序,因此安卓及Linux操作系统的瘦终端上可能会因为没有相应的外设驱动程序而无法使用设备重定向模式

对应到具体的一个外设是使用端口重定向还是设备重定向方式,取决于瘦终端类型、外设类别、性能要求等。同一设备可能两种方式都可以正常工作,也有的设备只能使用端口重定向,有的只能使用设备重定向。

1.1外设的基本类型

从接口类型分,主要包括以下三种:

USB口、串口、并口。

从功能类型分,主要包括:

U盘,移动硬盘,摄像头,智能卡读卡器,Ukey,加密狗,打印机,扫描仪,高拍仪,USB耳机等设备。

1.2云桌面的外设重定向技术

外设重定向是指将外设连接到TC上,当TC登陆虚拟机时将外设映射到虚拟机中。

按接口类型有以下三种重定向方式:

USB重定向(适用于所有USB口的设备)

串口重定向(适用于串口设备)

并口重定向(适用于并口设备)

USB设备按照功能类型又分为以下几种重定向方式:

PC/SC方式(适用于部分智能卡读卡器,key,u盾等安全类设备)

TWAIN重定向(适用于部分图像设备,如扫描仪,高拍仪,数码相机)

Webcam重定向(适用于摄像头设备)

驱动器重定向(适用于存储类设备)

1)所有USB口设备理论上都支持USB重定向,如果USB重定向效果不好,可尝试使用下面表格中对应的另一种技术。

2)串、并口设备可以使用串、并口重定向,如果无法使用,可尝试使用USB串口转接线、USB并口转接线。

2.技术现状

2.1华为云

 

 

 

2.2阿里云

 

 

底层是采用的KVM虚拟化技术

核实串口重定向后台做了屏蔽,云桌面是基于 Citrix 的产品

2.3升腾

大工程

自研协议

起初使用修改spice,后期思杰的ica协议

Spice在小的局域网可以比如教室   要求网络带宽大

之前改过rdp效果不好

2.4深信服

KVM、spice改造

外设重定向百人大工程

3.现有方案

3.1安装Usbdir

客户端:在虚拟桌面客户端系统中,编译安装Usbdir软件,它通过网络连接发送USB设备流量的网络协议,spice-gtk是为了SPICE远程桌面服务提供数据库和图形工具包的软件,在编译安装过程中,需要添加Usbredir功能,最后通过安装和编译virt-viewer,完成虚拟桌面客户端。

服务端:在服务器远程资源中,通过WDK软件重新编译libwdi、libusbk和libusb-win32-bin、产生libwdi.dll,将libwdi.dll文件拷贝到windows虚拟机中的c:\windows\system32位置。重新启动虚拟机,使用虚拟机客户端重新连接,插入USB设备后能实现自动重定向到远程虚拟机。

3.2SPICE

安装remote-viewer

apt install virt-viewer

remote-viewer --spice-usbredir-redirect-on-connect="0x03,-1,-1,-1,0|-1,-1,-1,-1,1" spice://192.168.1.150:5900

现有spice问题

1、USB设备映射耗时长在SPICE原生系统中为了能够让SPICE客户端操作USB设备,SPICE需要将USB设备原本的驱动替换为通用的USB驱动,这个过程会让USB设备进行反复的USB设备安装与卸载,耗费时间周期长。2、准确率低USB设备驱动的反复安装与卸载,导致映射过程容易出错,无法准确实现设备的映射。3、部分设备功能丧失 限制了虚拟机对客户端资源的操作,包括数据的拷贝、上传等功能。4、无法识别两个相同设备在SPICE原生系统中USB设备通过PID和VID来区分 USB 设备。如果同时插入两个相同型号的USB设备(即PID和VID相同),SPICE系统就无法准确分辨出这两个设备。

综上所述,随着云桌面的进一步发展,亟需对云桌面的USB设备重定向进行优化,达到与本地终端USB设备识别使用相差无几的用户体验。

3.3RDP

apt install rdesktop

更多推荐

基于云桌面的外部设备重定向技术调研

本文发布于:2023-06-14 09:54:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1463723.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:重定向   桌面   设备   技术

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!