许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Citrix ICA虚拟通道概述与原理

Citrix ICA虚拟通道概述与原理

阅读数 31
点赞 0
article_banner

什么是ICA虚拟通道?

的XenApp插件/接收器和XenApp服务器之间的功能和通讯的很大一部分发生在虚拟通道。无论是显卡,磁盘,COM口,LPT端口,打印机,音频,视频,智能卡甚至是第三方的自定义虚拟通道,虚拟通道是与XenApp服务器远程计算体验的一个组成部分。

不时,新的虚拟通道与XenApp服务器和接收器的产品的新版本发布,以提供额外的功能。


一个虚拟通道由与服务器端应用程序通信客户端的虚拟驱动程序。XenApp的产品附带的各种虚拟包括渠道,其目的是让客户和第三方厂商通过提供的软件开发工具包(SDK)中的一个来创建自己的虚拟通道。

虚拟通道提供到完成各种任务的一个安全的方式,例如,一个XenApp服务器与客户端设备或与客户端环境进行通信的应用程序进行通信上运行的应用。

ICA虚拟通道的说明

在客户端,虚拟通道对应的虚拟驱动程序; 各自提供特定的功能。一些所需的正常运行,而其他一些可选的。

    虚拟驱动器在表示层协议层进行操作。可以有许多这些协议在任何给定时间活性通过多路复用信道由WinStation协议层提供的。

注意!使用注册表编辑器之前,请参阅免责声明本文的结尾。

下面包含在下面的注册表路径下的注册表VirtualDriver键的功能列表:

HKEY_LOCAL_MACHINE \ SOFTWARE \的Citrix \ ICA

    客户端\发动机\配置\高级\模块\ ICA 3.0

  • Thinwire3.0,(必填)
  • ClientDrive,
  • ClientPrinterQueue,
  • ClientPrinterPort,
  • 剪贴板,
  • ClientComm,
  • ClientAudio,
  • LicenseHandler,(必填)
  • TWI(必填)
  • 智能卡,
  • 多媒体,
  • ICACTL,(必填)
  • SSPI,
  • TwainRdr,
  • 用户体验,
  • Vd3d

注意:可以通过除去这些值中的一个或多个停用特定的客户端功能性。例如,如果你想删除客户端剪贴板功能,编辑上面的注册表项,并删除这个词,剪贴板。

下面列出了13759与XenApp插件/接收器的Windows客户端虚拟驱动程序文件和它们各自的功能。它们是在动态链接库(用户模式),而不是Windows驱动(内核模式)的除了通用USB如下所述的形式。

vd3dn.dll - Direct3D的虚拟通道用于桌面组合重定向

    vdcamN.dll -双向音频

    vdcdm30n.dll -客户端驱动器映射

    vdcom30N.dll -客户端COM端口映射

    vdcpm30N.dll -客户端打印机映射

    vdctln.dll - ICA控制通道

    vddvc0n .DLL -动态虚拟通道

    vdeuemn.dll -最终用户体验监控

    vdflash2.dll(vdflash.dll) -闪存虚拟通道

    vdgusbn.dll -通用USB虚拟通道

    vdkbhook.dll -透明的键直通

    vdlfpn.dll - Framehawk显示器频道超喜欢运输UDP

    vdmmn.dll -多媒体支持

    vdmrvc.dll -移动接收虚拟通道

    vdmtchn.dll -支持多点触控

    vdscardn。DLL -智能卡支持

    vdsens.dll -传感器虚拟通道

    vdspl30n.dll -客户端UPD

    vdsspin.dll - Kerberos的

    vdtuin.dll -透明UI

    vdtw30n.dll -客户端与Thinwire

    vdtwin.dll -无缝

    vdtwn.dll -吐温

注意:有些虚拟通道被编译到其他文件,例如,  剪贴板映射  在wfica32.exe可用。

64位兼容性

XenApp插件/接收器用于Windows的64位兼容。与大多数二进制文件编译为32位,以下客户端文件具有64位编译等同于:

