关于使用断点续传原理实现局域网分布式下载的想法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yejinmo
V2EX    问与答

关于使用断点续传原理实现局域网分布式下载的想法

  •  
  •   yejinmo 2016-04-11 13:42:15 +08:00 via Android 3392 次点击
    这是一个创建于 3483 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是这样。本人学校宿舍百兆局域网,内网不限速,外网限速 500k ,慢的要死。

    请问能否使用断点续传分块下载的原理,将一个下载任务分块分发到局域网内其他主机,最后通过内网传输将文件在本机上合并,以起到加速下载的效果。

    感觉理论上是可行的,不知广大 V 友有何想法。
    28 条回复    2016-04-12 02:28:08 +08:00
    plqws
        1
    plqws  
       2016-04-11 14:07:46 +08:00
    有一种东西叫做宽带多拨…
    可以用多个 PPPoE 账号叠加带宽
    yejinmo
        2
    yejinmo  
    OP
       2016-04-11 15:34:58 +08:00 via Android
    @plqws
    学校基于 802.1x 的 iNode 认证一人一号上网。。之前想把认证程序刷进 openwrt ,无奈做不好心跳包
    xmoiduts
        3
    xmoiduts  
       2016-04-11 15:40:17 +08:00 via Android
    这意味着你得说动好多同学,或者自己砸钱买多个帐号。我有过同样的想法,但对于~~单线程~~的流媒体(常见的是 ws.acgvideo.com , bilibili 的视频地址)而言,我连速度叠加的思路都没有。
    9hills
        4
    9hills  
       2016-04-11 15:41:53 +08:00
    直接上 BT 即可,外网 BT 做种,然后内网同时下载,基本上可以满足你的需求。
    blahgeek
        5
    blahgeek  
       2016-04-11 15:41:56 +08:00
    楼主,你听说过 BT 下载么
    popok
        6
    popok  
       2016-04-11 15:42:21 +08:00
    你这需求和 BT 下载类似,内网许多人下载一个热门资源,一模一样的场景。
    popok
        7
    popok  
       2016-04-11 15:42:54 +08:00
    @9hills
    @blahgeek

    哈哈,我打了几个字,你们就抢先我发帖了。。
    yejinmo
        8
    yejinmo  
    OP
       2016-04-11 16:39:56 +08:00 via Android
    @9hills
    @blahgeek
    @popok
    跟 BT 是差不多。。但外网带宽就在那摆着,外网资源再多也没用。能调用的资源只有内网,然而迅雷等的局域网加速也只是在局域网内的寻找有资源的主机。我的想法是让内网其他主机主动的下载再回传。。
    yejinmo
        9
    yejinmo  
    OP
       2016-04-11 16:42:39 +08:00 via Android
    @xmoiduts
    在校内有几个整个 D 段的服务器,可以在上边做聚合,然后开 ss 服务端,然后本机内网连上那边的 ss 就可以用聚合的网速了。。至于用户。。。只要效果好不愁没用户啊
    ipconfiger
        10
    ipconfiger  
       2016-04-11 16:43:30 +08:00
    难道就不是 BT 么?
    yejinmo
        11
    yejinmo  
    OP
       2016-04-11 16:46:39 +08:00 via Android
    @ipconfiger
    再怎么 BT 内网首先要有资源啊。。我的想法是让其他的主机主动的去分块下载,再把数据传回本机合并
    csx163
        12
    csx163  
       2016-04-11 17:08:50 +08:00
    BTsync 应该可以满足你的需求吧
    LGA1150
        13
    LGA1150  
       2016-04-11 18:56:56 +08:00 via Android
    哪个学校?
    binux
        14
    binux  
       2016-04-11 19:02:25 +08:00
    在所有局域网的机器上装上代理不就好了。
    XhstormR
        15
    XhstormR  
       2016-04-11 19:14:21 +08:00 via Android
    @yejinmo 聚合用什么软件。 Windows
    2290293658
        16
    2290293658  
       2016-04-11 19:22:19 +08:00 via Android
    说的就是 bt 啊,学校的话每个网段的限速都不一样,可以用树莓派在网速快的地方搭个代理,实现不同网段的桥接。
    zmj1316
        17
    zmj1316  
       2016-04-11 19:27:38 +08:00
    同意 binux 观点,我以前也 YY 过,每台机器都开代理,然后全部连上再做负载均衡,但是解决不了单线程速度问题
    百兆内网最佳的利用策略应该就是像我们学校建的内网 pt 站了
    xmoiduts
        18
    xmoiduts  
       2016-04-11 19:35:58 +08:00 via Android
    @yejinmo 大神怎么搞到学校的整个 D 段的啊?!我们这单个 ip 要 20 块钱每个月呢, ipv4 大约 300kB/s ,哔哩哔哩大约 80kB/s ,大写的 B 。
    webjin1
        19
    webjin1  
       2016-04-11 19:45:25 +08:00 via Android
    去网吧吧,带个大 u 盘你们肯定会出去 lol 的。
    micookie
        20
    micookie  
       2016-04-11 19:50:05 +08:00 via iPhone
    曾经在学校机房用虚拟机,虚拟 5 块网卡拿到用海蜘蛛做带宽叠加。跟你的情况一样,只是有个认证不好搞…
    gamexg
        21
    gamexg  
       2016-04-11 20:22:21 +08:00 via Android
    可以外网再加个服务器来做单线转多线路来实现单线程加速。
    但是需要自己写代码。
    9hills
        22
    9hills  
       2016-04-11 20:36:17 +08:00 via iPhone
    @yejinmo 所以我说同时下载,每个种子所有人同时下
    yejinmo
        23
    yejinmo  
    OP
       2016-04-11 21:16:14 +08:00
    @micookie
    曾经拿 200 个 IP 做聚合,再怎么聚也就 2M 。。不知道是聚合的问题还是海蜘蛛的问题。。。上层直接接的汇聚带宽肯定没问题
    yejinmo
        24
    yejinmo  
    OP
       2016-04-11 21:17:09 +08:00
    @XhstormR
    海蜘蛛
    yejinmo
        25
    yejinmo  
    OP
       2016-04-11 21:18:16 +08:00
    @xmoiduts
    机房的 IP 。。。跟老师们搞好关系要点东西不会太难吧。。
    yejinmo
        26
    yejinmo  
    OP
       2016-04-11 21:20:48 +08:00
    @2290293658
    目前所能接触的地方并没有开放限速。。。之前也想过在 x86 的板子上直接跑认证端。。
    bp0
        27
    bp0  
       2016-04-11 22:20:03 +08:00
    首先,你得确定要下载的资源所在的服务器是否支持断点续传。

    如果支持,可以在很多太主机上同时使用 curl --range ,这样就可以可以实现下载多人同时下载。

    然后在自己的机器上,启动一个 aria2 的服务器,让其他机器通过 RPC 将其下载的数据传回你的主机。

    当然,脚本需要你自己写。
    lightening
        28
    lightening  
       2016-04-12 02:28:08 +08:00
    上大学是搞过一个,效果还挺好。
    关于   帮助文档     自助推广系统     博客     API     FAQ     Solana     5195 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:21 PVG 15:21 LAX 00:21 JFK 03:21
    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