Product Documentation

Framehawk

May 22, 2017

简介

Framehawk 是适用于移动工作人员的显示远程处理技术,主要针对宽带无线连接(Wi-Fi 和 4G/LTE 蜂窝网络)。Framehawk 克服了光谱干扰和多径传播等挑战,为虚拟应用和桌面用户提供了流畅的交互式用户体验。对于即便是少量的数据包丢失也能造成用户体验降级的长距离(高延迟)宽带网络连接用户来说,Framehawk 也可能是一种合适的选择。我们建议您为此用例使用自适应传输 - 有关详细信息,请参阅自适应传输

您可以按照适合贵公司的方式,使用 Citrix 策略模板为一组用户和访问场景实施 Framehawk。Framehawk 以单屏移动用例为服务对象,例如,便携式计算机和平板电脑。在实时交互性能的商业价值为服务器资源和宽带连接需求的额外成本提供有力佐证的场合使用 Framehawk。 

Framehawk 何以能够保持流畅的用户体验

可以将 Framehawk 设想为用软件实现的人眼,即观察帧缓冲区中的内容,并分辨出屏幕上显示的不同内容类型。对于用户来说,什么因素更重要呢?如果屏幕区域变化很快,例如视频或移动图像,则丢失某些像素对于人眼来说可能无关紧要,因为丢失的数据很快就会被新数据覆盖。

但是对于保持静止的屏幕区域,如系统托盘或工具栏中的图标,或滚动到用户希望开始阅读的位置后显示的文本,人眼是非常挑剔的;用户希望这些区域的像素能够完美呈现出来。与那些旨在从“零一”角度实现技术准确性的协议不同,Framehawk 的目标与使用技术的人相关。

Framehawk 包括下一代 QoS 信号放大器和基于时间的热度地图,用以实现粒度精细且更加有效的工作负载识别。除了数据压缩,它还使用自动化的自愈式转换,并且可以避免数据重传,从而保持单击响应、准确性和一致的节奏。在失真的网络连接中,Framehawk 可以通过插补掩蔽丢失,用户仍可以感受到良好的图像质量,同时享受更加流畅的体验。此外,Framehawk 算法还可以智能地区分不同类型的数据包丢失;例如,随机丢失(发送更多数据进行补偿)与拥堵丢失(通道发生拥堵,不再发送更多数据)。

Citrix Receiver 中的 Framehawk Intent Engine 可以区分向上滚动或向下滚动、缩放、向左移或向右移、读取、键入及其他常见操作,并使用共享字典管理传回 Virtual Delivery Agent (VDA) 的通信。如果用户正在尝试阅读,则需要出色的文本视觉质量。如果用户正在滚动,则需要快速且流畅,并且必须可中断,以便用户始终能够掌控与应用程序或桌面的交互。

通过测量网络连接的节奏(我们称之为“传动”,类似于自行车链条的拉伸),Framehawk 逻辑就可以加快反应速度,从而在高延迟连接下提供卓越的体验。这种独特的传动系统专利产品可以持续提供关于网络情况的最新反馈,从而使 Framehawk 立即对带宽、延迟和丢失方面的变化做出反应。

使用 Thinwire 和 Framehawk 的设计要点

尽管 Thinwire 已成为带宽效率行业的领先技术并且适用于范围广泛的访问情形和网络条件,但它使用 TCP 来实现可靠的数据通信,因此必须在有损或负载过重的网络上重传数据包,从而导致在用户体验方面发展缓慢。基于启发式数据传输 (enlightened data transport, EDT) 层的 Thinwire 可用,从而解决了高延迟网络连接上 TCP 的限制。

Framehawk 使用基于 UDP 构建的数据传输层。UDP 只是 Framehawk 克服丢失问题的一小部分,通过与其他基于 UDP 的协议比较 Framehawk 的性能可以看出这一点,但是它为 Framehawk 借以脱颖而出的以人为中心的技术提供了重要基础。

Framehawk 需要多少带宽?

无线带宽的重要性取决于多种因素,其中包括共享连接的用户数量、连接的质量和所使用的应用程序。为实现最佳性能,Citrix 建议 4 或 5 Mbps 以及每个并发用户大约 150 Kbps 的基本设置。 

