¿Es posible fusionar mi ISP y el acceso a Internet de mi teléfono celular? Quiero dividir la descarga y la carga [duplicar]


12

Me gustaría usar mi ISP solo para descargar, y la conexión 4G de mi teléfono celular solo para cargar. Esto se debe a que la velocidad de carga de mi ISP es pobre, pero la descarga está bien, y mi carga 4G es excelente y gratuita (solo pago las descargas).

Entonces, una PC, dos conexiones: ISP para descargar y 4G para cargar. Al hacer esto, pagaría lo mismo que hoy, pero aumentaré mi carga de 0.1 Mbit / s a ​​aproximadamente 60 Mbit / s.


Sí, es un duplicado, y hay muchas más preguntas similares, incluida la mía hace un par de semanas, ¡pero parece que nunca obtienen una respuesta directa!
Zurdo

Entonces, como no parecen obtener una respuesta directa, dejé que este thred viva. He leído los otros y no han solucionado el problema, incluso después de 1000 visitas.
FreddyJoe

1
@Lefty: si quieres llamar la atención sobre tu pregunta, ofrece una recompensa.
Karan

¿No hay algún software que haga esto? Siento que lo leí hace aproximadamente un mes
Jon

1
Sabes, esta pregunta es realmente diferente de las que está vinculada y se dice que es un duplicado. En general, se trata de fusionar conexiones, esta pregunta es más que eso.
Matt H

Respuestas:


8

Aunque es prácticamente imposible separar la carga y la descarga entre conexiones (como se describe en detalles en otras respuestas), existe una posible solución manual.

Puede manipular la conexión predeterminada, cambiándola según la tarea que desee iniciar. La conexión predeterminada en Windows es la primera interfaz conectada, su orden se calcula mediante Metric (que tiende a colocar el cable inalámbrico por encima).

Puede anular fácilmente la métrica con el orden manual en la configuración avanzada de las conexiones de red: Cómo cambiar la conexión predeterminada en Windows . (Debería funcionar igual desde XP a 8.1 con diferencias menores o sin diferencias)

La mayoría de los programas modernos utilizan una conexión predeterminada proporcionada por el sistema, una vez establecida la conexión (se debe) mantener en ella. Por lo general, significa que el programa utilizará las conexiones predeterminadas en el momento en que lo inició. Al cambiar la conexión predeterminada antes de abrir la conexión, puede cambiar la conexión según la tarea y mantener ambos abiertos al mismo tiempo.

Tenga en cuenta que algunos programas (p. Ej., Administradores de carga / descarga) abrirán conexiones por tarea, en lugar de por sesión, por lo que su kilometraje puede variar.


8

Esto no es posible. Los agradecimientos son una parte integral del Protocolo de Control de Transmisión. Si divide los datos entrantes y salientes de manera distinta entre dos interfaces, estaría inherentemente desactivando el componente de reconocimiento del protocolo.

TCP es un protocolo orientado a la conexión, lo que significa que se establece y mantiene una conexión hasta que los programas de aplicación en cada extremo hayan terminado de intercambiar mensajes. Determina cómo dividir los datos de la aplicación en paquetes que las redes pueden entregar, envía paquetes y acepta paquetes de la capa de red, administra el control de flujo y, debido a que está destinado a proporcionar una transmisión de datos sin errores, maneja la retransmisión de paquetes descartados o ilegibles así como el reconocimiento de todos los paquetes que llegan. En el modelo de comunicación de interconexión de sistemas abiertos (OSI), TCP cubre partes de la capa 4, la capa de transporte y partes de la capa 5, la capa de sesión.

Los enrutadores pueden implementar el equilibrio de carga de red entre interfaces separadas, pero eso generalmente funciona en un hash. Esto significa que se establece una conexión en una interfaz determinada basada en un algoritmo de hash y se mantiene en esa interfaz hasta que finaliza. Incluso con enrutadores caros, cada interfaz es necesaria para mantener una conexión establecida hasta su finalización.


Adición: puede ser posible, pero el alcance de la implementación lo hace poco práctico. Además, incluso si logra descargar todo su tráfico a una conexión móvil, ¿cuánto tiempo cree que pasará antes de que el ISP actualice sus términos de servicio? Es probable que ya haya una política de uso justo en algún lugar. Aquí están los requisitos.

  • Falsifique la IP de origen del tráfico que sale a través de la conexión móvil para que coincida con el tráfico que sale a través de la conexión de su ISP para que regrese a través de la conexión del ISP. Esto se puede hacer con iptables.
  • Dirige el tráfico local a través de un dispositivo móvil. Algo así como: 'route add 192.168.0.0/16 mask 255.255.0.0 [IP externa de la conexión móvil]. Tal vez ejecute DDNS para evitar tener que actualizar esto con frecuencia.

