本主题介绍了金融信息交换 (Financial Information eXchange, FIX) 协议的功能。FIX 协议在金融市场中广泛用于交易公司之间的通信。终止 FIX 的 FIX 服务器执行 TLS 终止、协议验证和客户端身份验证。
FIX 应用程序负载均衡
FIX 应用程序负载均衡和转向可由 NSX Advanced Load Balancer 通过将其建模为 L4 应用程序来执行。
NSX Advanced Load Balancer 使用一致的配置、功能集和弹性的性能在任何环境(内部部署和公有云)中提供应用程序负载均衡和安全功能。
此外,NSX Advanced Load Balancer 还提供高级别的即时可用自动化,从而简化初始部署和日常运维管理。
NSX Advanced Load Balancer 还提供全面的日志记录和适用于监控应用程序和基础架构的应用程序分析功能。
示意图如下所示:
要求
以下是由 NSX Advanced Load Balancer 提供的 FIX 功能的要求:
负载均衡
NSX Advanced Load Balancer 通过 FIX 层对入站 FIX 会话进行负载均衡。FIX 将根据业务逻辑条件执行后端服务器选择。
TLS 解密/重新加密
NSX Advanced Load Balancer 将在 NSX Advanced Load Balancer 中终止从客户端到 VIP 的 TLS (FIXS) 连接,并执行 TLS 客户端证书验证。证书验证失败将导致会话被拒绝。可能会出于操作原因而接受过期的证书。NSX Advanced Load Balancer 将通过 TLS 将 FIX 请求代理传输到 FIX 层,即执行重新加密,以便在线路上的所有点对 FIX 流量进行加密。NSX Advanced Load Balancer 将向 FIX 提供单个客户端证书,从而将 NSX Advanced Load Balancer 作为客户端向该层进行身份验证。
注:如果需要,可以在后端支持不同的 TLS 配置文件,例如密码选择。
协议验证
NSX Advanced Load Balancer 将验证每个入站 FIX 消息上的协议,并且不会对 FIX 响应执行任何验证,因为这些响应是由信任应用程序生成的。NSX Advanced Load Balancer 将验证以下符合 FIX 4.4 规范的协议:
强制性 FIX 标记按正确的顺序排列,并且使用正确的数据类型进行正确的格式化。
所有其他 FIX 标记的格式正确,且值不为空。系统不会对值执行任何其他验证。
计算和验证每个请求中的 FIX 校验和。
将验证 FIX 消息中的 SenderCompId,并在相互 TLS 期间根据证书主体名称或其他参数来提供客户端证书。
添加到流量传输的延迟量取决于消息大小。
如果违反协议,NSX Advanced Load Balancer 将生成 FIX 会话级别的 REJECT 消息。由于 FIX 应用程序服务器将永远不会看到被拒绝的消息,因此它们将检测序列号中的间断,并通过填充序列间断进行响应。
可以配置的入站消息的最大大小为 50,000 个字符。系统不会对 FIX 序列号执行任何检查或修改。FIX 应用程序服务器将处理与序列号跟踪或重新传输请求等相关的逻辑。NSX Advanced Load Balancer 不会生成上述会话级别 REJECT 以外的任何 FIX 消息。
系统将任何故障/拒绝记录为重要日志条目(包括支持数据)以帮助进行故障排除。您可以将这些重要日志发送到控制器和/或与 Syslog 兼容的第三方服务器。无需修改或转换 FIX 消息中的标记或值。
流量引导
这些连接将从客户端到 NSX Advanced Load Balancer 托管的虚拟 IP 地址。客户端上的每个入站 TCP/TLS 连接都将映射到服务器端的 TCP/TLS 连接。有多个 FIX 消息将通过这些连接来接收或发送。您可以使用 L3、L4 或 L7 (FIX) 参数(包括 SenderCompId 或Client Certificate)的组合来检查池、池成员和端口。您可以通过配置实体(例如,字符串组)而不是修改脚本来配置此流量引导。
运行状况监控器
池成员(例如 FIX 实例)将在单个代表性端口上通过 TCP 握手单独进行运行状况检查。