brapi64.dll

    confmgr.dll

    ctxlogging.dll

    ctxmui.dll

    icaconf.exe

    icaconfs.dll

    icafile.dll

    pnipcn64.dll

    pnsson.dll

    ssoncom.exe

    ssonstub.dll

    vdkbhook64.dll

通用USB虚拟通道

通用USB虚拟通道实现使用2内核模式驱动程序:ctxusbm.sys和ctxusbr.sys虚拟通道驱动vdgusbn.dll一起。

如何ICA虚拟通道工作

在服务器端的用户模式虚拟通道支持是由Wfshell.exe加载,例如:EUEM,马克吐温,时区,剪贴板,多媒体和无缝会话共享。

其他人则加载内核模式,例如:

CtxDvcs.sys -动态虚拟通道

    Icausbb.sys -通用USB重定向

    Icardd.dll(vdtw30.dll传统) -基于终端会话Sever的图形驱动程序重定向

    Picadm.sys -客户端驱动器映射

    Vd3dk.sys -直接3D实景渠道和WDD显示驱动程序基于工作站会话

    Picaser.sys - COM端口重定向

    Picapar.sys - LPT端口重定向

在服务器端图形虚拟通道

与XA 7.0和XD7.0图形启动虚拟通道在ctxgfx.exe为工作站和终端服务器会话基于托管。Ctxgfx承载它与相应的驱动程序(Icardd.dll为RDSH和vd3dk.sys用于工作站)互动平台特定的模块。

对于3D的XenDesktop部署专业安装的OEM显卡驱动程序有关VDA相应的GPU。Ctxgfx负载专门适配器模块与OEM显卡驱动程序进行交互。

在托管Windows服务的专业频道

在XenApp / XenDesktop的服务器多种渠道托管的Windows服务。这样的主机提供一对许多语义用于在会话的多个应用程序,以及在服务器上的多个会话。这种服务的示例包括:

  • 思杰设备重定向服务
  • 思杰动态虚拟通道服务
  • 思杰最终用户体验监测服务
  • 思杰HDX媒体流为Flash服务
  • 思杰位置与传感器虚拟通道服务
  • 思杰多点触控重定向服务
  • 思杰打印管理服务
  • 思杰智能卡服务
  • 思杰音频重定向服务(仅限XenDesktop的)

在XenApp音频虚拟通道是通过Windows音频服务托管。

所有客户端的虚拟通道通过WinStation驱动布线,在服务器侧Wdica.sys和由所述对应WinStation驱动在客户端被轮询,内置wfica32.exe。下图显示了虚拟通道的客户端 - 服务器连接。

用户添加的图像

以下是使用虚拟信道的客户端 - 服务器的数据交换的概述。

  1. 客户端连接到XenApp / XenDesktop的服务器。客户端通过关于它支持对服务器的虚拟通道的信息。
  2. 服务器端应用程序启动,获得一个句柄虚拟通道,以及有关渠道的更多信息可选查询。
  3. 客户端虚拟驱动程序和服务器端应用程序中使用以下两种方法传递数据:
  • 如果服务器应用程序有数据要发送到客户端,数据被立即发送到客户端。当由客户端接收的数据时,WinStation司机解多路复用从ICA流的虚拟信道数据,并立即将其传送到客户端的虚拟驱动器。
  • 如果客户机虚拟驱动器具有数据要发送到服务器,该数据被发送的下一个时间的WinStation驱动轮询它。当由服务器接收的数据,它被排队,直到虚拟频道应用程序读取它。没有办法来警告接收数据的服务器虚拟频道应用程序。
  1. 当服务器虚拟通道应用程序完成后,关闭虚拟通道并释放所有分配的资源。

创建使用虚拟通道SDK自己的虚拟通道

创建使用虚拟通道SDK一个虚拟通道中间需要编程知识。

    最好是,当有必要提供在客户机和服务器之间的一个主要的通信路径来使用此方法。例如,如果正在客户端上执行的装置的使用,如扫描仪,也可以与在会话的过程中使用。

注1:虚拟通道SDK要求WFAPI SDK编写虚拟通道的服务器端。

