自适应传输
自适应传输是Citrix虚拟应用程序和桌面中的一种机制,它提供了使用启蒙数据传输(EDT)或EDT损耗作为ICA连接传输协议的能力。当EDT不可用时,自适应传输切换到TCP。
EDT是citrix专有的传输协议,建立在用户数据报协议(UDP)之上。它在保持服务器可伸缩性的同时,为具有挑战性的长途连接提供了卓越的用户体验。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进行连接。
系统需求
使用自适应传输和EDT的要求如下:
- 控制飞机
- Citrix DaaS
- Citrix虚拟应用程序和桌面1912或更高版本
- 虚拟交付代理
- 1912或更高版本(推荐2103或更高版本)
- 版本2012是使用EDT与Citrix网关服务的最低要求
- 店面(仅在部署中使用时适用)
- 版本3.12.x
- 版本1912.0.x
- Citrix Workspace应用程序
- Windows: 1912或更高版本(建议使用2105或更高版本)
- Linux: 1912或更高版本(推荐2109或更高版本)
- Mac: 1912或更高版本(推荐2108或更高版本)
- iOS:苹果App Store中可用的最新版本
- Android:谷歌Play的最新版本
- 思杰网关(ADC)
- 13.0.52.24及以上版本
- 12.1.56.22或更高版本
- 防火墙(从VDA的角度)
- 禁用UDP 1494 inbound - if会话可靠性
- 启用UDP 2598 inbound - if会话可靠性
- UDP 443入站-如果VDA SSL为ICA加密(DTLS)启用
- UDP 443出站-如果使用Citrix网关服务。有关更多信息,请参见Citrix网关服务文档。
注意事项
- 启用会话可靠性以使用EDT MTU Discovery,并在Citrix Gateway和Citrix Gateway服务中使用EDT。
- 确保适当设置EDT MTU以避免分片。否则,在某些情况下,性能可能会受到影响,或者会话可能无法启动。有关更多信息,请参见发现MTU部分。
- 有关在Citrix Gateway服务中使用EDT的需求和注意事项的详细信息,请参见HDX自适应传输与EDT支持思杰网关服务。
- Citrix网关如何配置以支持EDT,请参见配置Citrix Gateway以支持开明数据传输和HDX Insight。
- 目前不支持IPv6。
配置
默认情况下启用自适应传输。可以配置以下选项HDX自适应传输设置Citrix策略。
- 首选。这是默认设置。启用了自适应传输,它使用EDT作为首选传输协议,并退回到TCP。
- 诊断模式。启用了自适应传输,它强制使用EDT。禁用回退到TCP。建议仅在测试和故障排除时使用此设置。
- 从。禁用自适应传输,并且仅使用TCP进行传输。
要确认EDT被用作会话的传输协议,您可以在VDA上使用Director或CtxSession.exe命令行实用程序。
在Director中,查找会话并选择细节。如果连接类型是HDX和协议是UDP, EDT被用作会话的传输协议。如果连接类型是RDP, ICA未被使用,并且协议显示N / A。有关更多信息,请参见监测会议。
要使用CtxSession.exe实用程序,在会话中启动命令提示符或PowerShell并运行ctxsession.exe
。要查看详细统计信息,请运行ctxsession.exe - v
。如果使用EDT,传输协议显示以下内容之一:
- Udp > ica(会话可靠性禁用)
- Udp > CGP > ica(启用会话可靠性)
- Udp > DTLS > CGP > ica(ICA是dtls加密的端到端)
发现MTU
MTU Discovery允许EDT在建立会话时自动确定MTU (Maximum Transmission Unit)。这样做可以防止可能导致性能下降或建立会话失败的EDT数据包碎片。
需求
- VDA最低版本1912(推荐2103或更高版本)
- Citrix Workspace应用程序
- Windows: 1912或更高版本(建议使用2105或更高版本)
- Mac: 2108或更高版本
- Android: 21.5或更高版本
- Citrix ADC:
- 13.0.52.24
- 12.1.56.22
- 必须启用“会话可靠性”
如果您使用的客户端平台或版本不支持此功能,请参阅CTX231821有关配置适合您环境的自定义EDT MTU的详细信息。
重要的是:
Multi-Stream ICA不支持发现MTU。
控制VDA上的EDT MTU Discovery
缺省情况下,使能MTU Discovery功能。若要禁用此特性,请删除发现MTU注册表值,重新启动VDA。有关更多信息,请参见发现MTU通过注册表管理的HDX功能列表中的设置。
警告:
错误地编辑注册表可能会导致严重的问题,可能需要重新安装操作系统。Citrix不能保证由于不正确使用注册表编辑器而导致的问题能够得到解决。使用注册表编辑器风险自负。在编辑注册表之前,请务必备份注册表。
在客户端控制EDT MTU发现
可以在客户端上选择性地控制EDT MTU DiscoveryMtuDiscovery参数。要禁用该特性,请在应用程序部分:
MtuDiscovery =了
要重新启用该特性,请删除MtuDiscovery参数。
重要的是:
要使这个ICA文件参数起作用,需要在VDA上启用该特性。如果VDA未启用该特性,则ICA文件参数不起作用。
容损模式
重要的是:
- 该功能至少需要Windows版的Citrix Workspace应用程序2002。
- Citrix Gateway和Citrix Gateway Service不支持容丢模式。该模式仅适用于直连。
容丢模式采用EDT有损传输协议,使用户通过高时延、高丢包的网络进行连接,从而增强用户体验。
最初,会话是使用EDT建立的。如果达到或超过延迟和丢包阈值,则适用的虚拟通道从EDT切换到EDT有损,而其他虚拟通道保持EDT。如果延迟和丢包降低到阈值以下,则适用的虚拟通道切换回EDT。
默认阈值为:
- 丢包率:5%
- 延迟:300ms (RTT)
缺省情况下,允许丢包模式为开启状态。您可以关闭该模式,也可以使用容丢模式阈值设置调整丢包和时延阈值。
需求
- Citrix虚拟交付代理(VDA) 2003
- Citrix工作区应用程序2002为Windows
- 会话可靠性已启用。有关会话可靠性的详细信息,请参见会话可靠性策略设置。
已知的问题
自适应传输和EDT包含以下问题:
数据包碎片可能导致性能下降,甚至无法启动会话。可以通过调整EDT MTU来避免这种情况。使用MTU发现或中描述的解决方法CTX231821。
如果启用了MTU Discovery功能,从Windows客户端启动会话时可能会出现灰色或黑屏。要解决此问题,请升级到Windows 2105或更高版本的工作区应用程序或Windows 1912 CU4或更高版本的工作区应用程序。
当通过Citrix网关或Citrix网关服务连接Linux和Android客户端时,回退到TCP可能会失败。当客户端和网关之间的EDT协商成功,而网关和VDA之间的EDT协商失败时,会发生这种情况。要解决此问题,请升级到Linux 2104或更高版本的Workspace应用程序和Android 21.5或更高版本的Workspace应用程序。
不对称的网络路径可能导致不经过Citrix Gateway或Citrix Gateway Service的连接的MTU Discovery失败。要解决此问题,请升级到VDA版本2103或更高版本。[cvadhelp - 16654]
当使用Citrix Gateway或Citrix Gateway Service时,网络路径不对称可能导致MTU发现失败。这是由于网关上的一个问题,导致EDT包头中的不分段(DF)位不被传播。此问题的修复程序尚未可用。[cgop - 18438]
通过DS-Lite网络连接的用户可能发现MTU失败。有些调制解调器在使能数据包处理时不尊重DF位,导致MTU Discovery无法检测到分片。在这种情况下,以下是可用的选项:
- 在用户的调制解调器上禁用数据包处理。
- 禁用MTU Discovery,并使用硬编码MTUCTX231821。
- 禁用自适应传输以强制会话使用TCP。如果只有一部分用户受到影响,请考虑在客户端禁用它,以便其他用户可以继续使用EDT。
进行故障排除
要排除自适应传输和EDT的故障,我们建议如下:
- 彻底审查和验证需求,注意事项,已知的问题。
- 检查Studio或GPO中是否有覆盖所需内容的Citrix策略HDX自适应传输设置。
- 检查客户端上是否有覆盖所需HDX自适应传输设置的设置。这可以是GPO首选项,使用可选的Workspace应用程序管理模板配置的设置,也可以是HDXoverUDP注册表或客户端的配置文件中的设置。
- 在多会话VDA机器上,确保UDP侦听器处于活动状态。在VDA机器中打开命令提示符并运行
Netstat -p udp
。有关更多信息,请参见如何确认HDX开明的数据传输协议。 - 在内部启动一个直接会话,绕过Citrix网关,并检查正在使用的协议。如果会话使用EDT,则VDA已准备好通过Citrix Gateway使用EDT进行外部连接。
如果EDT适用于直接内部连接,而不适用于通过Citrix Gateway的会话:
- 确保已启用“会话可靠性”
- 确保网关启用了DTLS
- 检查是否在网络防火墙和VDA机器上运行的防火墙中都配置了适当的防火墙规则。
- 检查用户的连接是否需要非标准MTU。有效MTU小于1500字节的连接会导致EDT报文分片,从而影响性能,甚至导致会话启动失败。在使用VPN、某些Wi-Fi接入点和移动网络(如4G和5G)时,这个问题很常见。有关如何解决此问题的信息,请参阅MTU发现部分。
与思杰SD-WAN的互操作性
Citrix SD-WAN WAN优化(WANOP)提供跨会话标记化压缩(重复数据删除),包括基于url的视频缓存,从而显著减少带宽。如果办公地点的两个或两个以上的人观看相同的客户端获取的视频或传输或打印相同文件或文档的重要部分,则会发生减少。此外,通过在分支机构设备上运行ICA数据缩减和打印作业压缩进程,WANOP提供了VDA服务器CPU卸载,并使Citrix虚拟应用程序和桌面服务器具有更高的可扩展性。
目前,SD-WAN WANOP不支持EDT。但是,如果使用SD-WAN WANOP,则不需要禁用自适应传输。当用户启动通过启用了WANOP的SD-WAN的会话时,它会自动将会话设置为使用TCP作为传输协议。非wanop会话继续使用EDT只要可能。