combina duas conexões com a Internet para baixar

3

Eu tenho dois computadores em uma LAN. O primeiro computador com velocidade de 128Mbs e um segundo computador com velocidade de conexão à Internet é de 256Mbs. Eu tentei baixar um arquivo de 250MB. Se o primeiro computador para baixar cerca de 48 000 segundos de duração e o segundo computador, se você acha que demora cerca de 24 000 segundos. Existe uma maneira que o primeiro computador baixou uma parte do arquivo e o segundo baixou outra parte?

    
por M R Jafari 29.04.2012 / 13:12

3 respostas

2

Se você tem dois computadores, cada um com sua própria conexão independente à Internet (ou seja, duas conexões ISP) e não uma conexão compartilhada, em teoria, usando algo como servidores FTP que suportam a retomada de downloads interrompidos, cada computador poderia simultaneamente baixar metade do arquivo.

No entanto, eu não sei de nenhum software que faz isso (embora talvez wget ou curl possam ser feitos para executar a busca de deslocamento apropriada)

Se o afunilamento for o servidor ftp (ou servidor de protocolo equivalente), ter duas conexões não ajudará.

Atualização: o tipo de coisa que eu tinha em mente era

Computador 1

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

Computador 2 (ao mesmo tempo por conexão de Internet separada)

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

Pare com isso quando atingir o tamanho do bloco ignorado no Computador 1. Achei que você poderia fazer com que o wget parasse de enviar a saída para uma instrução dd que quebra o pipe, mas isso acaba não funcionando

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

Wget pára quando o dd quebra o pipe, mas o arquivo resultante não é do tamanho certo. Então, talvez apenas deixe-o rodar, pare manualmente e corte a parte que você precisa (por exemplo, usando dd)

Finalmente, você pode cortar a parte diferente de zero do arquivo no computador 1 (por exemplo, usando dd) copiar para o computador 2 e agrupar as partes.

Isso parece confuso para mim, eu prefiro encontrar ou escrever um cliente HTTP distribuído: -)

    
por 29.04.2012 / 13:26
2

Esta solução assume que os dois computadores estão em rede em uma LAN:

  1. Para iniciantes, executar um proxy em um dos computadores, qualquer proxy HTTP faria.
  2. Obtenha o Net Transport a Download Manager que suporta Multiple Proxies mode e instale o mesmo no outro computador.

    The "Multiple Proxies mode" allows you to assign every working thread a different proxy to break certain site restrictions, like only one connection per IP.

  3. Portanto, para cada arquivo baixado no computador Net Transport , adicione o proxy no primeiro computador como um segmento separado de download.
  4. O download agora utilizará a largura de banda da conexão à Internet dos computadores, simultaneamente.

EDITADO:

Como você pode ver no painel inferior direito "Logs" da captura de tela, each download pode ser feito concurrently in multiple threads (conexões separadas com o servidor de download). Essa ferramenta permite especificar se cada thread usará ou não um proxy. Então, você pode definir alguns dos segmentos para usar a largura de banda no computador proxy.

    
por 29.04.2012 / 18:29
1

O termo para o que você está tentando fazer é chamado de "Conexões de ligação". Existem algumas empresas, como a Mushroom Networks, que criam roteadores com várias portas WAN que carregam automaticamente as conexões. Uma opção mais barata seria conectar ambas as conexões em uma máquina e executar seu próprio software de balanceamento de carga / proxy para a sua rede.

    
por 29.04.2012 / 17:59