我目前有两个不同的互联网连接:一个是 1 Mbps 3G 连接(停机时间很短但带宽不稳定,延迟适中,移动,已在 ISP 级别进行 NAT,允许网络共享,每月 2 GB 限额),另一个是便宜的 5 Mbps 有线连接(带宽稳定但停机时间相当长,延迟高,未进行 NAT,无限额)。我通过网络共享连接到 3G 网络,我的手机通过蓝牙充当调制解调器,并通过 WiFi 路由器连接到有线网络。
我想在同一台计算机上同时使用这两种连接,但用于不同的目的。具体来说,我想使用 3G 连接进行浏览、电子邮件、IM 等常规互联网活动,使用 Cable 连接进行带宽密集型活动,例如通过 HTTP 和 BitTorrent 下载大文件、视频流等。
我如何在 Windows 上执行此操作?
答案1
你可能会幸运地拥有一款名为强制绑定IP.它允许您将不同的程序绑定到不同的网络适配器。
ForceBindIP 是一款免费的 Windows 应用程序,它会将自身注入另一个应用程序并改变某些 Windows Sockets 调用的方式,从而允许您强制其他应用程序使用特定的网络接口/IP 地址。如果您处于具有多个接口的环境中,并且您的应用程序没有绑定到特定接口的选项,则此功能非常有用。
答案2
我希望使用 3G 连接进行常规的互联网活动,如浏览、电子邮件、即时通讯等,并使用有线连接进行带宽密集型活动,如通过 HTTP 和 BitTorrent 下载大文件、播放视频流等。
问题在于,系统不知道 HTTP 请求是属于“浏览”还是“大量下载”,直到后它建立 TCP 连接、发送请求并接收响应,此时切换连接已经太晚了。
也许可以在代理服务器程序中执行此操作,从而完全重新启动连接,但我不知道有任何现有的实现。另一种方法是手动,通过复制文件 URL 并将其提供给允许指定网络接口的下载工具(命令行wget --bind-address=<address>
或curl --interface=<address>
,其中<address>
是您的有线连接的 IP 地址)。
然而,大多数 P2P 程序都有一个使用特定网络接口的配置选项;在 μTorrent 中,它net.bind_ip
位于先进的。指定您的电缆 IP 地址。对于没有指定 IP 地址的程序,请参阅强制绑定IP 根据 kez 的建议。
在某些情况下,当远程端的地址已知且为静态时,您可以通过特定接口为其添加主机路由:route add <remote address> <your cable address>
。它将影响所有 IP 通信。