InicioApuntes Y MonografiasUnir conexiones ADSL-Wifi para sumar el ancho de banda...

Unir conexiones ADSL-Wifi para sumar el ancho de banda...

Envíos De Dinero a México Envía dinero por Internet a México de manera rápida por tan solo $4.99 www.xoom.com Introducción Conceptos previos, conceptos erróneos y funcionamiento del protocolo de Internet Cuando alguien entra a su casa , generalmente entra por la puerta , o si es medio paranoico, tal vez por la ventana. Pero nunca por las dos a la vez, ya que un cuerpo partido a la mitad no puede sobrevivir. En el modelo TCP/IP pasa exactamente lo mismo. Un paquete sale (petición) y entra (respuesta) "obligadamente" siempre por la misma gateway y mismo DNS. Si un paquete saliera por una puerta de enlace "1", deberia volver por la misma, porque sino se perdería. (time to live, traceo , etc) Resumiendo, se puede sumar y aumentar la velocidad global de descargas, pero no la de un archivo en particular. Teóricamente no es posible descargar 1 solo archivo con dos conexiones diferentes. La razón de esto, es que cuando uno empieza a descargar un archivo de un servidor, el servidor estable una espiece de "tunel" entre tu direccion IP y el para asi poder comunicarse. Dado que las dos conexiones de internet tienen diferentes direcciones IP, el servidor sólo establecera conexión con alguna de las dos. En teorçoa es posible hacerle creer al servidor que las dos conexiones estan bajo 1 sola IP, pero eso causaria un caos al tratar de recibir los paquetes de datos, porque no existe ningún protocolo que regule este tipo de transferencia de datos. Pero si podemos hacer que este archivo se descargue por segmentos y posteariormente unimos los trozos, con lo que al final el resultado que obtendremos será la suma de bambas conexiones. Por lo tanto no resulta tan sencillo "sumar" dos conexiones a internet, porque el protocolo tcp/ip tiene ciertas limitaciones. Pero si podremos hacerlo por hardware rápidamente tal y como veremos más adelante. Lo que normalmente se hace es repartir (que no es lo mismo que sumar a la vez dos conexiones) 2+2 = 4, pero a veces es mejor que unos usen 2 y los otros 2 y no que todos usen 4 a la vez. Podemos repartir el ancho de banda de varias maneras (QoS) (Calidad del servicio) - Podemos usar una conexión para navegar y otra para bajar ficheros (por el tipo de tráfico, http, ftp, smtp, pop3, skype, youtube, escritorio remoto), por rangos de ip (por departamentos de trabajo, etc) que unas salga por una conexión y otras por otra) - Podemos configurar cuánto saldrá por cada WAN y cuantó entrará (kbps) así si abres en tu PC youtube saldra por WAN1 y si entras a otras webs por WAN2, igual puedes deperminar dominios que salgan por determinada WAN - Podemos distrubir las solicitudes procedentes de la LAN a través de una politica "round-robin" (por peso) a través de múltiples pasarelas de Internet. En otras palabras, si en un determinado momento sólo hay un usuario de internet haciendo sólo una conexión TCP (por ejemplo, se ejecuta sólo una descarga desde la web), su tráfico se derivará a traves de una única pasarela, por lo que no habría beneficio en el equilibrado de conexiones. En cambio, si la LAN está repleta de usuarios, cada uno ejecutando múltiples solicitudes al mismo tiempo, como un todo, sus conexiones tendrán acceso a un mayor ancho de banda, lo que equivale a la suma de los anchos de banda de acceso único. IP Failover (fail over, a prueba de fallas) Failover es cuando tenemos una o más conexiones y cuando falla una salimos automáticamente por la otra que si que funcione. También llamado conexión redundante. Si una de las líneas falla, el router continua automáticamente la conexión utilizando exclusivamente la segunda. para no aburrirte, te dejo unas nenas bien lindas... Ahora vamos a la practica... a) Balanceo de Carga (Load balancing) ¿Qué es? Repartir ancho de banda El balanceo no suma, reparte. b) Sumar ancho de banda (Bonding) Juntar conexiones, unir conexiones, sumar dos conexiones o más Bonding: ip network multipathing con LINUX ¿Qué es el bonding? Es un driver que originalmente venía con los parches para clusters beowulf, desde hace un tiempo se puede implementar en un kernel 2.2X, 2.4X y 2.6x ¿Pero qué hace realmente?¿Para que sirve? Es la forma de tener dos tarjetas de red funcionando como una sola y aprovechando el ancho de banda de las dos a la vez En definitiva con bonding (ip network multipathing) tendríamos dos tarjetas de red físicas y por encima una virtual que suministra el servicio. El bonding es una técnica que permite agregar varios interfaces de red físicos en uno único virtual. A cada interfaz físico se le denominará slave (esclavo). Con esto podemos realizar un balanceo de carga entre las dos interfaces y conseguir un ancho de banda final igual a la suma de los anchos de banda de cada slave. Necesitamos al menos dos conexiones a internet para hacer bonding. Tipos de Balanceos de Carga con bonding: Round Robin balance-rr (modo 0) Va repartiendo el tráfico (entrante) asignando de forma rotatoria cada conexión a una entrada WAN distinta, es decir, la primera a la WAN 01, la siguiente a la WAN 02, la tercera de nuevo a la WAN 01, ... Se emplea un algoritmo round robin entre la cola virtual y las de los esclavos. Es algo así como: un paquetillo para un esclavo, otro para otro esclavo, un paquetillo para un esclavo, otro para el otro... etc. Es el algoritmo que se usa por defecto. active-backup (modo 1): Realmente no balancea la carga, usa sólo un esclavo y en caso de fallar, usa el siguiente disponible. Si falla el activo, pasa al slave (pasivo) balance-xor (modo 2): Para transmitir una trama lo hace basado en el siguiente calculo: (MAC de origen XOR MAC destino)%numero de interfaces slaves. De esta manera para cada MAC de destino se selecciona una interfaz en concreto. Este modo nos ofrece balanceo de carga y tolerancia a fallos. broadcast (modo 3): se transmite todo por todas las interfaces. Este método no balancea tampoco, pero provee tolerancia a fallos. 802.3ad (modo 4): Se trata del estandard IEEE 802.3ad (Dynamic link aggregation) también llamado “port trunking“. Permite la definición de agregados ofreciendo alta disponibilidad balance-tlb (modo 5): balancea la carga de transmisión entre los esclavos dependiendo de la velocidad de estos y de la carga total. El tráfico es recibido por un esclavo, en caso de fallar otro esclavo toma su MAC y continúa recibiendo tráfico. balance-alb (modo 6) realiza el balanceo anterior además de un balanceo también en la recepción. Otros tipos de balanceo de carga en aparatos de hardware: Basado en sesiones Cada conexión de salida se compone de varias conexiones TCP/IP, el router reparte las conexiones de cada sesión entre los dos puertos WAN. Un ejemplo, una página de Internet tiene una sesión TCP/IP por cada elemento de la misma, cuando un usuario se conecta a esa página Web a través del router XiNCOM, los elementos de la página se descargan paralelamente y a la vez utilizando las dos líneas WAN de forma simultanea, es decir, repartiendo los elementos entre las dos líneas de conexión. Basado en paquetes En lugar de repartir las conexiones TCP/IP de una sesión, el balanceo de carga basado en paquetes reparte los paquetes de cada conexión TCP/IP entre los dos puertos WAN. Funcionamiento ¿Cómo lo hacemos? - Mediante Software En Windows con el programa WinGate, Double surfer, mobile net switch virtualwifi, BVRP Connection Manager, MultiNetwork Manager, WiFi Hopper 1.2 Midpoint Internet LoadBalancer, etc Con el comando "route" (modificando la tabla de rutas, la ruta de encaminamiento, cambiando la puerta de enlace (gateway)) En Linux con pfsense (una distrbución liviana basada en FreeBSD derivada de m0n0wall), Brazilfw, o Mikrotik pfSense permite balanceo de carga (load balancing) con detección de fallo (fail-over) con fail-over. Permite además añadir un Portal Cautivo o captivo (hotspot), OpenVPN, gestión del ancho de banda (limitar y repartir ancho de banda) (Traffic Shape), tráfico por prioridades, etc Con los comandos iproute2 Ejemplos ________ +------------+ / | | | +-------------+ Provider 1 +------- __ | | | / ___/ _ +------+-------+ +------------+ | _/ __ | if1 | / / | | | | Local network -----+ Linux router | | Internet _ __/ | | | __ __/ | if2 | ___/ +------+-------+ +------------+ | | | | +-------------+ Provider 2 +------- | | | +------------+ ________ Datos previos Si suponemos los siguientes datos: Citar eth0: Interfaz conectado a un ADSL eth1: Interfaz conectado a otro ADSL IP0: Dirección IP de la máquina en eth0 IP1: Dirección IP de la máquina en eth1 GW0: Dirección IP del gateway en el interfaz eth0 GW1: Dirección IP del gateway en el interfaz eth1 NET0: Subred de la salida ADSL 0 NET1: Subred de la salida ADSL 1 Definir tablas de rutas Definir dos tablas de routing auxiliares en el fichero /etc/iproute2/rt_tables, simplemente añade estas dos líneas: Código: 2 T0 3 T1 Añadir rutas de encaminamiento Añadir información a las dos tablas auxiliares con información de routing de cada una de las dos salidas: Código: ip route add default via GW0 dev table T0 ip route add NET0 dev eth0 src IP0 table T0 ip route add default via GW1 dev table T1 ip route add NET1 dev eth1 src IP1 table T1 Añadir las reglas de encaminamiento Añadir las reglas necesarias para utilizar cada una de las dos tablas auxiliares: Código: ip rule add from IP0/32 table T0 ip rule add from IP1/32 table T1 Añadir la ruta por defecto Añadir la ruta por defecto en la tabla principal, que se encarga de repartir la carga. Puedes cambiar el peso de cada enlace después del parámetro weight: Código: ip route add default scope global nexthop via GW0 dev eth0 weight 1 nexthop via GW1 dev eth1 weight 1 Ejemplo 2: Cómo juntar dos ADSL Nomenclatura: Citar eth0 -> primer interfaz conectado a la ADSL1 192.168.1.1 -> IP asociada a eth0 192.168.1.2 -> IP del router ADSL1 192.168.1.0/24 -> subred donde hay ADSL1 eth1 -> primer interfaz conectado a la ADSL2 192.168.2.1 -> IP asociada a eth1 192.168.2.2 -> IP del router ADSL2 192.168.2.0/24 -> subred donde hay ADSL2 Primero: Crear dos tablas de rutas adicionales al fichero /etc/iproute2/rt_#tables/. Es tan sencillo como abrir el fichero con un editor de texto y añadir las dos líneas siguientes: 200 ADSL1 201 ADSL2 Segundo: Asignamos cada subred a la tabla e interfaz correspondiente. Desde el prompt del sistema: Código: # ip route add 192.168.1.0/24 dev eth0 src 192.168.1.1 table ADSL1 # ip route add default via 192.168.1.2 table ADSL1 # ip route add 192.168.2.0/24 dev eth1 src 192.168.2.1 table ADSL2 # ip route add default via 192.168.2.2 table ADSL2 Tercero: Ahora hace falta asegurar que el servidor contesta por la misma interfaz que se ha hecho la petición. Código: # ip route add 192.168.1.0/24 dev eth0 src 192.168.1.1 # ip route add 192.168.2.0/24 dev eth1 src 192.168.2.1 Quarto: Sólo hace falta crear la ruta por defecto balanceada. Código: # ip route add default scope global netxhop via 192.168.1.2 dev eth0 weight 1 nexthop via 192.168.2.2 dev eth1 weight 1 - Mediante Hardware Routers de doble Wan (Dual Wan) "Multihomed" o "Multiwan". Balanceador de carga con el protocolo CARP (Common Address Redundancy Protocol), básicamente es proporciona redundancia. Es decir que si tu internet falla, el software lo detecta en decimas de segundo y te hace el switch hacia el enlace bueno, el usuario nunca se da cuenta cuando falla el servicio. Muxing, multiplexar líneas ADSL. Sólo es posible por hardware. Limitar y Repartir ancho de banda Palabras claves: Traffic Shapper o Traffic Shapping, QoS, fair queuing QoS (Quality of Service o Calidad de Servicio) es un conjunto de protocolos y tecnologías que garantizan la entrega de datos a través de la red en un momento dado. Una de las principales metas de QoS es la priorización. Por defecto, cuando enviamos información por una interfaz (tarjeta de red en este caso) las tramas de datos se encolan en una pila FIFO: la primera trama en entrar, es la primera en salir. Configurar QoS (Quality of Service) en el router. Los routers Zyxel llevan la opción "Media Bandwidth Management" http://www.adslzone.net/tutorial-20.18.html Los routers CT Comtrend para configurar el QoS debes ir a Advanced Setup => Quality of Service dentro de la configuración del router. Con Mikrotik PCQ (Queues) Con PfSense y su opción de Traffic Shape. Con un router que acepte firmware dd-wrt Programas para Windows como el NetPeeker que permite repartir el ancho de banda (tanto de subida como de bajada) para cada aplicación. Más programas: El NetLimiter o el DU Super Controler, o el WebScout, y el Bandwidth Speed Balancer, el Bandwidth Controller, WinTC, DU Meter, Net Peeker, Para limitar el ancho de banda en Linu hace bastante tiempo que se puede usar: - iproute2 (TC, traffic control) - cbq.init Y para controlar el ancho de banda no, pero para medirlo y controlar mucha más información está el ntop, http://www.openxtra.com/products/ntop-xtra.htm espero que puedan aplicar este concepto, lo cual mejoraría en sobremanera la velocidad de descarga y navegación.
Datos archivados del Taringa! original
270puntos
6,632visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
13visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

g
gml33🇦🇷
Usuario
Puntos0
Posts7
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.