http://lartc.org/howto/lartc.rpdb.multiple-links.html

https://sandilands.info/sgordon/address-spoofing-with-iptables-in-linux

Si desea ir a ISP a lo grande, busque enrutamiento asimétrico con BGP.


11
Esto es tonto; Hay muy poco en esta respuesta que en realidad está mal, pero todo es completamente irrelevante.
Ben Voigt

1
¿No podría alguna forma de túnel resolver eso? Los agradecimientos aún tendrían que ir en la dirección no deseada, pero la mayoría de los datos no. Y hacer un túnel sobre UDP podría incluso evitar los reconocimientos, ¿verdad?
Artur Gaspar

1
@ArturGaspar: Los reconocimientos son solo paquetes de datos TCP con el conjunto de indicadores ACK, siguen las mismas reglas que todos los paquetes de datos TCP. Y no hay "tener que ir en la dirección no deseada". Los paquetes de IP son como sobres: puede escribir su dirección de devolución, llevarlos a cualquier oficina de correos y colocarlos en la caja. No tienen que colocarse en su propia caja; piense en cuántas postales se envían durante las vacaciones. La trampa para los paquetes IP es el filtrado de ruta inversa, que está específicamente diseñado para detectar y prevenir esto (tenga en cuenta que la suplantación de remitente también es posible en el correo en papel)
Ben Voigt

1
La afirmación en esta respuesta dice que "si divide los datos entrantes y salientes de forma distinta entre dos interfaces, estaría inherentemente desactivando el componente de reconocimiento del protocolo". es una de las partes que está completamente equivocada. Los acuses de recibo de TCP funcionan entre puntos finales, y la ruta tomada por los paquetes no tiene ninguna importancia (siempre que no se exceda el tiempo de vida) y ciertamente no tiene que coincidir.
Ben Voigt

1
¿No se pueden dividir los datos entrantes y salientes? La descarga de banda ancha satelital con carga de acceso telefónico estuvo a la venta en Aus durante años. Google "Recepción unidireccional, con transmisión terrestre"
JumpingJezza

4

Es posible utilizar ambos accesos a Internet para compartir la carga de descarga / carga, pero siempre solo por conexión. Por lo tanto, una conexión TCP (o UDP) solo puede ir a través de un enlace. Esto se menciona también en la otra respuesta: para los paquetes TCP salientes, debe recibir los paquetes de confirmación y estos deben ir a través de la misma interfaz.

Puede modificar manualmente la tabla de enrutamiento, por ejemplo, antes de realizar una gran carga de YouTube para desviar todo el tráfico de YouTube a través de Internet con una velocidad de carga más rápida y luego volver a cambiarlo. Pero sería difícil ya que YouTube usa muchas direcciones IP diferentes (el enrutamiento funciona en IP, no en nombres de host). Pero para algunos servidores FTP de empresas, podría ser factible.

Esto es cierto para todo el acceso a Internet en el hogar donde se le da la dirección IP de su ISP. Entonces, en el primer ISP obtienes, por ejemplo, IP 1.2.3.4, pero en el teléfono celular obtienes la IP de tu operador de red telefónica, por ejemplo 5.6.7.8. Toda la conexión (datos salientes y entrantes) debe ir solo con una de esas direcciones IP.

Para el alojamiento comercial y de servidor de Internet, puede obtener una dirección IP que es independiente del ISP y, por lo tanto, puede usar más conexiones de Internet al mismo tiempo.


Siempre puede usar un proxy local HTTP o SOCKS en lugar de editar manualmente la tabla de enrutamiento. De esta forma, puede separar limpiamente las dos conexiones simplemente a través de un complemento del navegador como FoxyProxy.
sleblanc

Sugerencia interesante, pero no creo que pueda especificar la fuente IP en la configuración del proxy (ya que la fuente IP elige la interfaz de red saliente).
Marki555

2

Debería tener una conexión de superposición (túnel) que admita diferentes puntos finales para el tráfico ascendente y descendente. El único protocolo que conozco que admite de forma nativa es LISP (Protocolo de separación de identificador de localizador). Si puede encontrar un proveedor de servicios de Internet de LISP cerca de usted, es posible que pueda comprarles un servicio además de sus conexiones actuales. Sin embargo, probablemente no será gratis.


2

Técnicamente hablando, esta capacidad está intrínsecamente integrada en todas las redes integradas sobre IP (debe tener una dirección IP públicamente enrutable) y se activa simplemente cambiando la tabla de enrutamiento del lado del cliente. Lo más probable es que el tráfico destinado a la red local del ISP continúe siendo enviado a través de esa interfaz, mientras que el resto del tráfico saldrá a través de su puerta de enlace predeterminada.

