Tengo dos computadoras en una LAN. La primera computadora con una velocidad de 128Mbs y una segunda computadora con una velocidad de conexión a Internet de 256Mbs. Intenté descargar un archivo de 250 MB. Si el primer ordenador descarga unos 48.000 segundos y el segundo ordenador si cree que tarda unos 24.000 segundos. ¿Hay alguna manera de que la primera computadora descargue una parte del archivo y la segunda computadora descargue otra parte?
Respuesta1
Si tiene dos computadoras, cada una con su propia conexión independiente a Internet (es decir, dos conexiones ISP) y no una conexión compartida, entonces, en teoría, al usar algo como servidores FTP que admitan la reanudación de descargas interrumpidas, cada computadora podría descargar simultáneamente la mitad de el archivo.
Sin embargo, no conozco ningún software que haga esto (aunque quizás se pueda hacer que wget o curl realicen la búsqueda de compensación adecuada)
Si el cuello de botella es el servidor ftp (o servidor de protocolo equivalente), tener dos conexiones no ayudará.
Actualización: el tipo de cosas que tenía en mente era
Computadora 1
dd if=/dev/zero bs=10000 count=5 > name-of-big.file
wget -continue http://www.example.com/name-of-big.file
Computadora 2 (al mismo tiempo a través de una conexión a Internet separada)
wget http://www.example.com/name-of-big.file
Detenga esto cuando alcance el tamaño del fragmento omitido en la Computadora 1. Pensé que podría hacer que wget se detuviera canalizando la salida a una instrucción dd que rompiera la tubería, pero resulta que esto no funciona.
wget -O - $URL | dd bs=10000 count=5
Wget se detiene cuando dd rompe la tubería pero el archivo resultante no tiene el tamaño correcto. Así que tal vez simplemente déjelo funcionar, deténgalo manualmente y corte la pieza que necesita (por ejemplo, usando dd)
Finalmente, puede cortar la parte distinta de cero del archivo en la computadora 1 (por ejemplo, usando dd), copiarla a la computadora 2 y juntar las piezas.
Esto me parece complicado, prefiero encontrar o escribir un cliente HTTP distribuido :-)
Respuesta2
Esta solución supone que las dos computadoras están conectadas en red en una LAN:
- Para empezar, ejecute unapoderadoen una de las computadoras, cualquier proxy HTTP serviría.
- ConseguirTransporte netouno
Download Manager
que admitaMultiple Proxies mode
e instale el mismo en la otra computadora.El "modo de Proxies múltiples" le permite asignar a cada hilo de trabajo un proxy diferente para romper ciertas restricciones del sitio, como solo una conexión por IP.
- Entonces, para cada archivo que descargue en la
Net Transport
computadora, agregue el proxy en la primera computadora como un hilo de descarga separado. - La descarga ahora utilizará el ancho de banda de la conexión a Internet de ambas computadoras al mismo tiempo.
EDITADO:
Como puede ver en el panel inferior derecho 'Registros' de la captura de pantalla, each
la descarga se puede realizar concurrently in multiple threads
(conexiones separadas con el servidor de descarga). Esta herramienta le permite especificar si cada hilo utilizará o no un proxy. Por lo tanto, puede configurar algunos de los subprocesos para que utilicen el ancho de banda en la computadora proxy.
Respuesta3
El término para lo que estás intentando hacer se llama "Conexiones de vinculación". Hay un par de empresas, como Mushroom Networks, que crean enrutadores con múltiples puertos WAN que equilibran automáticamente la carga de las conexiones. Una opción más económica sería conectar ambas conexiones a una máquina y ejecutar su propio software de equilibrio de carga/proxy en ella para su red.