如何通过多个服务器路由流量以实现更快的连接

如何通过多个服务器路由流量以实现更快的连接

互联网“速度”不仅取决于您的 ISP 为您提供的服务,还取决于服务器为您提供的服务,而后者与您的 ISP 无关,因此无论您为互联网支付多少费用,某些网站(大多数)的速度都不会有很大改善。我真正看到连接潜力的唯一一次是下载(完全合法的)包含大文件和大量种子的种子时,例如 Ubuntu 的副本,服务器的带宽比他们提供给您的带宽要多,他们只是将其保存给其他用户。

我想知道的是如何使用多个代理同时从不同点访问服务器,从而获得更快的整体速度,然后分解数据并将其全部反馈回主连接(我可能解释得不太清楚,但有人可能明白我的意思)。最好是可以与所有协议兼容的东西,不仅仅是网页浏览,还包括第三方应用程序和游戏等……

答案1

你不能——网络不能按照你想要的方式运行——具体来说

  • UDP 和 TCP 均未提供内置的流量分割机制,因此通用解决方案并不现实
  • ISP 通常使用入口和出口过滤器来阻止路由未通过其网络来源/目标的 IP 地址 - 以防止某些类型的攻击。(使通用解决方案不切实际)
  • 您的连接速度还受除连接速度之外的许多因素控制 - 包括连接的延迟和数据包丢失量。
  • 大多数服务器都会尝试公平地共享负载,但不会让带宽闲置 - 但是,它们会优先考虑带宽。
  • 代理定义源和目标 IP 地址 - 多个代理将具有不同的源地址,因此目标将(正确地)将它们作为不同的会话进行处理

答案2

从客户端角度来看,这不是一个真正可行的方法。我不相信有任何技术支持您描述的技术。

首先,对于下载,HTTP/FTP 下载是单个二进制响应流,因此您下载的数据是单个请求的结果。如果服务器支持部分内容 (206),那么您可能能够安排一个系统,在该系统中建立多个具有计算偏移量和长度的下载,以通过多个连接进行下载,但这并不适用于每台服务器。无论哪种方式,至少,该机制必须知道它正在操纵 HTTP 连接,因此它只适用于 HTTP 数据。

其次,大多数现代网站不再只是静态文档,而是以编程方式构建的服务器端网站,因此它们通常依赖于会话的概念。会话通常仅限于用户连接,因此如果您从两个不同的位置连接,则它们是两个不同的会话。尝试编写和呈现由来自不同会话的 Get 组成的页面几乎是不可能的,因为每个会话都有自己的 cookie、脚本等,并且存在旨在阻止攻击者做您正在考虑的事情的安全屏障。

最终,这样的工具可能会存在,但它必须具有大量的协议智能(因此它可以重写协议特定的数据以通过不同的路径使用不同的连接),并且由于服务器端协议和操作的限制,其将孤立的 GET 分流到其他连接的能力会受到限制。

相关内容