解释Cato TCP加速和最佳实践

一些TCP连接,特别是长距离连接,常常经历高延迟,这对用户体验造成负面影响。 Cato Networks的TCP加速功能通过加速WAN上的TCP连接提高了网络效率并提升了TCP流量的速度。

本文解释了Cato如何实现TCP加速,并列出了一些针对基于TCP流量的特定应用程序优化TCP加速的最佳实践。

解释TCP加速

Cato通过指定Cato PoPs充当客户端和目标服务器之间的中间代理服务器来实现TCP加速。 代理消除了长距离连接,而是将其分割为三个短连接。 优势在于,套接字保持到最近PoP的短连接,而不是维持长距离连接。 PoP之间的流量通过Cato云私有骨干网传输,以确保云速度和低延迟。 最接近目的地的PoP向服务器发送流量。

如果存在数据包丢失,PoPs负责重传数据包,这可以更快地反应并减少响应时间。 这种技术提高了TCP性能,并减少了隧道断连后的恢复时间。 每个短连接的每个数据包的往返时间(RTT)比一个长距离连接更短。 短连接提高了性能并确保更快的数据传输到目的地。 长距离连接伴随高RTT意味着数据包在到达目的地前行进时间更长。 较长的传输时间和慢速连接可能会导致较差的用户体验。

下图显示了一个从客户端到服务器的连接,其中PoP A和PoP B充当代理服务器:

mceclip0.png

代理将客户端和服务器之间的长距离连接分割为三个短连接:

  1. 第一个连接是从套接字到PoP A。

  2. 第二个连接是通过Cato云从PoP A到PoP B。

  3. 第三个连接是从PoP B到目的地服务器。

每个PoP维护其自己的TCP栈,并在数据包丢失的情况下减少整个窗口的TCP数据包重传。 在某些场景中,例如,当启用了TLS流量和TLS检查或评估了出口网络规则时,当PoP从客户端收到SYN消息时,它会快速向客户端返回ACK响应,而不是等待来自服务器的响应。 同时,套接字继续发送TCP流量,这使得连接速度更快。 PoP根据以下公式分配更大的TCP栈窗口大小:窗口大小 = RTT * 带宽。 例如,对于RTT为200MS和带宽为20MBS的连接,TCP窗口大小为4 MB(0.2 秒 * 20 MB)。 然而,在其他场景中,PoP在向客户端发送ACK响应之前等待服务器的响应。

注意:TCP加速不支持Alternative-WAN和离线云传输。

TCP加速与TCP代理

从PoP的角度来看,上一节中解释的行为被视为TCP代理。 TCP加速是可以在Cato管理应用程序中启用或禁用的功能,而TCP代理是实际在PoP上发生的TCP连接分割机制。 当TCP加速启用时,它会触发TCP代理。 我们做出这种区分是因为在某些情况下,即使在Cato管理应用程序中禁用了TCP加速,TCP代理仍然可能发生。

适用于WAN流量的TCP代理

对于通过Cato云的WAN流量,提供两种TCP代理模式:

  • 全WAN TCP代理

  • 保留原始WAN TCP协商并延迟TCP代理

对于使用全WAN TCP代理模式的WAN流量,TCP代理会立即从每个连接的第一个SYN数据包开始。 此模式在加速设置不管用的情况下强制在流量上使用TCP代理。 某些情况下,此模式不是最佳设置,例如SIP中继和离线云流量。

保留原始WAN TCP协商并延迟TCP代理模式下,TCP代理会延迟,并仅在TCP握手完成后开始。 无论加速设置如何,TCP代理都不被强制应用。 我们推荐此模式用于Alt WAN流量和离线云故障恢复,因为PoP在隧道中保持相同的TCP序列。 然而,使用此模式时,诸如窗口扩展、MSS等TCP会话参数在TCP代理启动前已设置,并可能与Cato PoP的TCP参数不同。

从2023年11月起,全WAN TCP代理是新账户的默认模式。 对于在此日期之前创建的账户,全WAN TCP代理模式默认情况下被禁用。

您可以在高级配置页面更改WAN TCP代理模式,适用于账户级站点级别

强制使用TCP代理

以下章节描述了在何种情况下自动启用TCP代理并覆盖主动TCP加速设置。

在网络规则中使用出口IP

