두 개의 인터넷 연결을 결합하여 다운로드

두 개의 인터넷 연결을 결합하여 다운로드

LAN에 두 대의 컴퓨터가 있습니다. 속도가 128Mbs인 첫 번째 컴퓨터와 인터넷 연결 속도가 있는 두 번째 컴퓨터는 256Mbs입니다. 250MB 파일을 다운로드해 보았습니다. 첫 번째 컴퓨터의 다운로드 시간은 약 48,000초 정도이고, 두 번째 컴퓨터의 다운로드 시간은 약 24,000초 정도 소요됩니다. 첫 번째 컴퓨터가 파일의 일부를 다운로드하고 두 번째 컴퓨터가 다른 부분을 다운로드하는 방법이 있습니까?

답변1

두 대의 컴퓨터가 있고 각 컴퓨터는 하나의 공유 연결이 아닌 인터넷에 대한 독립적인 연결(예: 두 개의 ISP 연결)을 가지고 있는 경우 이론적으로 중단된 다운로드 재개를 지원하는 FTP 서버와 같은 것을 사용하여 각 컴퓨터는 동시에 절반의 다운로드를 다운로드할 수 있습니다. 파일.

그러나 나는 이 작업을 수행하는 소프트웨어를 모릅니다. (적절한 오프셋 가져오기를 수행하기 위해 wget 또는 컬을 만들 수는 있지만)

병목 현상이 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(동시에 별도의 인터넷 연결을 통해)

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

컴퓨터 1에서 건너뛴 청크의 크기에 도달하면 중지합니다. 파이프를 끊는 dd 문으로 출력을 파이핑하여 wget을 중지할 수 있다고 생각했지만 작동하지 않는 것으로 나타났습니다.

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

dd가 파이프를 끊었지만 결과 파일의 크기가 맞지 않으면 Wget이 중지됩니다. 따라서 실행되도록 두고 수동으로 중지하고 필요한 부분을 잘라냅니다(예: dd 사용).

마지막으로 컴퓨터 1에서 파일의 0이 아닌 부분을 잘라서(예: dd 사용) 컴퓨터 2에 복사하고 조각을 하나로 묶을 수 있습니다.


이것은 나에게 지저분해 보입니다. 차라리 분산 HTTP 클라이언트를 찾거나 작성하고 싶습니다 :-)

답변2

이 솔루션에서는 두 컴퓨터가 LAN으로 네트워크로 연결되어 있다고 가정합니다.

  1. 우선 다음을 실행하세요.대리컴퓨터 중 하나에서는 모든 HTTP 프록시가 가능합니다.
  2. 얻다순운송다른 컴퓨터에서도 이를 Download Manager지원 하고 설치하는 것 입니다.Multiple Proxies mode

    "다중 프록시 모드"를 사용하면 모든 작업 스레드에 다른 프록시를 할당하여 IP당 하나의 연결과 같은 특정 사이트 제한을 깨뜨릴 수 있습니다.

  3. 따라서 Net Transport컴퓨터에 다운로드하는 모든 파일에 대해 별도의 다운로드 스레드로 첫 번째 컴퓨터에 프록시를 추가하세요.
  4. 이제 다운로드는 두 컴퓨터의 인터넷 연결 대역폭을 동시에 활용합니다.

편집됨:

스크린샷의 오른쪽 하단 '로그' 창에서 볼 수 있듯이 each다운로드가 가능합니다 concurrently in multiple threads(다운로드 서버와 별도 연결). 이 도구를 사용하면 각 스레드가 프록시를 사용할지 여부를 지정할 수 있습니다. 따라서 프록시 컴퓨터의 대역폭을 사용하도록 일부 스레드를 설정할 수 있습니다.

순운송

답변3

당신이 하려는 일에 대한 용어를 "연결 연결"이라고 합니다. Mushroom Networks와 같이 자동으로 연결 로드 밸런싱을 수행하는 여러 WAN 포트가 있는 라우터를 만드는 회사가 몇 군데 있습니다. 더 저렴한 옵션은 두 연결을 모두 하나의 시스템에 연결하고 네트워크에 대해 자체 프록시/로드 밸런싱 소프트웨어를 실행하는 것입니다.

관련 정보