Linux Virtual Delivery Agent

自适应传输

自适应传输是 Citrix Virtual Apps and Desktops 中可以使用 Enlightened Data Transport (EDT) 作为 ICA 连接的传输协议的机制。当 EDT 不可用时,自适应传输将切换到 TCP。

EDT 是基于用户数据报协议 (UDP) 构建的 Citrix 专有传输协议。它在保持服务器可扩展性的同时,在具有挑战性的长途连接方面提供了出色的用户体验。EDT 提高了不可靠网络中所有 ICA 虚拟通道的数据吞吐量,从而提供更出色、更一致的用户体验。

有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档中的自适应传输

启用或禁用自适应传输

默认情况下启用自适应传输。可以使用 HDX 自适应传输策略设置配置以下选项:

诊断模式

  • 首选:自适应传输处于启用状态,它使用 Enlightened Data Transport (EDT) 作为首选传输协议,并回退到 TCP。

  • 诊断模式:自适应传输已启用,并强制使用 EDT。已禁用回退到 TCP。仅建议对测试和故障排除使用此设置。

  • 。自适应传输已禁用,只有 TCP 用于传输。

检查是否正在使用自适应传输

要检查是否将 EDT 用作当前会话的传输协议,请运行以下命令。

/opt/Citrix/VDA/bin/ctxquery -f iP
<!--NeedCopy-->

如果使用 EDT,则显示的传输协议包括 UDP,例如:

显示的传输协议包括 UDP

EDT MTU 发现

MTU 发现允许 EDT 在建立会话时自动确定最大传输单位 (MTU)。这样做可以防止出现可能会导致性能下降或无法建立会话的 EDT 数据包碎片。

系统要求:

  • Linux VDA 最低版本 2012
  • Citrix Workspace 应用程序:
    • Windows:1911 或更高版本
  • Citrix ADC:
    • 13.0.52.24 或更高版本
    • 12.1.56.22 或更高版本
  • 必须启用会话可靠性

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

控制 VDA 上的 EDT MTU 发现

EDT MTU 发现在 VDA 上默认处于启用状态。可以通过设置 MtuDiscovery 注册表项将其启用或禁用,如下所示:

  • 要启用 EDT MTU 发现,请使用以下命令设置 MtuDiscovery 注册表项,重新启动 VDA,然后等待 VDA 注册:

     /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\icawd" -t "REG_DWORD" -v "MtuDiscovery" -d "0x00000001" --force
     <!--NeedCopy-->
    
  • 要禁用 EDT MTU 发现,请删除 MtuDiscovery 注册表值。

    警告:

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

控制客户端上的 EDT MTU 发现

可以通过在 ICA 文件中添加 MtuDiscovery 参数,在客户端上有选择地控制 EDT MTU 发现。要禁用此功能,请在 Application 部分下设置以下策略:

MtuDiscovery=Off

要重新启用此功能,请从 ICA 文件中删除 MtuDiscovery 参数。

重要:

要使此 ICA 文件参数起作用,请在 VDA 上启用 EDT MTU 发现。如果未在 VDA 上启用 EDT MTU 发现,则 ICA 文件参数无效。

增强的 EDT 拥塞控制

引入了一种拥塞控制算法来优化 EDT 协议。这种实现允许 EDT 实现更高的吞吐量并减少延迟,从而增强用户体验。

默认情况下启用此功能。要将其禁用并重新启用,请分别运行以下命令,然后重新启动 ctxhdx 服务:

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\icawd\Tds\udp\UDPStackParameters" -t "REG_DWORD" -v "edtBBR" -d "0x00000000" --force
<!--NeedCopy-->
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\icawd\Tds\udp\UDPStackParameters" -t "REG_DWORD" -v "edtBBR" -d "0x00000001" --force
<!--NeedCopy-->
自适应传输