2つのインターネット接続を組み合わせてダウンロードする

2つのインターネット接続を組み合わせてダウンロードする

LAN 上に 2 台のコンピュータがあります。1 台目のコンピュータの速度は 128Mbs、2 台目のコンピュータのインターネット接続速度は 256Mbs です。250MB のファイルをダウンロードしようとしました。1 台目のコンピュータのダウンロードには約 48,000 秒かかり、2 台目のコンピュータのダウンロードには約 24,000 秒かかると思います。1 台目のコンピュータがファイルの一部をダウンロードし、2 台目のコンピュータが他の部分をダウンロードする方法はありますか?

答え1

2 台のコンピューターがあり、それぞれがインターネットへの独立した接続 (つまり、2 つの ISP 接続) を持ち、1 つの共有接続を持たない場合、理論的には、中断されたダウンロードの再開をサポートする FTP サーバーなどを使用することで、各コンピューターが同時にファイルの半分をダウンロードできます。

しかし、これを行うソフトウェアは知りません(ただし、wget または curl で適切なオフセット フェッチを実行できる可能性があります)。

ボトルネックとなっているのが FTP サーバー (または同等のプロトコル サーバー) である場合、2 つの接続があっても役に立ちません。


更新:私が考えていたのは

コンピュータ 1

      dd if=/dev/zero bs=10000 count=5 > name-of-big.file
      wget -continue http://www.example.com/name-of-big.file

コンピュータ 2 (別のインターネット接続を介して同時に)

      wget http://www.example.com/name-of-big.file

コンピュータ1でスキップされたチャンクのサイズに達したらこれを停止します。パイプを切断するddステートメントに出力をパイプすることでwgetを停止できると思いましたが、これは機能しないことがわかりました。

      wget -O - $URL | dd bs=10000 count=5

dd がパイプを切断すると Wget は停止しますが、結果のファイルのサイズは適切ではありません。したがって、実行したまま手動で停止し、必要な部分を切り取る (たとえば、dd を使用) のがよいでしょう。

最後に、コンピュータ 1 上のファイルのゼロ以外の部分を切り取り (dd などを使用)、コンピュータ 2 にコピーして、断片を cat で結合します。


これは私にとっては面倒に思えます。分散 HTTP クライアントを見つけるか、作成するほうがいいと思います :-)

答え2

このソリューションでは、2 台のコンピューターが LAN 上でネットワーク接続されていることを前提としています。

  1. まず、プロキシいずれかのコンピューターでは、任意の HTTP プロキシを使用できます。
  2. 得るネットトランスポートDownload ManagerをサポートするものをMultiple Proxies mode見つけて、それを他のコンピュータにインストールします。

    「複数プロキシ モード」を使用すると、作業中のスレッドごとに異なるプロキシを割り当てて、IP ごとに 1 つの接続のみなど、特定のサイト制限を解除できます。

  3. したがって、コンピューターにダウンロードするファイルごとにNet Transport、最初のコンピューターにプロキシを個別のダウンロード スレッドとして追加します。
  4. ダウンロードでは、両方のコンピューターのインターネット接続からの帯域幅が同時に利用されるようになります。

編集済み:

スクリーンショットの右下の「ログ」ペインでわかるように、eachダウンロードは実行できますconcurrently in multiple threads(ダウンロード サーバーとの個別の接続)。このツールを使用すると、各スレッドがプロキシを使用するかどうかを指定できます。したがって、一部のスレッドがプロキシ コンピューターの帯域幅を使用するように設定できます。

ネットトランスポート

答え3

あなたがしようとしていることは、「ボンディング接続」と呼ばれます。Mushroom Networks など、複数の WAN ポートを備え、接続の負荷を自動的に分散するルーターを製造している会社がいくつかあります。より安価なオプションは、両方の接続を 1 台のマシンに接続し、そのマシンで独自のプロキシ/負荷分散ソフトウェアをネットワーク用に実行することです。

関連情報