La dirección IP de "fuente" que tiene que coincidir para hacer los reconocimientos y todo lo demás funciona se elige en función del socket a través del cual se envían los datos y, a excepción del caso inusual de un socket restringido por interfaz, no tiene nada que hacer con la interfaz utilizada para transportar los datos. (Contrariamente a los comentarios que dicen que la interfaz de red saliente es elegida por la IP de origen, en realidad solo la tabla de enrutamiento tiene alguna influencia).

Sin embargo, el hecho de que el enrutamiento depende solo de la dirección de destino se ha utilizado con fines maliciosos (la suplantación de paquetes es un componente importante de los ataques de reflexión), por lo que la mayoría de los operadores han configurado sus enrutadores para implementar el filtrado de ruta inversa y descartar los paquetes donde la IP de origen la dirección no coincide con la ruta, ya que se consideran falsos.

Si no tiene una dirección IP pública, además del filtrado de ruta inversa, la capa NAT / PAT evitará que esto funcione (su dirección IP de origen utilizada por su computadora no tendrá sentido en la otra red, y no lo hará) reescribirse correctamente si el paquete no sale por el enrutador NAT / PAT).

De hecho, para grandes redes multihomed, el enrutamiento asimétrico sucede. Es importante destacar que la mayoría de las implementaciones de filtrado de ruta inversa requieren que exista una ruta que coincida con la interfaz donde llegó el paquete; no tiene que ser la ruta preferida (la que tenga la métrica de menor costo).

Por lo tanto, "todo" que tiene que hacer es convencer a su proveedor de Internet (incluidos sus proveedores en sentido ascendente) para que (a) desactive el filtrado de ruta inversa o (b) configure una ruta no preferida. Esto no va a suceder, los enrutadores centrales no pueden manejar tres mil millones de rutas, para tener una para cada dirección IP pública única. Por lo tanto, es muy raro tener rutas para cualquier bloque más pequeño que a / 20, excepto internamente al ISP, donde existen rutas para todas las subredes locales.


¿Quizás no se filtre entre diferentes fuentes si sucede que su ISP también es el proveedor de su plan 4G de teléfono celular?
Ángel

@ Ángel: Eso es completamente posible, pero si la misma compañía proporcionara ambos servicios, sospecho que comercializaría esta capacidad (después de todo, Internet satelital ya usa rutas muy diferentes para cargar y descargar, ambas bajo el control del mismo ISP)
Ben Voigt

solo si admitieron oficialmente dicha configuración. La mayoría de las compañías telefónicas proporcionan aquí ADSL tanto telefónicas (llamadas y datos) como residenciales. Dependiendo de la (falta de) segregación de esas dos redes, podría funcionar [por algún tiempo], y esperaría que tal configuración se interrumpiera cualquier día (pero Freddy podría disfrutar de ese truco hasta entonces ☺)
Ángel

2

La respuesta corta es: en el 95% de los casos no se puede hacer, y la suya cae dentro de ese 95%.

Primero, permítanme decir que tiene poco sentido hablar de enrutamiento de carga y descarga por separado, porque incluso las tareas de descarga intensas requieren que algunos paquetes fluyan hacia atrás a la fuente, es decir , cualquier descarga requiere un flujo de carga (esto es menos cierto para UDP que para TCP, pero no importa eso).

Si tuviéramos que canalizar la carga de una conexión mayormente de descarga a través de una NIC diferente a la utilizada para la parte de descarga, la fuente de la descarga vería que las respuestas a sus paquetes se originan desde una dirección IP diferente a la que está enviando paquetes; Es una característica de seguridad básica para ignorar los paquetes que pretenden estar relacionados con una conexión determinada, pero que se originan en una dirección de terceros. Por lo tanto, la parte de carga de la conversación se interrumpiría y la conexión se detendría. Esto tiene poco que ver con los ISP y sus servicios: ocurre incluso entre dos PC en la misma LAN, si uno de los dos está intentando conectarse a una dirección IP utilizando en la misma conexión dos NICS diferentes (por lo tanto, dos IP diferentes) .

Esta es la razón por la que hablamos de conexiones, no de carga / descarga. Pero entonces uno podría reformular su pregunta de la siguiente manera: ¿puedo tener una PC, que tiene dos NIC conectadas a la red? Utilice las dos NIC para dos conexiones, digamos la conexión lenta para un trabajo lento y tedioso como el correo electrónico, y la conexión rápida para un proceso rápido como la descarga de páginas web.

La respuesta corta a esta pregunta bien planteada es: en Windows, * Nix (incluido MacOS) y Android no. En Linux sí, puede hacerlo.

La razón por la que no puede hacer esto en Windows (cualquier versión), * Nix y Android es que cualquier tabla de enrutamiento puede tener solo una puerta de enlace predeterminada (* es decir, * la dirección a la que envía todos los paquetes no destinados a su LAN), y estos Los sistemas operativos solo pueden manejar una tabla de enrutamiento: por lo tanto, una sola puerta de enlace.