Citrix 为 Thinwire 推荐的带宽一般为基本带宽 1.5 Mbps 加上为每个用户提供的 150 Kbps(有关更多详细信息,请参阅 XenApp 和 XenDesktop 带宽博客),但是,假定数据包丢失率为 3%,您会发现要维护良好的用户体验,基于 TCP 的 Thinwire 需要的带宽远远高于 Framehawk。

注意:Thinwire 仍是 ICA 协议中主显示远程处理通道。默认情况下,Framehawk 处于禁用状态。Citrix 建议有选择地启用此功能,以解决组织内的带宽无线访问问题。请记住,Framehawk 需要的服务器资源(CPU 和内存)远高于 Thinwire。

Framehawk 和 HDX 3D Pro

Framehawk 支持 XenApp(服务器操作系统)应用程序和 XenDesktop(桌面操作系统)应用程序的所有 HDX 3D Pro 用例。在早期预览版中,已通过延迟为 400-500 毫秒且数据包丢失率为 1-2% 的客户环境进行了验证,可以使用诸如 AutoCAD、Siemens NX 或其他典型 3D 建模应用程序提供出色的交互能力。借助此项支持,功能得到了扩展,无论是外出还是在离岸地点工作,或者在网络状况不佳的情况下,均可查看和操作大型 CAD 模型。(鼓励要求通过长距离网络连接交付 3D 应用程序的组织使用自适应传输功能。)有关详细信息,请参阅自适应传输。)

启用该功能不需要执行任何其他配置任务。安装 VDA 时,请安装前选择 3DPro 选项:

localized image

进行此选择后,HDX 将使用 GPU 供应商的视频驱动程序,而不是 Citrix 视频驱动程序,并默认使用基于 Thinwire 的全屏 H.264 编码,而不是采用选择性 H.264 编码的自适应显示的常规默认设置。

要求和注意事项

Framehawk 至少需要 VDA 7.6.300 和组策略管理 7.6.300。

端点必须至少具有 Citrix Receiver for Windows 4.3.100 或 Citrix Receiver for iOS 6.0.1。

默认情况下,Framehawk 使用双向 UDP 端口范围 (3224-3324) 与 Citrix Receiver 交换 Framehawk 显示通道数据;该范围可以在策略设置“Framehawk 显示通道端口范围”中自定义。客户端与虚拟桌面之间的每个并发连接需要唯一的端口。对于多用户操作系统环境(如 XenApp 服务器),需要定义足够多的端口以支持最大并发用户会话数。对于单用户操作系统(如 VDI 桌面),定义一个 UDP 端口即可满足要求。Framehawk 尝试使用第一个定义端口,逐渐使用到范围中定义的最后一个端口。这适用于通过 NetScaler Gateway 传递和直接与 StoreFront 服务器建立内部连接两种情况。

对于远程访问,必须部署 NetScaler Gateway。默认情况下,NetScaler 使用 UDP 端口 443 进行客户端 Citrix Receiver 与此网关之间的加密通信。此端口在任何外部防火墙上均应该处于打开状态以允许两个方向的安全通信。此功能称为数据报传输安全性 (Datagram Transport Security, DTLS)。

注意:FIPS 设备不支持 Framehawk/DTLS 连接。

从 NetScaler Gateway 11.0.62 和 NetScaler Unified Gateway 11.0.64.34 或更高版本开始,可支持加密的 Framehawk 连接。 

从 XenApp 和 XenDesktop 7.12 开始支持 NetScaler 高可用性 (HA)。

在实施 Framehawk 之前请考虑以下最佳做法:

  • 联系安全管理员以确认为 Framehawk 定义的 UDP 端口在防火墙上处于打开状态。安装过程不会自动配置防火墙。
  • 在很多情况下,NetScaler Gateway 可能会安装在 DMZ 中,在内外两侧均面临防火墙。如果环境要使用默认端口范围,请确保在外部防火墙上打开 UDP 端口 443,并在内部防火墙上打开 UDP 端口 3224-3324。

配置

小心:Citrix 建议仅为可能经历严重数据包丢失问题的用户启用 Framehawk。建议不要作为站点中所有对象的通用策略启用 Framehawk。

