題 結合兩個Internet連接進行下載


我在局域網上有兩台計算機。 第一台速度為128Mbs的計算機和第二台具有Internet連接速度的計算機為256Mbs。 我嘗試下載250MB文件。 如果第一台計算機下載大約48 000秒,而第二台計算機如果認為需要大約24 000秒。 有沒有辦法讓第一台計算機下載文件的一部分,第二台計算機下載其他部分?


3
2018-04-29 11:12


起源


你在用什麼操作系統? - user1055604
操作系統1:Windows 7和OS 2:Windows XP ISP都是其中之一 - M R Jafari
是同一網絡上的兩台計算機? - user1055604
您正在尋找的是鏈接聚合。您可以通過多種方式進行設置,但使用Windows可能會非常困難。如果您想使用Unix,這裡有幾個場景的好指南: gouloum.fr/doc/multilink.html - MaQleod
我也認為你的一些單位混亂了。 128 Mbps和256 Mbps是與外界快速連接的快速連接。您能否更好地解釋互聯網連接是如何進入的,您的計算機如何與互聯網連接相關聯以及它們如何與自己相關聯?另外,請詳細說明您希望計算機如何相互交互,互聯網連接和您下載的文件。 - MaQleod


答案:


如果你有兩台計算機,每台計算機都有自己獨立的互聯網連接(即兩個ISP連接)而不是一個共享連接,那麼理論上,通過使用支持恢復中斷下載的FTP服務器,每台計算機可以同時下載一半文件。

但是我不知道有任何軟件可以執行此操作(儘管可能會執行wget或curl來執行適當的偏移提取)

如果瓶頸是ftp服務器(或等效的協議服務器),那麼有兩個連接將無濟於事。


更新:我想到的那種事情是

電腦1

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

計算機2(同時通過單獨的Internet連接)

      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並將這些部分拼湊在一起。


這對我來說似乎很混亂,我寧願找到或寫一個分佈式HTTP客戶端:-)


2
2018-04-29 11:26



我希望下載為並發 - M R Jafari
@MRJafari:同意就是我的意思。 - RedGrittyBrick


此解決方案假定兩台計算機在LAN上聯網:

  1. 對於初學者來說,跑一個 代理 在其中一台計算機上,任何HTTP代理都可以。
  2. 得到 淨運輸 一個 Download Manager 支持 Multiple Proxies mode 並在另一台計算機上安裝相同的。

    “多代理模式”允許您為每個工作線程分配不同的代理以中斷某些站點限制,例如每個IP只有一個連接。

  3. 因此,對於您下載的每個文件 Net Transport 計算機,將第一台計算機上的代理添加為單獨的下載線程。
  4. 下載現在將同時利用來自兩台計算機的互聯網連接的帶寬。

編輯:

正如您在屏幕右下方的“Logs”屏幕中所看到的, each 下載可以完成 concurrently in multiple threads (與下載服務器分開的連接)。此工具允許您指定每個線程是否將使用代理。因此,您可以設置一些線程來使用代理計算機上的帶寬。

Net Transport


2
2018-04-29 16:29



你的假設是真的。 - M R Jafari
如果可能,請舉例說明。謝謝 - M R Jafari
計算機A運行代理,這使得LAN上的其他計算機可以通過代理使用其Internet連接。計算機B上的程序現在可以使用多個網絡連接(一個是A的代理,另一個是B的直接連接),可以同時從兩個不同的源下載同一個文件。現在,等式中唯一缺少的是一個執行該操作的程序。 淨運輸 是一個這樣的計劃。 aria2c 也支持這樣的 connections over multiple sources 模式,但它的命令行,我不知道任何好的gui為它... - user1055604
我希望你現在得到它......你需要 Net Transport 和一個代理至少讓這個工作...我可以張貼截圖,以說明必要的... - user1055604
請發給我截圖。謝謝 - M R Jafari


您嘗試執行的操作稱為“綁定連接”。有幾家公司,例如Mushroom Networks,創建了具有多個WAN端口的路由器,可以自動對連接進行負載均衡。更便宜的選擇是將兩個連接插入一台計算機並在其上為您的網絡運行您自己的代理/負載平衡軟件。


1
2018-04-29 15:59



從技術上講,綁定是在協議級別完成的,由ISP處理(在綁定T1或使用綁定以太網的情況下,也稱為EoC - 通常只是花哨的ADSL over ATM)。一旦連接進入並從任何外部協議轉換到以太網,路由器與之協商的協議,該術語就變成了鏈路聚合。負載平衡和故障轉移是另外兩個選項。 - MaQleod
鏈接聚合使兩個連接成為一個可靠的連接的實體鏈接。負載平衡將連接分開,但會通過它平衡多個請求,沒有一個請求會同時使用這兩個線路。這意味著下載請求將只使用一個連接,但後續請求將平衡以使用另一個。故障轉移意味著只使用一個,直到它關閉,然後連接自動切換到備份。 - MaQleod