为什么代理 TCP 流量比路由/VPN TCP 流量快得多

为什么代理 TCP 流量比路由/VPN TCP 流量快得多

我有一个 VPS,可以以 2gbps 的速度从服务器 X 下载文件。我有一个家庭互联网连接,可以以 1gbps 的速度从 VPS 下载文件,但从服务器 X 的下载速度仅为 100mbps。

如果我使用 SOCKS 代理并通过 VPS 从服务器 X 下载,我将获得预期的 1gbps 速度。

如果我从家里建立到服务器 X 的 GRE 隧道或 Wireguard 连接,并通过服务器 X 路由下载文件,我仍然只能获得 100mbps。

奇怪的是,如果我使用“Big VPN Provider A”及其wireguard VPN,我也会获得 1gbps。但是,如果我使用“Big VPN Provider B”和他们的wireguard VPN(据我所知,它使用同一家数据中心公司),我只能获得 10mbps 到服务器 X 的速度。

不管怎样,我希望有人能解释一下为什么会出现这样的情况,因为我假设使用 VPN 或 GRE 隧道通过 VPS 会给我带来与使用袜子或 http 代理类似的性能。

VPS 和家庭连接之间的速度通过隧道或 VPN 都很好,并且与其他服务器的连接可能比 Server X 具有更好的性能,因此并不是整个连接很慢。

答案1

根据您的观察,这可能有多种原因,但没有一个原因包括重定向流量的特定技术。那在这种情况下代理出现速度更快只是巧合,而且问题标题极具误导性。我建议将标题更改为不假设它的确切代理始终比 VPN 更快的内容,因为事实并非如此。像“为什么不同的路径显示不同的带宽”之类的东西会更合适。

您观察到的是,某些流量路径比其他路径更好。这是为什么?嗯,它可以通过更广泛的链接进行路由; ISP 可以针对不同的目的地应用具有不同阈值的选择性整形,等等。一些 ISP 还可以检测并下调VPN。

VPN 提供商还可以人为限制或只是限制每个连接线路的带宽。将 VPN 服务视为由许多具有多核处理器的服务器组成的集群,每个核心只能处理 100 Mbps,但由于它们平衡了与不同核心和服务器的不同连接,因此它们实际上可以实现无限的连接。总计的服务带宽。

一般原因是流量几乎从不转发到“尽可能最快”的链接,但通常是“尽可能最便宜”,并且如果您考虑互联网并尝试找到最便宜的链接,那么几个“尽可能最便宜”链接的加入不太可能是最好的。 A 点和 B 点之间最宽的管道。有时,您可以构建更好的路径用手使用 VPN、代理等,如果发现,使用哪种技术并不重要它们都将显示大致相同的带宽。


有一种特殊条件可以使代理显示出更好的带宽,那就是高延迟链路的情况,此时代理系统将延迟分成近似相等的部分。它连接到TCP 吞吐量细节。如果最大 TCP 窗口大小为 65536(字节),往返时间为 1 秒,则单个连接的最大吞吐量将为 65536 字节/秒,但如果将代理服务器放置在中间,并且每条线路的 RTT 为 0.5 秒,每个 TCP 分支的吞吐量将提高两倍,因此整个感知带宽的平均速度也会提高一倍。 VPN 代替代理不会减少端到端 RTT,带宽也不会增加一倍。

然而,要以这种方式将带宽增加十倍,您需要链接 9 个精心放置的代理,因此在您的特定情况下这不太可能是原因。

相关内容