默认情况下,Framehawk 处于禁用状态。启用后,服务器将尝试对用户的图形和输入使用 Framehawk。如果由于某些原因不满足必备条件,将使用默认模式 (Thinwire) 建立连接。

下列策略设置影响 Framehawk:

  • Framehawk 显示通道:启用或禁用此功能。
  • Framehawk 显示通道端口范围:指定 VDA 用于与用户设备交换 Framehawk 显示通道数据的 UDP 端口号范围(最低端口号到最高端口号)。VDA 会尝试使用每个端口,从最低端口号开始,后面每次尝试都增加端口号。端口处理入站和出站通信。

打开用于 Framehawk 显示通道的端口

从 XenApp 和 XenDesktop 7.8 开始,VDA 安装程序的功能步骤中提供了一个用于重新配置防火墙的选项。如果选中该复选框,则会在 Windows 防火墙中打开 UDP 端口 3224-3324。请注意,在某些情况下需要手动配置防火墙:

  • 所有网络防火墙,或者
  • 默认端口范围是自定义的。

要打开这些 UDP 端口,请选中 Framehawk 复选框:

localized image

您也可以在命令行中使用 /ENABLE_FRAMEHAWK_PORT 打开用于 Framehawk 的 UDP 端口:

localized image

验证 Framehawk UDP 端口分配

安装期间,您可以在防火墙屏幕中验证分配给 Framehawk 的 UDP 端口。

localized image

摘要屏幕会指示是否启用了Framehawk 功能:

localized image

NetScaler Gateway 对 Framehawk 的支持

NetScaler Gateway 11.0.62.10 或更高版本以及 NetScaler Unified Gateway 11.0.64.34 或更高版本均支持加密的 Framehawk 流量。

  • NetScaler Gateway 是指可以直接从最终用户设备访问 Gateway VPN 虚拟服务器的部署体系结构;VPN 虚拟服务器分配有公用 IP 地址,用户直接连接到此 IP。
  • 采用 Unified Gateway 的 NetScaler 是指 Gateway VPN 虚拟服务器作为目标绑定到内容交换 (CS) 虚拟服务器的部署。在此部署中,CS 虚拟服务器具有公共 IP,Gateway VPN 虚拟服务器具有虚拟 IP。

要在 NetScaler Gateway 上启用 Framehawk 支持,必须启用 Gateway VPN 虚拟服务器级别的 DTLS 参数。启用此参数并正确更新 XenApp 或 XenDesktop 上的组件后,Framehawk 音频、视频和交互流量将在 Gateway VPN 虚拟服务器与用户设备之间加密。 

Framehawk 支持 NetScaler Gateway、Unified Gateway 和 NetScaler Gateway + 全局服务器负载平衡。

Framehawk 不支持以下情景:

  • HDX Insight
  • 采用 IPv6 模式的 NetScaler Gateway
  • NetScaler Gateway 双跳
  • 采用群集设置的 NetScaler Gateway
方案 Framehawk 支持
NetScaler Gateway
NetScaler + 全局服务器负载平衡
采用 Unified Gateway 的 NetScaler

注意:支持 Unified Gateway 11.0.64.34 及更高版本。

HDX Insight
采用 IPv6 模式的 NetScaler Gateway
NetScaler Gateway 双跳
NetScaler Gateway 上的多个 Secure Ticket Authority (STA)
采用高可用性 (HA) 的 NetScaler Gateway
采用群集设置的 NetScaler Gateway

配置 NetScaler 以支持 Framehawk

要在 NetScaler Gateway 上启用 Framehawk 支持,必须启用 Gateway VPN 虚拟服务器级别的 DTLS 参数。启用此参数并正确更新 XenApp 或 XenDesktop 上的组件后,Framehawk 音频、视频和交互流量将在 Gateway VPN 虚拟服务器与用户设备之间加密。 

如果在 NetScaler Gateway 上为远程访问启用 UDP 加密,则需要执行此配置。 

配置 NetScaler 以支持 Framehawk 时:

  • 确保在所有外部防火墙上打开 UDP 端口 443
  • 确保在所有外部防火墙上打开 CGP 端口(默认为 2598)
  • 在设置中为 VPN 虚拟服务器启用 DTLS
  • 取消绑定并重新绑定 SSL 证书-密钥对;请注意,如果您使用的是 NetScaler 11.0.64.34 或更高版本,则不需要执行此操作。

