V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yejinmo
V2EX  ›  问与答

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

  •  
  •   yejinmo · 2016-04-11 13:42:15 +08:00 via Android · 3028 次点击
    这是一个创建于 3172 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是这样。本人学校宿舍百兆局域网,内网不限速,外网限速 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   ·   实用小工具   ·   1150 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:38 · PVG 02:38 · LAX 10:38 · JFK 13:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.