Citrix虚拟应用和桌面

自适应传输

自适应传输是Citrix虚拟应用和桌面中的一种机制,它提供了使用开明数据传输(EDT)作为ICA连接的传输协议的能力。当EDT不可用时,自适应传输切换到TCP。

EDT是一个citrix专有的传输协议,构建在用户数据报协议(UDP)之上。它在挑战长途连接的同时,提供了卓越的用户体验,同时保持了服务器的可伸缩性。EDT改善了不可靠网络上所有ICA虚拟通道的数据吞吐量,提供了更好和更一致的用户体验。

网络堆栈

当自适应传输设置为时首选,EDT用作主要传输协议,TCP用于回退。默认情况下,自适应传输设置为首选.您可以设置自适应传输为诊断模式用于测试目的,它只允许EDT并禁用对TCP的回退。

在Windows、Mac和iOS的Citrix Workspace应用程序中,EDT和TCP连接在初始连接、会话可靠性重连接和自动客户端重连接期间会并行尝试。如果底层UDP传输不可用,而必须使用TCP,那么这样做可以减少连接时间。如果自适应传输设置为首选当使用TCP建立连接时,Adaptive Transport将继续尝试每5分钟切换到EDT。

对于Linux和Android的Citrix Workspace应用程序,首先尝试EDT连接。如果连接不成功,Citrix工作区应用程序在EDT请求超时后尝试使用TCP连接。

自适应传输

系统需求

使用Adaptive Transport和EDT的要求如下:

  • 控制飞机
    • Citrix虚拟应用和桌面服务
    • Citrix Virtual Apps and Desktops 1912或更高版本
  • 虚拟投递代理
    • 版本1912或更高版本(推荐2103或更高版本)
    • 版本2012是使用EDT与Citrix网关服务的最低要求
  • 店面
    • 版本3.12.x
    • 版本1912.0.x.
  • Citrix工作区应用
    • Windows:版本1912或更高版本(推荐2105或更高版本)
    • Linux:版本1912或更高版本(推荐2104或更高版本)
    • Mac:版本1912或更高版本(推荐2108或更高版本)
    • iOS:最新版本在Apple App Store中可用
    • Android:谷歌Play提供的最新版本
  • Citrix网关(ADC)
    • 13.0.52.24或晚
    • 12.1.56.22或晚
  • 防火墙(从VDA的角度)
    • UDP 1494 inbound -如果会话可靠性被禁用
    • UDP 2598 inbound -如果会话可靠性启用
    • UDP 443 inbound - if VDA SSL is enabled for ICA encryption (DTLS)
    • UDP 443出站-如果使用Citrix网关服务。有关更多信息,请参阅Citrix网关服务文档。

注意事项

配置

默认情况下启用自适应传输。属性可以配置以下选项HDX自适应传输在Citrix policy中设置。

  • 首选.这是默认设置。启用自适应传输,它使用EDT作为首选传输协议,并使用倒退到TCP。
  • 诊断模式.启用自适应传输,并强制使用EDT。关闭TCP回退功能。建议仅在测试和故障排除时使用此设置。
  • .禁用自适应传输,只使用TCP进行传输。

要确认EDT被用作会话的传输协议,您可以在VDA上使用Director或CTXSession.exe命令行实用程序。

在导演中,查找会话并选择细节.如果是连接类型HDX协议UDP,EDT被用作会话的传输协议。如果是连接类型RDP., ICA未使用,且协议显示N / A。有关更多信息,请参见监控会话

美国导演

要使用CtxSession.exe实用程序,请在会话中启动命令提示符或PowerShell并运行ctxsession.exe.exe..要查看详细统计,请运行ctxsession.exe - v.如果正在使用EDT,则传输协议显示如下之一:

  • UDP > ICA(会话可靠性禁用)
  • UDP> CGP> ICA(会话可靠性启用)
  • Udp > DTLS > CGP > ica(ICA是dtls加密的端到端)

美国东部时间会议

美国东部时间MTU发现

MTU Discovery允许EDT在建立会话时自动确定最大传输单元(MTU)。这样做可以防止EDT包碎片化,这可能导致性能下降或建立会话失败。

系统需求

  • VDA最小版本1912(推荐2103或更高版本)
  • Citrix工作区应用
    • Windows:版本1912或更高版本(推荐2105或更高版本)
    • Mac版本:2108或更高版本
    • Android: 21.5或更高版本
  • Citrix ADC:
    • 13.0.52.24
    • 12.1.56.22
  • 必须启用会话可靠性

如果您使用的客户端平台或版本不支持此功能,请参见CTX231821有关配置适合您的环境的自定义EDT MTU的详细信息。

重要的是:

多流ICA不支持MTU Discovery。

控制VDA上的EDT MTU发现

缺省情况下,MTU Discovery功能处于开启状态。若要禁用此功能,请删除美国东部时间MTU发现并重新启动VDA。有关更多信息,请参阅美国东部时间MTU发现设置在通过注册表管理的HDX功能列表中。

警告:

编辑注册表错误地可能导致严重的问题可能要求您重新安装操作系统。Citrix无法保证可以解决由注册表编辑器使用不正确使用的问题。使用注册表编辑器以您自己的风险。在编辑之前,请务必备份注册表。

控制客户端上的EDT MTU发现

您可以通过添加来控制客户端的EDT MTU发现mtudiscovery.参数。要禁用该特性,请在应用程序部分:

mtudiscovery =关闭

要重新启用该特性,请删除mtudiscovery.来自ICA文件的参数。

