V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iqoo
V2EX  ›  程序员

有没有将同个连接使用多 IP 冗余传输的方案

  •  
  •   iqoo · 346 天前 · 1286 次点击
    这是一个创建于 346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,和海外服务器通信经常出现丢包的情况。

    现有多个空闲机器,如果将这些机器利用起来当做网关,最后在服务端的内网转发到原始服务器上;通信时每个数据包所有网关都发送一遍,本地哪个数据先到就用哪个,通过消耗多倍流量降低丢包概率,是否可行?

    丢包大多发生在回程,因此去程通常无需多倍发包,可节省本地的上行带宽。

    本地的下行带宽非常充足(千兆网络),即使多个服务器出口带宽都跑满,本地也绰绰有余。例如轻量应用服务器,出口带宽 30Mbps ,即使 3 台跑满也才 90Mbps ,占用不到本地下行的 1/10 。

    目前是否有比较成熟的应用方案,可将已有连接自动透明的通过多个 IP 传输。

    5 条回复    2023-05-09 02:47:19 +08:00
    tavimori
        1
    tavimori  
       346 天前   ❤️ 1
    1. 其实就 TCP 而言,核心不是丢包的问题,而是因为丢包导致速率控制算法只能让 TCP 流维持在很低的速率。这个问题可以通过使用丢包不敏感的速率控制算法来解决,例如在服务端上使用 BBR 作为 TCP 速率控制算法。
    2. 相对成熟的方案是 MPTCP ,但是需要在服务端正确的配置 multihome 的网络,并在双端启用 MPTCP 。(看你这个网络结构,可能还涉及到配置多个 TCP 隧道之类的)。
    3. 其实从技术上看消耗多倍流量是不经济的,并且丢包其实并不应该影响传输吞吐率。最佳的解决方案是用前向纠错编码 /擦除码技术,但的确没有很成熟的方案。
    cheng6563
        2
    cheng6563  
       346 天前
    我记得以前我一开始自己搭机场时有双倍发包的“流量拥堵算法”,确实能解决一些丢包问题。
    aliipay
        3
    aliipay  
       346 天前   ❤️ 1
    重复发的感觉还不如喷泉码,至少能控制重复的百分比。编解码复杂度是个问题。
    humbass
        4
    humbass  
       346 天前
    以下方案可以试试:

    海外机器上配置多虚拟网卡,分别对应国内的若干个机器,回程的时候同时往若干机器发送信息,哪个先到用那个。
    ju0594
        5
    ju0594  
       346 天前 via iPhone
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1089 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:52 · PVG 06:52 · LAX 15:52 · JFK 18:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.