En cambio, para asignar diferentes aplicaciones a diferentes interfaces, necesita dos funcionalidades distintas: una, la capacidad dos ejecutar dos tablas de enrutamiento simultáneamente, y dos, la capacidad de vincular aplicaciones a cualquiera de las tablas de enrutamiento. Solo el kernel de Linux (años luz por delante de la competencia) tiene estas capacidades, a partir de este escrito. El kernel * Nix lo compensa parcialmente mediante el uso juicioso de su firewall, pfsense, sin lograr el resultado completo.

La capacidad de ejecutar dos tablas de enrutamiento al mismo tiempo (denominado enrutamiento de políticas o enrutamiento basado en la fuente ) significa que los paquetes se enrutan de manera diferente según su dirección IP. Esta es una característica extremadamente útil si está construyendo un enrutador.

Sin embargo, para usar diferentes NIC (y, por lo tanto, IPS) según la aplicación, necesita espacios de nombres de red , una característica del kernel de Linux que le permite construir un shell separado con su propia pila de red. Ahora los procesos que se ejecutan dentro de este shell separado se enrutarán de acuerdo con la tabla de enrutamiento del espacio de nombres de la red, no la de la PC principal.

Por supuesto, esta es una forma de virtualización, aunque una forma más débil que, por ejemplo, un contenedor de Linux, sin mencionar una máquina virtual. Pero es la forma real, con una sola PC, enrutar diferentes procesos a través de diferentes interfaces.

En resumen, en Linux (y solo en Linux) puede ejecutar un espacio de nombre de red separado, que, por ejemplo, está conectado a través de una VPN a su lugar de trabajo, para acceder a sus recursos de trabajo y, si ejecuta Firefox, parece estar basado en su lugar de trabajo, al mismo tiempo que ejecuta Google Chrome fuera del espacio de nombres de la red y, por lo tanto, parece (en Chrome) estar basado en su hogar.


2
"que pretende estar relacionado con una conexión determinada, pero que se origina en una dirección de un tercero" ... la dirección de origen en el paquete es lo único que la relaciona con una conexión determinada, y al filtrado de ruta inversa no le importa si los paquetes que descarta están orientados a la conexión o no (la mayoría de los ataques de suplantación de identidad son contra protocolos sin conexión).
Ben Voigt

"Esto tiene poco que ver con los ISP y sus servicios: ocurre incluso entre dos PC en la misma LAN". Tiene todo que ver con el ISP. Puede deshabilitar el filtrado de ruta inversa en su propia computadora (si está ejecutando un sistema operativo como Linux que lo tiene en primer lugar). El problema es cuando su ISP (o su proveedor) lo está utilizando.
Ben Voigt

0

Dividir conexiones relacionadas entre diferentes proveedores solo sería posible si tuviera una única dirección IP accesible o enrutable de ambos proveedores. Esa IP normalmente se le proporcionaría como parte de un bloque más grande de direcciones a través de BGP. Y si tuviera eso, podría hacer esto con BGP utilizando una función llamada reglas de preferencias locales y de ruta pendiente en BGP.

Incluso si pudiera obtener un acuerdo de este tipo para trabajar entre su ISP y su proveedor de teléfono celular para que su IP fuera accesible a través de ambas redes, probablemente le costaría más de lo que está pagando en este momento por ambas conexiones.

Si, por otro lado, lo que realmente está preguntando es si es posible favorecer la conexión 4G para una sesión predominantemente de carga, como cuando se cargan archivos con ftp / sftp o http. Y para que la navegación web normal tenga ese tráfico use su ISP, entonces creo que la respuesta es quizás. Pero para que tal vez funcione, deberías poder clasificar la sesión como principalmente de carga o descarga. Como ftp y http y otros protocolos se pueden usar por igual para cargar o descargar, no puede determinar esto por número de puerto. Entonces, la única alternativa es mirar los datos a mitad de camino. En esa etapa, la decisión se habría tomado ya que los datos ya están fluyendo. Entonces eso no puede ser automatizado.

Entonces, en tu caso. NO. (al menos no cuando tienes poco dinero).


0

Necesita un host que controle accesible desde ambas conexiones.

Configure dos túneles VPN para ese host, cada uno desde una interfaz diferente de su lado. Una vez que tienes eso, es como tener dos cables Ethernet. Puede usar la vinculación para usarlos juntos como un cable más grande y luego intentar pasar el tráfico a través de él.

Ahora no sé si realmente obtendría mucho rendimiento de eso (la latencia de la red móvil es mucho más alta que su banda ancha, lo que puede causar problemas), pero debe probarlo y verlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.