Citrix Virtual Apps and Desktops 7 2203 LTSR

自适应传输

自适应传输是 Citrix Virtual Apps and Desktops™ 中的一种机制,它提供使用 Enlightened Data Transport (EDT) 作为 ICA 连接的传输协议的能力。当 EDT 不可用时,自适应传输会切换到 TCP。

EDT 是一种基于用户数据报协议 (UDP) 构建的 Citrix 专有传输协议。它在具有挑战性的长距离连接上提供卓越的用户体验,同时保持服务器可伸缩性。EDT 提高了不可靠网络上所有 ICA® 虚拟通道的数据吞吐量,从而提供更好、更一致的用户体验。

网络堆栈

当自适应传输设置为首选时,EDT 用作主要传输协议,TCP 用于回退。默认情况下,自适应传输设置为首选。您可以将自适应传输设置为诊断模式以进行测试,该模式仅允许 EDT 并禁用回退到 TCP。

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

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

自适应传输

System requirements

以下是使用自适应传输和 EDT 的要求:

  • 控制平面
    • Citrix DaaS (formerly Citrix Virtual Apps and Desktops service)
    • Citrix 虚拟应用和桌面 1912 或更高版本
  • 虚拟投递代理
    • 1912 或更高版本(建议使用 2103 或更高版本)
    • 版本 2012 是将 EDT 与 Citrix 网关服务 结合使用的最低要求
  • 思拓锋™
    • 版本 3.12.x
    • 版本 1912.0.x
  • 思杰工作区应用程序
    • Windows: 版本 1912 或更高版本(建议使用 2105 或更高版本)
    • Linux: 版本 1912 或更高版本(建议使用 2109 或更高版本)
    • Mac: 版本 1912 或更高版本(建议使用 2108 或更高版本)
    • iOS:在苹果应用商店中提供的最新版本
    • Android:在谷歌应用商店中提供的最新版本
  • 思杰网关 (ADC)
    • 13.0.52.24 或更高版本
    • 12.1.56.22 或更高版本
  • 防火墙(从 VDA 角度)
    • UDP 1494 入站 – 如果会话可靠性已禁用
    • UDP 2598 入站 – 如果会话可靠性已启用
    • UDP 443 入站 – 如果 VDA SSL 已启用用于 ICA 加密 (DTLS)
    • UDP 443 出站 – 如果使用 Citrix 网关服务。有关详细信息,请参阅 Citrix 网关服务 文档。

注意事项

配置说明

自适应传输默认启用。您可以使用 Citrix 策略中的 HDX™ 自适应传输设置配置以下选项。

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

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

在 Director 中,查找会话并选择“详细信息”。如果“连接类型”为“HDX”且“协议”为“UDP”,则 EDT 正用作会话的传输协议。如果“连接类型”为“RDP”,则 ICA 未在使用,并且“协议”显示“不适用”。有关详细信息,请参阅监视会话

EDT 导向器

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

  • UDP > ICA(会话可靠性已禁用)
  • UDP > CGP > ICA(会话可靠性已启用)
  • UDP > DTLS > CGP > ICA(ICA 的数据传输是使用 DTLS 协议进行端到端加密的)

EDT 数据传输会话

EDT 最大传输单元发现

MTU 发现允许 EDT 在建立会话时自动确定最大传输单元 (MTU)。这样做可以防止 EDT 数据包碎片化,从而避免可能导致性能下降或会话建立失败的问题。

系统配置要求

  • VDA 最低版本 1912(建议使用 2103 或更高版本)
  • 思杰工作区应用程序
    • Windows:版本 1912 或更高版本(建议使用 2105 或更高版本)
    • Mac:版本 2108 或更高版本
    • Linux:版本 2109 或更高版本
    • Android:版本 21.5 或更高版本
  • 思杰应用交付控制器:
    • 13.0.52.24
    • 12.1.56.22
  • 必须启用会话可靠性

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

重要:

多流 ICA 不支持 MTU 发现。

在 VDA 上控制 EDT MTU 发现

默认情况下,MTU 发现处于启用状态。要禁用此功能,请删除 EDT MTU Discovery 注册表值并重新启动 VDA。有关详细信息,请参阅通过注册表管理的 HDX 功能列表中的 EDT MTU Discovery 设置。

警告:

不正确地编辑注册表可能会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证可以解决因不正确使用注册表编辑器而导致的问题。请自行承担使用注册表编辑器的风险。编辑注册表之前,请务必备份注册表。

抗丢包模式

