讨论: 有没有类似 Multipath TCP 的, 可以用的现成的轮子 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Siril
V2EX    宽带症候群

讨论: 有没有类似 Multipath TCP 的, 可以用的现成的轮子

  •  
  •   Siril 2016-08-01 09:47:39 +08:00 4475 次点击
    这是一个创建于 3362 天前的主题,其中的信息可能已经有所发展或是发生改变。
    设想如下情形:

    site A 位置没有有线连接接入 internet , 有 多个 3g 和 一条远距离的 wifi 。
    几条无线链路均有不定时大幅度的延迟波动和丢包率波动,甚至不定时断线。
    site B 有一条固定 ip 专线,连接很稳定。

    目标: 从 site A 到 site B 做个 神奇的 vpn , 延迟相对稳定,丢包<1%,自动地负载均衡叠加带宽。

    若能实时地按当前丢包率和延迟计算不同线路的权重, 按此权重加冗余,
    或者简单粗暴地在不同线路上重复发包,
    那么 丢包率和延迟都能大大降低。

    这个应该是可以实现的吧?

    上面举了个相似的例子, 实际的应用场景你们猜得到 :P
    6 条回复    2016-08-02 08:29:44 +08:00
    paw
        1
    paw  
       2016-08-01 09:51:06 +08:00   1
    轮子功家的那个叫自由门的爬墙软件就是这么实现的,不过是走 UDP 疯狂发包....
    TCP 的 目前没注意到有没
    Siril
        2
    Siril  
    OP
       2016-08-01 10:03:06 +08:00
    @paw
    怪不得那么难封,以前一直坚挺。。。
    ---------

    以自用的 static key 的 ovpn 为例,我观察到 tcp 比 udp 稳定,
    大概是因为 udp 丢包太高了,或者就是丢包太高了。

    如果搞个代理程序,客户端监听 udp 端口,服务端向指定端口转发,
    把 udp 的数据包弄一点儿魔法分多个 tcp 连接从不同线路传输,
    “不同线路” 包括多个墙内线路 和 多个墙外转发地址,甚至动态增减,

    然后以此自制的隧道承载 ovpn ,

    大概可以搞定目前的墙,除非被人工介入分析了协议特征。
    Siril
        3
    Siril  
    OP
       2016-08-01 10:08:06 +08:00
    如果加入 自制的流量整形,数据包大小、时序特征全搞乱,
    通信过程分不同线路转发, 单条线路上没有完整的通信过程,
    甚至同一个数据包在不同的连接上伪装成不同的协议,
    也可以很大程度上对抗 DPI 吧。
    snsd
        4
    snsd  
       2016-08-01 14:29:57 +08:00 via iPhone
    @Siril 自由门曾经查过海外出口,走的是台湾中华电信, 36 打头的一个 ip 。不过现在也不稳定了,用起来一卡一卡的
    akw2312
        5
    akw2312  
       2016-08-02 03:25:01 +08:00 via Android
    @snsd 36 是家用 ip...
    中信的家用是可以免申固定 IP 的。
    snsd
        6
    snsd  
       2016-08-02 08:29:44 +08:00 via iPhone
    @akw2312 多少万一年?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2711 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 15:14 PVG 23:14 LAX 08:14 JFK 11:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86