通过多个可用网络发送数据

时间:2015-04-22 07:37:24

标签: c sockets networking

我正在开发一个应用程序,用于将大量数据(可能以GB为单位)传输到服务器。但是,如果我通过单个网络发送它,则需要很长时间才能进行传输。我有来自不同ISP的多个网络连接,我的PC可以通过以太网端口,WiFi和USB Dongle连接到这些网络。有没有什么方法可以通过这三个可用的通道分配我的数据(例如第一个数据包通过以太网,第二个数据包通过WiFi,第三个通过USB Dongle,第四个再通过以太网等等)以便更快地传输。是的,这可能吗?如果是,我如何同时访问这三个网络以发送数据

1 个答案:

答案 0 :(得分:0)

这是基于策略的路由,通常这不是一件容易的事。

网络数据包的路由通常仅取决于数据包发送到的目的地。因此,如果设备具有多个接口,则一个远程的所有数据包通常都会出现在同一个接口上。

如果遥控器有多个IP地址,您可以轻松地通过不同的接口路由不同的目的地。但对于“不同的ISP”,本地地址通常需要与您发送数据包的接口匹配,以便回复在同一接口中返回。 (大多数防火墙都有点担心,即如果这是错误的话就开始阻塞)

使用“策略”,您可以输入规则,说“如果本地地址是X,则将数据包发送出接口B”。此时,您可以使用“RC Brand”建议的绑定源地址开始划分流量。

将这些链接完全连接在一起的最通用方法是设置到远程主机的VPN隧道,并安排将构成隧道的数据包共享到不同的链接。 (例如基于循环策略的路由)

这称为绑定连接,人们出售这些(绑定ADSL)。

针对特定问题 - 发送大文件。

  1. 邮件中的磁盘/闪存驱动器具有非常大的带宽(ping时间 虽然糟透了。你可以骑自行车获得更好的平时。
  2. 您可以使用归档程序(7-zip)将文件拆分为多个部分,将每个部分从不同的计算机发送到不同的ISP。在另一端将它们粘在一起。
  3. 保税连接,无论是自制还是商业。