注2:由于增强了对XenApp插件/接收器用于Windows的安全性,有必要安装一个自定义的虚拟信道时采取额外的步骤。

请参阅“在客户机上安装虚拟驱动程序”。欲了解更多信息,请参阅ICA  虚拟通道SDK

创建使用ICO SDK自己的虚拟通道

创建使用ICA客户端对象(ICO)的虚拟信道是不是使用虚拟通道的SDK简单,并且可以通过使用在程序创建一个命名对象进行  CreateChannels  方法。

:由于增强的安全开始与10.00版本在XenApp插件/接收器用于Windows的和以后,有必要采取额外的步骤创建ICO虚拟通道时。

请参见CTX113279 -  如何让Windows客户端的版本10.00与ICO创建自定义虚拟通道  的更多细节。

欲了解更多信息,请参阅  客户端对象API规范程序员指南

虚拟通道直通功能

虽然大多数思杰提供的虚拟通道运行未经修改的时候为Windows的XenApp插件/接收器是一种ICA会话中使用,或者更通常被称为直通会话,还有一些项目使用客户端的时候要注意的额外的啤酒花。

以下功能在运行单个或多个跳同样的方式:

客户端驱动器映射,客户端COM端口映射,客户端打印机映射,智能卡支持,Kerberos的,马克吐温,透明的键直通,多媒体支持,客户端UPD,通用USB和最终用户体验监控。

作为延迟和其他因素,例如在每一跳被执行压缩和解压缩和渲染的固有性质,功能的某些方面可能会稍稍与客户机经历每个附加跳性能方面的影响。这些领域是:

无缝,与Thinwire,双向音频,通用USB重定向和文件传输。

:默认情况下,在直通会话中运行客户端的一个实例映射的客户端驱动器被限制在连接的客户端的客户端驱动器。

欲了解更多信息,请参阅CTX113756 -  直通客户端的网络驱动器无法启动应用程序通过桌面会话

一个会话的XenDesktop和XenApp的一个托管会话之间的虚拟通道直通功能

虽然某些特定情况下还没有测试,多数思杰提供的虚拟通道运行未经修改的时候为Windows的XenApp插件/接收器是一种ICA会话中使用的XenDesktop的服务器上,也通常被称为一个直通会话。

具体来说,XenDesktop的服务器上,有一个运行VDA挂钩,命名picaPassthruHook,其唯一目的就是让客户相信这是一个CPS服务器上运行,从而将客户纳入其传统的直通模式。

下面传统的虚拟通道及其功能的支持:

SSON,客户端驱动器映射,客户端COM端口映射,客户端打印机映射,智能卡支持,Kerberos的,透明的键直通,多媒体支持,客户端和UPD通用USB(由于限于性能)。

安全性和ICA虚拟通道

固定用法是规划的重要组成部分,制定和实施虚拟通道。有位于本文档的安全性的特定区域几个引用。

最佳实践

下面是一些指针使用虚拟通道时要记住:

虚拟通道应该被打开  连接 并  重新连接 时,在注销和关闭  断开 的时间。

请牢记以下记住,当你创建一个使用虚拟通道功能的脚本:

命名虚拟通道

您可以创建最多32个虚拟信道。这些都是十七预留的特殊用途。

  • 虚拟通道名称必须长度不得超过七个字符。
  • 前三个字符是保留给供应商名称,并为渠道类型在未来四年。例如,CTXAUD代表思杰虚拟音频通道。

虚拟通道是由七个字符(或更短)ASCII域名称。在ICA协议的一些早期版本中,虚拟通道被编号; 现在的数字是动态分配的基础上,ASCII名称,提出实施更加容易。用户开发虚拟信道编码仅供内部使用,可以使用不与现有的虚拟渠道冲突的任何七个字符的名称。您只能使用大小写ASCII字母和数字。添加自己的虚拟通道时,请遵循现有的命名规则。有几个预定义的通道。都开始与OEM标识CTX,并仅由Citrix使用。


转载于:https://blog.51cto.com/thinclient/1896066


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空