在网络规则中选择出口IP或位置时,PoPs充当连接的代理服务器,Cato自动激活TCP代理。 您不能在Cato管理应用程序中禁用出口规则的TCP加速。 下一个屏幕截图显示了一个出口网络规则,其中主动TCP加速选项为灰色处理(网络 > 网络规则 > 编辑规则)。

TCP_Acceleration.png

关于出口规则的更多信息,请参见网络规则中出口流量的最佳实践

处理复杂网络规则

复杂的网络规则是套接字本身无法评估的网络规则。 因此,套接字需要将流量发送到PoP以选择正确的网络规则,这进而启用TCP代理。 复杂规则可能包含应用程序、应用类别、服务、自定义应用程序或域名/完全限定域名 (FQDN) 对象。

禁用网络规则中的TCP加速时在以下情况下不会禁用TCP代理:

  • 在禁用TCP加速的网络规则上方存在复杂网络规则

  • 禁用TCP加速的网络规则本身是一个复杂规则

下面的示例显示了禁用TCP加速的网络规则#2。 由于规则#1是包含应用程序的复杂规则,与网络规则#2匹配的流量将应用TCP代理。 为了禁用在这种情况下禁用TCP代理,网络规则#2必须放在复杂规则(规则#1)上方。

tcp_complex_networkRule.png

从PoP断开连接后恢复

如果从Socket到PoP的隧道断开连接,Socket会尝试重新连接到相同的PoP。 如果Socket成功重新连接,由于PoP保持着隧道状态,连接就会恢复。 在Socket无法连接到相同PoP且网络规则启用了TCP加速的情况下,现有连接的状态将丢失。 由于PoP充当TCP代理服务器,当Socket失去与PoP的连接时,连接状态丢失,客户端必须启动新的连接。 因此,我们建议为能够在短暂断开连接后继续运作的应用程序(如Web应用程序和文件共享)启用TCP代理。

TCP加速的最佳实践

本节介绍了何时为特定类型的应用程序启用TCP加速的最佳实践。

为Web应用程序启用TCP加速

通常,Web应用程序是无客户端的,并使用Web浏览器连接到服务器。 Cato的TCP加速引擎显著提高了此类流量的性能。 我们建议为包含Web应用程序的网络规则启用TCP加速。

为文件共享应用程序启用TCP加速

文件共享应用程序(如SMB)在数据包丢失情况下可能因网络延迟或重传而受到影响。 如果您在网络中的计算机之间使用文件共享(例如使用SMB协议进行资源共享),Cato的TCP加速可以显著提高文件传输速度。 我们建议为这些应用程序的网络规则启用TCP加速。

禁用敏感应用程序的TCP加速

有些应用程序对网络断开连接非常敏感,断开后很难恢复。 这些应用程序通常是桌面旧版应用程序,属于客户端-服务器架构。 断开连接后,它们会强制客户端启动新的连接,从而丢失连接状态。 例如,对于已经使用优化协议的Citrix客户端,我们建议禁用这些流量的网络规则的TCP加速。

TCP代理和TLS检查

TLS检查功能为安全功能(如反恶意软件和IPS)解密HTTPS流量。 此功能将PoPs用作代理服务器以检查恶意文件和威胁的流量。 当您为账户启用TLS检查时,Cato会为所有TLS流量激活TCP代理。 有关TLS检查的更多信息,请参阅配置账户的TLS检查策略

启用或禁用TCP加速与启用TLS检查无关。

针对Windows操作系统微调TCP加速

本节讨论如何优化Windows计算机的TCP设置,以改善网络规则的TCP加速。

启用TCP窗口缩放选项

一些Windows操作系统被配置为使用默认窗口大小64KB。 此窗口大小有限制,可能导致性能问题和延迟。 Cato PoPs分配的TCP堆栈大于默认窗口大小,以提高数据传输效率。 因此,我们强烈建议您在Windows计算机上启用TCP窗口缩放选项。

注意: 通常情况下,TCP窗口缩放选项默认启用。

启用TCP时间戳选项

Windows操作系统的默认设置不支持TCP时间戳选项。 启用TCP时间戳选项以改善数据包的RTT测量,并帮助识别数据包丢失。 此选项还协助TCP堆栈在丢包情况下调整重传定时器。 我们建议在您的Windows计算机上启用TCP时间戳。

这篇文章有帮助吗?

4 人中有 4 人觉得有帮助

0 条评论