游戏代理如何缩小基础架构中的网络延迟?

时间:2014-02-18 11:56:16

标签: sockets networking tcp proxy latency

在南美洲,许多玩家使用称为代理服务的东西,它接受网络连接,通过他们自己的基础设施路由它,然后退出游戏服务器位置附近。他们希望控制TCP流量不会因延迟而跨越美国。那么,他们怎么能操纵TCP连接所采用的路径呢?

a)他们是否只是在低流量时间(例如早上4点)打开TCP连接,然后在当天其余时间保留这些连接?

b)他们是否继续尝试打开TCP连接,直到他们获得较低的延迟,然后将内部流量切换到该连接?

c)他们唯一可以做的就是缩短远距离的TCP延迟来租用私人对等点或者选择一个有好的对等点的托管服务商?

d)在这样的距离上发送UDP数据包是否可以减少延迟IF,并且只有当您跳过数据包丢失时(例如通过发送流量减少/每个数据包)?

这一切归结为一个问题,你是否能够以某种方式控制TCP连接采用的路径,或者你是否不能。

这个谈话的全部内容都与网络部分有关,不是关于最终用户计算机(Leantrix / TCP优化)或游戏服务器。它们可以以某种方式获得额外的延迟节省,并且不知道他们是如何做到的。

感谢您今年与我共度美好的一年 - 很高兴与专家讨论这些事情。

2 个答案:

答案 0 :(得分:1)

据我所知,代理服务器无法加速您的连接。它们通常通过较长的路径发送数据,接收方将数据包视为源自代理服务器的数据包。

发送数据的计算机无法确定所采用的路径。它只能确定终点。连接到代理时。第一个行程的终点是代理,然后代理将数据包重新传输到第二个目标.Proxy是为此重新传输配置的特殊类型的服务器。

让我们将互联网视为蜘蛛网。然后每个关节都是路由器。这些路由器维护一个称为“路由表”的表。路由表具有关于根据其目的地在何处引导数据分组的信息。此路由表会自动更新,以便以最短路径发送数据包。

因此,您可以看到我们是否不会对数据包在最短路径中产生任何干扰。

现在例外, 如果代理服务提供商具有从代理位置到游戏服务器位置的不同专用网络连接(某些事情,如没有流量的privet高速公路),则可以快速传送数据包。但这是一个非常不可能的事情,因为没有人会在世界各地绘制他们的privet电线而不是已经存在的互联网骨干网。

让我们说

A - Origin

B - 目的地

C - 代理

然后, 正常方式包去

A -> B   (Quickest path determined by the routers)

使用代理数据包,

A -> C  -> B  (Usually a longer path)

使用代理和高速女贞网络C-D(这是极不可能的情况,没有人有这样的事情。)

A -> C --(less traffic)--> D  -> B   (Can have a speed gain)

提高连接速度的其他一些方法。

您可以使用UDP而不是使用TCP。 TCP通常具有一些纠错功能。所有路由器都会仔细检查数据是否正确。这会减慢数据传输速度。使用UDP,此错误检查以最小级别进行。因此,如果您使用UDP,传输的数据可能偶尔会出错但会快速传输。

传输数据的搁浅协议ie.HTTP除了实际数据之外还有许多字段。这些是校验和,浏览器信息,操作系统信息等。如果通过删除这些数据来制定不同的协议,则要传输的数据量会变小。这也将加速沟通。

答案 1 :(得分:1)

如果你指的是像Battleping和喜欢这样的东西,这里有人在一个似乎有意义的论坛上写的,我想对于南美也是如此。相关信息是“SSH隧道”

  

代理隧道的出现来自Oceanic WoW的需求   玩家。你不知道,连接大洋洲的骨干   一旦离开澳大利亚/新区,美国就是一块巨大的东西   由于游戏包被塑造,因此新西兰包增加了200毫秒   离开我们的国家,然后他们被塑造进入美国。   一般情况下,您可以ping 200〜美国服务器,但实时   游戏数据最终会被优先考虑到地狱和后卫,你会   延迟大约为500。

     

Lowerping,Battleping和Smoothping等所有工作都是通过   建立到美国代理的SSH隧道并发送   SC2 / WoW数据通过它。 SSH流量的优先级高于   游戏流量确实如此,因此数据飞行而不是被延迟   通过。 Afaik,它也不会形成来自的传入流量   暴雪服务器端,因为它们来自代理   在美国境内。

     

随意纠正我,我可能在某些事情上错了,但那是   我从使用第一个隧道服务中获得了什么   (降低),因为它出来了