Balance de carga con LAN y Wi-Fi


8

Tengo una Mac, que ejecuta Mac OS X 10.6 o Ubuntu 9.10 o Windows XP (arranque múltiple). La solución puede ser para cualquiera de los sistemas, lo que funcione mejor.

Tengo dos ISP , uno se puede acceder a través de Wi-Fi , uno se puede acceder a través de LAN . En Mac OS XI puedo definir la prioridad, qué red elegir primero. Pero lo que deseo hacer es equilibrar la carga con ambas redes.

No quiero comprar hardware adicional. Tengo algunos enrutadores Wi-Fi sin usar si esto ayudara.

Compilar y configurar programas en Linux no es un problema para mí.

Pregunta similar: equilibrio de carga con múltiples puertas de enlace


2
Deberá verificar que cualquier solución sugerida tenga reglas para las conexiones persistentes a través de su interfaz. Si su conexión rebota entre los ISP, el servidor en el otro extremo puede confundirse. Sé, por ejemplo, que Yahoo IM cortará su conexión si te conectas desde una dirección IP diferente.
Doug Harris

Parece que necesita algún tipo de repetidor inalámbrico WAN múltiple para absorber las señales de 2 enrutadores WIFI diferentes y alimentarlo a su computadora a través de una conexión LAN.
djangofan

LISP (Protocolo de separación de localizador / identificador) podría ser una solución, pero esto es demasiado complicado para mí. ;-)
Synox

¿Qué quieres cargar equilibrio?
David Schwartz

descargas de archivos grandes, Video-Streams, youtube, etc.
Synox

Respuestas:


1

Un tema cercano, para Linux, sería la configuración 'métrica' para las rutas. Se prefieren números más bajos que números más altos. Si le das a ambas rutas la misma métrica, entonces pensaría que serían elegidas con la misma probabilidad.

Creo que la técnica que estás tratando de lograr se llama multihoming . No tengo ninguna experiencia directa con eso. Sin embargo, algunas cosas que probablemente deba tener en cuenta.

  • Por defecto, creo que terminarás con solo una ruta predeterminada. Esto significa que todo el tráfico saliente preferirá una interfaz por defecto. Debería considerar tener múltiples rutas predeterminadas o cambiar esa ruta dinámicamente con el tiempo.
  • Durante la vida útil de una conexión entrante (TCP) individual, debe permanecer en la misma interfaz en la que entró. Yo creo que.

De todos modos, esos son todos los consejos que puedo pensar en este momento.


metrices un parámetro para las interfaces de red en Windows y OS X también; cualquier sistema operativo que admita múltiples interfaces de red requerirá un medio para establecer la prioridad.
Apraetor

1

Podría usar un sistema de métricas de enrutamiento donde instale ambas conexiones de Internet en su tabla de enrutamiento con una métrica igual. El sistema operativo debería usar ambas rutas por igual, dividiendo efectivamente su tráfico saliente en ambos enlaces.

El tráfico entrante en respuesta a sus solicitudes también debe estar equilibrado, ya que volverá a la interfaz (IP pública) de donde salió la solicitud.

El problema con esto sería la persistencia de la sesión, por ejemplo, si ve un sitio web a través de uno de sus enlaces, pero la vista de la página siguiente se equilibra con la carga de su otra interfaz, esto confundiría algunas aplicaciones ya que su dirección IP de origen cambiaría constantemente.

Por lo tanto, probablemente solo dividiría parte de su tráfico en la otra interfaz sin utilizar rutas de igual costo, puede ser por aplicación, destino o protocolo. Solo algo que mantendrá sus rutas de tráfico consistentes.


1

Connectify Dispatch tiene una solución que hará exactamente lo que necesita. Actualmente solo para Windows, pero las personas han tenido éxito virtualizando y usando su software en OS X.

Como ya ejecutaste (estabas ejecutando) Windows XP, pensé que podrías resolver esa parte por tu cuenta.


El mayor problema con esto es que Windows ofrece fácilmente soporte para múltiples NIC, mientras que en OS X no es tan fácil de implementar.


0

Hay una especie de solución alternativa: mi aplicación es capaz de equilibrar la carga, puedo definir 2 conexiones que luego se usan en ambas.

Luego enruto una de las IP del servidor a una de las IPS.

en mac os 10.6:

ruta agregar -host XXX.XXX.XXX.XXX 192.168.1.1

Lo sé, esto es muy específico, y solo funciona si los ips del servidor son siempre los mismos. Y si la aplicación puede equilibrar la carga de alguna manera.


0

No creo que esto sea posible sin hacer algo como que todo el tráfico que sale es un ISP y el tráfico que ingresa es otro ISP.

La razón es que dividir tanto el tráfico en 2 redes separadas no parece que puedan regresar. Si tuviera 2 tuberías de 1 ISP, podría ser posible.