要配置 NetScaler Gateway 以支持 Framehawk,请执行以下操作:

  1. 部署并配置 NetScaler Gateway 以与 StoreFront 通信并为 XenApp 和 XenDesktop 进行用户身份验证。
  2. 在 NetScaler 的“Configuration”(配置)选项卡中,展开“NetScaler Gateway”,然后选择 Virtual Servers(虚拟服务器)。
  3. 单击 Edit(编辑)以显示 VPN 虚拟服务器的基本设置;确认 DTLS 设置的状态。
  4. 单击 More(更多)以显示其他配置选项:
  5. 选择 DTLS,为数据报协议(如 Framehawk)提供通信安全。单击确定。VPN 虚拟服务器的“Basic Settings”(基本设置)区域显示 DTLS 标志设置为 True(真)。 
  6. 重新打开“Server Certificate Binding”(服务器证书绑定)屏幕,单击 + 以绑定证书密钥对。
  7. 选中之前的证书密钥对,单击 Select(选择)。
  8. 保存对服务器证书绑定所做的更改。
  9. 保存后,将显示证书密钥对。单击 Bind(绑定)。
  10. 如果显示“No usable ciphers configured on the SSL vserver/service”(SSL 虚拟服务器/服务上没有配置可用的密码)警告消息,请忽略。

适用于 NetScaler Gateway 早期版本的其他步骤

如果您正在使用 NetScaler Gateway 11.0.64.34 之前的版本,请执行以下操作:

  1. 重新打开“Server Certificate Binding”(服务器证书绑定)屏幕,单击 + 以绑定证书密钥对。
  2. 选中先前的证书密钥对,然后单击“Select”(选择)。
  3. 保存对服务器证书绑定所做的更改。
  4. 保存后,将显示证书密钥对。单击“Bind”(绑定)。
  5. 如果显示“No usable ciphers configured on the SSL vserver/service”(SSL 虚拟服务器/服务上没有配置可用的密码)警告消息,请忽略。

要配置 Unified Gateway 以支持 Framehawk,请执行以下操作:

  1. 确保已安装和正确配置 Unified Gateway。有关其他信息,请参阅 Citrix 产品文档站点上的 Unified Gateway 信息。 
  2. 在已作为目标 Vserver 绑定到 CS 服务器的 VPN vServer 上启用 DTLS 参数。

对其他 VPN 产品的支持

NetScaler Gateway 是唯一可支持 Framehawk 所需的 UDP 加密的 SSL VPN 产品。如果使用的是另一个 SSL VPN 或 NetScaler Gateway 的版本不正确,则 Framehawk 策略可能就无法应用。传统的 IPSec VPN 产品支持没有任何修改的 Framehawk。

配置 Citrix Receiver for iOS 以支持 Framehawk

要配置较低版本的 Citrix Receiver for iOS 以支持 Framehawk,必须手动编辑 default.ica。

  1. 在 StoreFront 服务器上,在 c:\inetpub\wwwroot\ 中访问应用商店的 App_Data 目录。
  2. 打开 default.ica 文件并在 WFClient 部分添加以下行:Framehawk=On
  3. 保存更改。

此操作允许在 iOS 设备上从兼容的 Citrix Receiver 建立 Framehawk 会话。如果您使用的是 Citrix Receiver for Windows,则不需要此步骤。

注意

在 Receiver for iOS 版本 7.0 及更高版本中,您不必在默认的 .ica 文件中显式添加 Framehawk=On 参数。

监视 Framehawk

您可以从 Citrix Director 监视 Framehawk 的使用情况和性能。“HDX 虚拟通道详细信息”视图包含有助于监视所有会话中的 Framehawk 和排除其故障的有用信息。要查看与 Framehawk 相关的指标,请选择图形 - Framehawk

如果已建立 Framehawk 连接,将会在详细信息页面看到 Provider = VD3D(提供程序 = VD3D)和 Connected = True(已连接 = 是)。虚拟通道处于空闲状态为正常现象,因为它监视信号通道,仅在初始握手时使用。此页面还提供关于连接的其他有用统计信息。

如果遇到问题,请参阅 Framehawk 故障排除博客