重要的是:

要使这个ICA文件参数生效,请在VDA上启用该特性。如果未在VDA上启用该特性,则ICA文件参数无效。

失去宽容的模式

重要的是:

  • 该功能要求最低Citrix工作区应用程序2002的Windows。
  • Citrix Gateway和Citrix Gateway Service不支持容损模式。该模式仅适用于直连模式。

容损模式使用EDT损耗传输协议,提高用户通过高延迟和丢包的网络连接的用户体验。

最初,会话使用EDT建立。如果达到或超越延迟和数据包丢失阈值,则适用的虚拟通道从EDT切换到EDT损耗,同时将其他虚拟通道留在EDT上。如果延迟和数据包丢失减少阈值以下,则适用的虚拟通道切换回EDT。

默认阈值为:

  • 包丢失:5%
  • 延迟:300ms (RTT)

默认启用容灾模式。您可以关闭该模式,也可以通过容错模式阈值的设置来调整丢包和时延阈值。

系统需求

  • Citrix虚拟交付代理(VDA)2003
  • Citrix工作区应用程序2002的Windows
  • 启用会话可靠性。有关会话可靠性的更多信息,请参见会话可靠性策略设置

已知的问题

适应性运输和EDT包含以下问题:

  • 包碎片可能导致性能下降,甚至无法启动会话。您可以调整EDT MTU来避免这种情况。使用MTU Discovery或中描述的解决方案CTX231821

  • 如果启用了MTU Discovery,从Windows客户端启动会话时可能出现灰色或黑色屏幕。要解决此问题,请升级到Windows 2105或更高版本的Workspace app或Windows 1912 CU4或更高版本的Workspace app。

  • Linux和Android客户端通过Citrix Gateway或Citrix Gateway Service连接时,回退到TCP可能会失败。当客户端和网关之间的EDT协商成功,而网关和VDA之间的EDT协商失败时,就会发生这种情况。要解决这个问题,请升级到Linux 2104或更高版本的Workspace应用程序和Android 21.5或更高版本的Workspace应用程序。

  • 不对称的网络路径会导致没有经过Citrix Gateway或Citrix Gateway Service的连接无法发现MTU。请升级到VDA 2103及以上版本。[cvadhelp - 16654]

  • 使用“Citrix Gateway”或“Citrix Gateway Service”时,网络路径不对称可能会导致MTU Discovery失败。这是由于网关上的一个问题,导致EDT包头部的不片段(DF)位不被传播。这个问题的修复还没有可用。[cgop - 18438]

  • 对于通过DS-Lite网络连接的用户,可能会导致发现MTU失败。在使能报文处理功能的情况下,有些调制解调器不支持DF位,导致MTU Discovery无法检测到分片。在这种情况下,以下是可用的选项:

    • 禁用用户调制解调器的数据包处理。
    • 禁用MTU发现并使用如下所述的硬编码MTUCTX231821
    • 禁用自适应传输,强制会话使用TCP。如果只有一部分用户受到影响,请考虑在客户端禁用它,以便其他用户可以继续使用EDT。

进行故障排除

为解决自适应运输和EDT问题,我们建议如下:

  1. 彻底审查并验证需求注意事项,已知的问题
  2. 检查工作室或GPO中是否存在Citrix策略覆盖所需的HDX自适应传输设置。
  3. 检查客户端上是否有设置覆盖所需的HDX自适应传输设置。这可以是一个GPO首选项,一个使用可选的工作区应用程序管理模板配置的设置,或者手动配置HDXoverUDP在注册表或客户端配置文件中设置。
  4. 在多会话VDA机器上,确保UDP监听器是活跃的。在VDA机器中打开一个命令提示符并运行Netstat -a -p udp.有关更多信息,请参见如何确认HDX开启的数据传输协议
  5. 在内部启动一个直接会话,绕过Citrix网关,并检查正在使用的协议。如果会话使用EDT, VDA准备通过Citrix Gateway使用EDT进行外部连接。
  6. 如果EDT工作于直接的内部连接,而不是通过Citrix网关的会话:

    • 确保会话可靠性已启用
    • 确保网关已启用DTLS
  7. 检查是否已经在网络防火墙和VDA机器上运行的防火墙中配置了适当的防火墙规则。
  8. 检查您的用户连接是否需要非标准MTU。有效MTU低于1500字节的连接会导致EDT包碎片,这进而会影响性能,甚至导致会话启动失败。在使用VPN、一些Wi-Fi接入点以及4G、5G等移动网络时,这个问题很常见。有关如何解决此问题的信息,请参阅MTU发现部分。

与Citrix SD-WAN的互操作性

Citrix SD-WAN WAN Optimization(Wanop)提供跨会会话销量压缩(数据重复数据删除),包括基于URL的视频缓存,提供了显着的带宽减少。如果Office位置的两个或更多人观看相同的客户端获取的视频或传输或打印相同文件或文档的重要部分,则会发生缩减。此外,通过运行ICA数据缩减和打印任务压缩在分支办公室设备的过程中,WANOP提供VDA服务器CPU卸载,并实现更高的思杰虚拟应用和桌面服务器的可扩展性。

目前,SD-WAN WANOP不支持EDT。但是,如果使用SD-WAN WANOP,则无需禁用自适应传输。当用户通过启用WANOP通过WANOP通过SD-WAN推出会话时,它会自动设置会话以使用TCP作为传输协议。非WANOP会话随行继续使用EDT。

自适应传输