Como dijo la persona anteriormente, creo que necesitará un valor predeterminado de todos modos y podría frenar cierto tráfico a través de una ruta y el resto a través de otra. Simplemente no piense que el equilibrio de carga como lo haría en una LAN funcionará aquí.

Ejemplo: ejecute actualizaciones usando 192.168.2. * El ISP de Wi-Fi ejecuta la vida media usando 192.168.1. * LAN ISP.



0

He escuchado esta misma pregunta una docena de veces, una docena de formas diferentes. Primero, las sesiones internas y las sesiones externas se manejan de manera similar, pero no son lo mismo. Para cada sesión interna, podría haber múltiples externos, y viceversa. Lo que estás hablando no es lógicamente imposible, pero requiere un poco de programación y preparación. Algunos dispositivos se están construyendo con la capacidad de agregar conexiones de ethernet o wifi para velocidades de red más rápidas internamente en una red, pero para redes externas, solo he encontrado dispositivos con FAILOVER, lo que significa que solo cambian cuando tienen que hacerlo. Sin embargo, podría usar una conmutación básica (si las declaraciones con 0 o 1) en el protocolo de conexión que redirige el tráfico a través de una puerta de enlace diferente para cada sesión EXTERNA. A continuación, deberá realizar un seguimiento de cada SESIÓN EXTERNA adjunta a cada SESIÓN INTERNA, ajustando una sub-sesión dentro de una sesión principal con un ID de sesión. Tendría que tener una forma de verificar el dominio del sitio o usar el ID de sesión para completar el enrutamiento interno (en otras palabras, necesitaría poder diferenciar los mensajes del cliente para cada sesión / conexión externa según sitio al que solicitaban o enviaban datos para que se estableciera la tubería para cada sitio, evitando que el sitio rechazara la tubería). Esto significa que tendría que construir un nuevo protocolo de red en su enrutador y decidir cómo diferenciar las conexiones (si solo se hace por dominio del sitio, podría ser posible desde el enrutador, pero el cliente puede intentar usar la dirección IP del puerta externa para el sitio web, que niega esto; Si se realiza en ambos extremos, el cliente debe realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que el envío recibido coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendrías que programar tu propio protocolo para manejar la red, y tendrías que decidir si quieres construirlo tú mismo (haciendo uso tanto de la programación del cliente como del host), o si quieres construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra. el cliente necesita realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que el envío recibido coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. el cliente necesita realizar un seguimiento de algún identificador, generalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. normalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. normalmente un valor numérico de enmascaramiento binario, que permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. eso permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. eso permite que la recepción de envío coincida con la sesión externa que se enruta en la puerta principal). En otras palabras, tendría que programar su propio protocolo para manejar la red, y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo eso es compatible con la programación existente más antigua (que tendría que estar vinculada por la mensajería entre el host y el cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo que sea compatible con la programación existente anterior (que debería estar vinculada por la mensajería entre el host y cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. y tendría que decidir si desea construirlo usted mismo (haciendo uso tanto de la programación del cliente como del host), o si desea construir algo que sea compatible con la programación existente anterior (que debería estar vinculada por la mensajería entre el host y cliente, poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo equilibrado. poniendo más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra. poner más desgaste en el host pero nada nuevo para el cliente). Si conoce su Unix, o conoce su programación de WinServer, esto se puede hacer con solo un poco de tiempo, pero requiere una mayor cantidad de recursos asignados para cada dispositivo que se equilibra.

Para redes de estilo corporativo más grandes, puede combinar las redes y dar a cada piso o departamento una puerta de enlace dedicada, lo que permite múltiples ISP y nunca poner demasiado en ninguno de ellos. También puede hacer que Failover sea manejado por un centro que envía cambios o redirige a una puerta de enlace diferente cuando uno de ellos tiene problemas. Esto ofrece cierta tolerancia a fallas.


2
Es más probable que su respuesta sea leída si no es un muro de texto. Tómese un minuto para dividirlo en párrafos.
fijador1234

Yo hice. Pero la interfaz lo publicó como un muro de texto de todos modos.
Htd Tech

Solo como referencia, la respuesta para equilibrar la carga de una sola conexión es que realmente no es factible si no está trabajando en ella en ambos extremos. Pero para acelerar el acceso a la web, hay algunas tarjetas multi-NIC de terceros que accederán a las redes internas simultáneamente. Si tiene múltiples servicios isp, puede permitir que su sistema maneje el balance de ancho de banda. Esto no es realmente aplicable para juegos o para videos sin comprimir, ya que ambos extremos negocian el tamaño de los paquetes, pero si está en línea mucho para trabajar, es factible y obtendrá un aumento en el rendimiento.
Htd Tech

Solo encontré un salto de párrafo y lo arreglé. El "secreto" es que necesita un doble retorno (una línea en blanco) entre los párrafos. De lo contrario, el sistema lo ejecuta en conjunto para su conveniencia.
fixer1234
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.