重要:

  • 此功能至少需要适用于 Windows 的 Citrix Workspace 应用程序 2002。
  • 容错模式在 Citrix Gateway 或 Citrix Gateway Service 上不受支持。此模式仅适用于直接连接。

容错模式使用 EDT Lossy 传输协议,以增强通过高延迟和数据包丢失网络连接的用户的体验。

最初,会话使用 EDT 建立。如果达到或超过延迟和数据包丢失阈值,则适用的虚拟通道将从 EDT 切换到 EDT Lossy,而其他虚拟通道仍保留在 EDT 上。如果延迟和数据包丢失低于阈值,则适用的虚拟通道将切换回 EDT。

默认阈值设定如下:

  • 数据包丢失:5%
  • 延迟:300 毫秒 (RTT)

容错模式默认启用。您可以使用容错模式阈值设置禁用此模式或调整数据包丢失和延迟阈值。

系统配置要求

  • Citrix 虚拟投递代理 (VDA) 2003
  • 适用于 Windows 的 Citrix 工作区应用程序 2002
  • 会话可靠性已启用。有关会话可靠性的详细信息,请参阅会话可靠性策略设置

已知问题

自适应传输和 EDT 包含以下问题:

  • 数据包分段可能导致性能下降,甚至无法启动会话。您可以调整 EDT MTU 以避免此问题。请使用 MTU 发现或 CTX231821 中描述的解决方法。

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

  • 通过 Citrix Gateway 或 Citrix Gateway Service 连接时,Linux 和 Android 客户端回退到 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 发现失败。这是由于网关上的一个问题,导致 EDT 数据包标头中的“不分段 (DF)”位无法传播。此问题的修复程序尚未推出。[CGOP-18438]

  • 对于通过 DS-Lite 网络连接的用户,MTU 发现可能会失败。某些调制解调器在启用数据包处理时无法遵守 DF 位,从而阻止 MTU 发现检测分段。在这种情况下,可用的选项包括:

    • 禁用用户的调制解调器上的数据包处理。
    • 禁用 MTU 发现并使用硬编码的 MTU,如 CTX231821 中所述。
    • 禁用自适应传输以强制会话使用 TCP。如果只有部分用户受到影响,请考虑在客户端禁用它,以便其他用户可以继续使用 EDT。
  • 通过 VPN 连接时,某些用户的已发布应用程序无法启动。不显示任何错误。有关详细信息,请参阅 CTX280797

故障排除

要对自适应传输和 EDT 进行故障排除,我们建议执行以下操作:

  1. 彻底审查并验证 要求注意事项已知问题
  2. 检查 Studio 或 GPO 中是否存在 Citrix 策略,覆盖所需的 HDX 自适应传输设置。
  3. 检查客户端上是否存在覆盖所需 HDX 自适应传输设置的设置。这可以是 GPO 首选项、使用可选的 Workspace 应用程序管理模板配置的设置,或者在注册表或客户端配置文件中手动配置 HDXoverUDP 设置。
  4. 在多会话 VDA 计算机上,确保 UDP 侦听器处于活动状态。在 VDA 计算机中打开命令提示符并运行 netstat -a -p udp。有关详细信息,请参阅 如何确认 HDX Enlightened Data Transport 协议
  5. 在内部启动一个直接会话,绕过 Citrix Gateway,并检查正在使用的协议。如果会话使用 EDT,则 VDA 已准备好通过 Citrix Gateway 将 EDT 用于外部连接。
  6. 如果 EDT 适用于直接内部连接,但不适用于通过 Citrix Gateway 的会话:

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

与 Citrix SD-WAN™ 的集成和互操作性

Citrix SD-WAN WAN 优化 (WANOP) 提供跨会话令牌化压缩(数据去重),包括基于 URL 的视频缓存,从而显著减少带宽。如果办公室位置的两个人或更多人观看相同的客户端获取视频,或者传输或打印相同文件或文档的很大一部分,则会发生带宽减少。此外,通过在分支机构设备上运行 ICA 数据缩减和打印作业压缩过程,WANOP 提供了 VDA 服务器 CPU 卸载,并实现了更高的 Citrix Virtual Apps and Desktops 服务器可扩展性。

目前,SD-WAN WANOP 不支持 EDT。但是,如果正在使用 SD-WAN WANOP,则无需禁用自适应传输。当用户启动通过启用 WANOP 的 SD-WAN 的会话时,它会自动将会话设置为使用 TCP 作为传输协议。非 WANOP 会话在可能的情况下会继续使用 EDT。

自适应传输