Citrix虚拟应用程序和桌面服务

自适应传输

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

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

网络堆栈

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

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

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

自适应传输

系统需求

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

  • 控制飞机
    • Citrix虚拟应用和桌面服务
    • Citrix虚拟应用程序和桌面1912或更高版本
  • 虚拟交付代理
    • 版本1912或更高版本(2103或以后推荐)
    • 版本2012是使用EDT与Citrix网关服务的最低要求
  • 店面
    • 版本3.12.x
    • 版本1912.0.x
  • Citrix工作区应用
    • Windows:版本1912或更高版本(推荐2105或更高版本)
    • Linux:版本1912或更高版本(推荐2104或更高版本)
    • Mac:1912年或更高版本
    • iOS:苹果应用商店的最新版本
    • Android:谷歌Play提供的最新版本
  • Citrix网关(ADC)
    • 13.0.52.24或晚
    • 12.1.56.22或更高版本
  • 防火墙(从VDA的角度)
    • UDP 1494入站 - 如果禁用会话可靠性
    • UDP 2598 inbound -如果会话可靠性启用
    • UDP 443入站 - 如果为ICA加密启用了VDA SSL(DTL)
    • UDP 443出站 - 如果使用Citrix Gateway服务。有关更多信息,请参见Citrix网关服务文档。

考虑

配置

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

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

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

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

EDT总监

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

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

美国东部时间会议

EDT 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的详细信息。

重要的是:

MTU Discovery不支持多流ICA。

控制VDA上的EDT MTU发现

默认情况下启用MTU Discovery。要禁用此功能,请删除EDT MTU发现并重新启动VDA。有关更多信息,请参见EDT MTU发现通过注册表管理的HDX特性列表中的设置。

警告:

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

控制客户端上的EDT MTU发现

您可以在客户端上通过添加MtuDiscoveryICA文件中的参数。要禁用该功能,请设置以下内容应用部分:

MtuDiscovery =了

要重新启用该特性,请删除MtuDiscovery参数。

重要的是:

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

失去宽容的模式

重要的是:

  • 该功能需要最少的Citrix Workspace应用程序2002 for Windows。
  • Citrix Gateway和Citrix Gateway Service不支持容损模式。该模式仅适用于直连模式。

损失容差模式使用EDT损耗传输协议来增强通过具有高延迟和数据包丢失的网络连接的用户体验。

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

默认阈值为:

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

默认情况下启用损耗容许模式。您可以使用损耗容差模式阈值设置禁用模式或调整数据包丢失和延迟阈值。

需求

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

已知的问题

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

  • 数据包碎片可能导致性能下降甚至无法启动会话。您可以调整EDT MTU以避免此操作。使用mtu发现或解决方法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服务时,不对称网络路径可能导致MTU发现失败。这是由于网关上的问题导致EDT报文中不传播的NOT片段(DF)位(DF)位。此问题的修复尚未使用。[CGOP-18438]

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

    • 关闭用户调制解调器上的报文处理功能。
    • 禁用MTU Discovery并使用硬编码的MTU,如CTX231821
    • 禁用自适应传输以强制会话使用TCP。如果只有一个用户的子集受到影响,请考虑在客户端禁用它,以便其他用户可以继续使用EDT。

进行故障排除

要解决自适应传输和EDT,我们建议以下内容:

  1. 彻底检查和确认需求考虑,已知的问题
  2. 检查Studio中是否有Citrix策略或GPO覆盖所需的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优化(WANOP)提供了跨会话的令证化压缩(数据重删),包括基于url的视频缓存,极大地减少了带宽。如果两个或两个以上的人在办公地点观看同一客户获取的视频,或传输或打印相同文件或文档的重要部分,就会发生减少。此外,通过在分支机构设备上运行ICA数据缩减和打印作业压缩的进程,WANOP提供了VDA服务器CPU的卸载,并实现了更高的Citrix虚拟应用程序和桌面服务器可伸缩性。

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

自适应传输