En redes de computadoras , la agregación de enlaces es la combinación (agregación) de múltiples conexiones de red en paralelo mediante cualquiera de varios métodos. La agregación de enlaces aumenta el rendimiento total más allá de lo que una sola conexión podría soportar y proporciona redundancia donde todos los enlaces físicos menos uno pueden fallar sin perder conectividad. Un grupo de agregación de enlaces ( LAG ) es la colección combinada de puertos físicos.
Otros términos generales utilizados para describir el concepto incluyen enlace , [1] agrupación , [2] vinculación , [1] canalización [3] o formación de equipos .
La implementación puede seguir estándares independientes del proveedor, como el Protocolo de control de agregación de enlaces (LACP) para Ethernet , definido en IEEE 802.1AX o el anterior IEEE 802.3ad, pero también protocolos propietarios .
La agregación de enlaces aumenta el ancho de banda y la resistencia de las conexiones Ethernet .
Los requisitos de ancho de banda no aumentan linealmente. Históricamente, los anchos de banda de Ethernet se han multiplicado por diez en cada generación: 10 megabit /s, 100 Mbit/s, 1000 Mbit/s, 10 000 Mbit/s. Si uno empezaba a toparse con límites de ancho de banda, entonces la única opción era pasar a la siguiente generación, lo que podía tener un costo prohibitivo. Una solución alternativa, introducida por muchos de los fabricantes de redes a principios de los años 1990, es utilizar la agregación de enlaces para combinar dos enlaces Ethernet físicos en un enlace lógico. La mayoría de estas primeras soluciones requerían configuración manual y equipos idénticos en ambos lados de la conexión. [4]
Hay tres puntos únicos de falla inherentes a una conexión típica de puerto-cable-puerto, ya sea en una configuración de computadora a conmutador o de conmutador a conmutador: el cable en sí o cualquiera de los puertos a los que está conectado el cable pueden fallar. . Se pueden realizar múltiples conexiones lógicas, pero muchos de los protocolos de nivel superior no fueron diseñados para una conmutación por error completamente fluida. La combinación de varias conexiones físicas en una conexión lógica mediante la agregación de enlaces proporciona comunicaciones más resistentes.
Los arquitectos de redes pueden implementar la agregación en cualquiera de las tres capas inferiores del modelo OSI . Ejemplos de agregación en la capa 1 ( capa física ) incluyen dispositivos de red de línea eléctrica (por ejemplo, IEEE 1901 ) e inalámbricos (por ejemplo, IEEE 802.11) que combinan múltiples bandas de frecuencia. La agregación de la capa OSI 2 ( capa de enlace de datos , por ejemplo, trama Ethernet en LAN o PPP multienlace en WAN, dirección MAC Ethernet ) generalmente ocurre a través de puertos de conmutador, que pueden ser puertos físicos o virtuales administrados por un sistema operativo. La agregación en la capa 3 ( capa de red ) en el modelo OSI puede utilizar programación por turnos , valores hash calculados a partir de campos en el encabezado del paquete o una combinación de estos dos métodos.
Independientemente de la capa en la que se produzca la agregación, es posible equilibrar la carga de la red en todos los enlaces. Sin embargo, para evitar entregas desordenadas , no todas las implementaciones aprovechan esto. La mayoría de los métodos también proporcionan conmutación por error .
La combinación puede ocurrir de manera que múltiples interfaces compartan una dirección lógica (es decir, IP) o una dirección física (es decir, dirección MAC), o permite que cada interfaz tenga su propia dirección. El primero requiere que ambos extremos de un enlace utilicen el mismo método de agregación, pero tiene ventajas de rendimiento sobre el segundo.
La vinculación de canales se diferencia del equilibrio de carga en que el equilibrio de carga divide el tráfico entre las interfaces de red por socket de red (capa 4), mientras que la vinculación de canales implica una división del tráfico entre interfaces físicas en un nivel inferior, ya sea por paquete (capa 3) o base de enlace de datos (capa 2). [ cita necesaria ]
A mediados de la década de 1990, la mayoría de los fabricantes de conmutadores de red habían incluido la capacidad de agregación como una extensión patentada para aumentar el ancho de banda entre sus conmutadores. Cada fabricante desarrolló su propio método, lo que generó problemas de compatibilidad. El grupo de trabajo IEEE 802.3 formó un grupo de estudio para crear un estándar de capa de enlace interoperable (es decir, que abarque tanto la capa física como la de enlace de datos) en una reunión de noviembre de 1997. [4] El grupo rápidamente acordó incluir una función de configuración automática que también agregaría redundancia. Esto se conoció como Protocolo de control de agregación de enlaces (LACP).
A partir de 2000 [actualizar], la mayoría de los esquemas de unión de canales gigabit utilizaban el estándar IEEE de agregación de enlaces, que anteriormente era la cláusula 43 del estándar IEEE 802.3 agregado en marzo de 2000 por el grupo de trabajo IEEE 802.3ad. [5] Casi todos los fabricantes de equipos de red adoptaron rápidamente este estándar conjunto en lugar de sus estándares propietarios.
El informe del grupo de trabajo de mantenimiento de 802.3 para el proyecto de novena revisión en noviembre de 2006 señaló que ciertas capas de 802.1 (como la seguridad de 802.1X ) estaban ubicadas en la pila de protocolos debajo de la agregación de enlaces que se definió como una subcapa de 802.3 . [6] Para resolver esta discrepancia, se formó el grupo de trabajo 802.3ax (802.1AX), [7] lo que resultó en la transferencia formal del protocolo al grupo 802.1 con la publicación de IEEE 802.1AX-2008 el 3 de noviembre de 2008. [ 8]
Dentro de los estándares Ethernet IEEE, el Protocolo de control de agregación de enlaces (LACP) proporciona un método para controlar la agrupación de varios enlaces físicos para formar un único enlace lógico. LACP permite que un dispositivo de red negocie una agrupación automática de enlaces enviando paquetes LACP a su par, un dispositivo conectado directamente que también implementa LACP.
Características de LACP y ejemplos prácticos
LACP funciona enviando tramas (LACPDU) a través de todos los enlaces que tienen el protocolo habilitado. Si encuentra un dispositivo en el otro extremo de un enlace que también tiene LACP habilitado, ese dispositivo enviará tramas de forma independiente a lo largo de los mismos enlaces en la dirección opuesta, lo que permitirá a las dos unidades detectar múltiples enlaces entre sí y luego combinarlos en un único enlace lógico. enlace. LACP se puede configurar en uno de dos modos: activo o pasivo. En modo activo, las LACPDU se envían 1 por segundo a lo largo de los enlaces configurados. En modo pasivo, las LACPDU no se envían hasta que se recibe una del otro lado, un protocolo de hablar cuando se habla.
Además de los subestándares de agregación de enlaces IEEE, existen varios esquemas de agregación propietarios que incluyen EtherChannel y Port Aggregation Protocol de Cisco, Ethernet agregado de Juniper, Multi-Link Trunking de AVAYA , Split Multi-Link Trunking , Routed Split Multi-Link Trunking y Distributed Split. Multi-Link Trunking , Smartgroup de ZTE, Eth-Trunk de Huawei y Speedify de Connectify . [11] La mayoría de los dispositivos de red de alta gama admiten alguna forma de agregación de enlaces. Existen implementaciones basadas en software, como el paquete *BSD lagg , el controlador de enlace de Linux , Solaris dladm aggr , etc., para muchos sistemas operativos.
El controlador de enlace de Linux [12] proporciona un método para agregar múltiples controladores de interfaz de red (NIC) en una única interfaz lógica enlazada de dos o más de los llamados esclavos (NIC) . La mayoría de las distribuciones modernas de Linux vienen con un kernel de Linux que tiene el controlador de enlace de Linux integrado como un módulo de kernel cargable y el programa de control a nivel de usuario ifenslave (if = [red] interfaz) preinstalado. Donald Becker programó el controlador de enlace original de Linux. Se empezó a utilizar con los parches del clúster Beowulf para el kernel de Linux 2.0.
Los modos para el controlador de enlace de Linux [12] (modos de agregación de interfaz de red) se proporcionan como parámetros al módulo de enlace del kernel en el momento de la carga. Se pueden proporcionar como argumentos de línea de comandos para los comandos insmod o modprobe , pero normalmente se especifican en un archivo de configuración específico de la distribución de Linux. El comportamiento de la interfaz enlazada lógica única depende del modo de controlador de enlace especificado. El parámetro predeterminado es balance-rr.
El controlador Linux Team [16] proporciona una alternativa al controlador de vinculación. La principal diferencia es que la parte del núcleo del controlador Team contiene solo código esencial y el resto del código (validación de enlaces, implementación de LACP, toma de decisiones, etc.) se ejecuta en el espacio de usuario como parte del demonio teamd .
La agregación de enlaces ofrece una forma económica de configurar una red troncal de alta capacidad que transfiere varias veces más datos de los que cualquier puerto o dispositivo puede entregar. La agregación de enlaces también permite que la velocidad de la red troncal crezca gradualmente a medida que aumenta la demanda en la red, sin tener que reemplazar todo e implementar nuevo hardware.
La mayoría de las instalaciones troncales instalan más cableado o pares de fibra óptica de los necesarios inicialmente. Esto se hace porque los costos de mano de obra son más altos que el costo del cable, y el uso de cable adicional reduce los costos de mano de obra futuros si las necesidades de la red cambian. La agregación de enlaces puede permitir el uso de estos cables adicionales para aumentar las velocidades de la red troncal por poco o ningún costo adicional si hay puertos disponibles.
Al equilibrar el tráfico, los administradores de red a menudo desean evitar reordenar las tramas Ethernet. Por ejemplo, TCP sufre una sobrecarga adicional cuando maneja paquetes desordenados. Este objetivo se aproxima enviando todos los fotogramas asociados con una sesión particular a través del mismo enlace. Las implementaciones comunes utilizan hashes L2 o L3 (es decir, basados en las direcciones MAC o IP), lo que garantiza que siempre se envíe el mismo flujo a través del mismo enlace físico. [17] [18] [19]
Sin embargo, esto puede no proporcionar una distribución uniforme entre los enlaces del tronco cuando sólo uno o muy pocos pares de hosts se comunican entre sí, es decir, cuando los hashes proporcionan muy poca variación. Limita efectivamente el ancho de banda del cliente en conjunto. [18] En el extremo, un enlace está completamente cargado mientras que los demás están completamente inactivos y el ancho de banda agregado está limitado al ancho de banda máximo de este miembro individual. Por esta razón, casi nunca se logra un equilibrio de carga uniforme y una utilización completa de todos los enlaces troncales en implementaciones de la vida real.
Las NIC conectadas entre sí también pueden proporcionar enlaces de red más allá del rendimiento de una sola NIC. Por ejemplo, esto permite que un servidor de archivos central establezca una conexión agregada de 2 gigabits utilizando dos NIC de 1 gigabit agrupadas. Tenga en cuenta que la velocidad de señalización de datos seguirá siendo de 1 Gbit/s, lo que puede resultar engañoso según las metodologías utilizadas para probar el rendimiento después de emplear la agregación de enlaces.
Microsoft Windows Server 2012 admite la agregación de enlaces de forma nativa. Las versiones anteriores de Windows Server dependían de la compatibilidad del fabricante con la función dentro del software del controlador de su dispositivo . Intel , por ejemplo, lanzó Advanced Networking Services (ANS) para unir tarjetas Intel Fast Ethernet y Gigabit. [20]
Nvidia admite la colaboración con su herramienta Nvidia Network Access Manager/Firewall. HP tiene una herramienta de formación de equipos para NIC de la marca HP que admite varios modos de agregación de enlaces, incluido 802.3ad con LACP. Además, existe una agregación básica de capa 3 [21] que permite a servidores con múltiples interfaces IP en la misma red realizar equilibrio de carga y, para usuarios domésticos con más de una conexión a Internet, aumentar la velocidad de conexión compartiendo la carga en todas las interfaces. [22]
Broadcom ofrece funciones avanzadas a través de Broadcom Advanced Control Suite (BACS), a través del cual está disponible la funcionalidad de formación de equipos de BASP (Broadcom Advanced Server Program), que ofrece LAG estáticos 802.3ad, LACP y "equipos inteligentes" que no requieren ninguna configuración en los interruptores funcionen. Es posible configurar la formación de equipos con BACS con una combinación de NIC de diferentes proveedores siempre que al menos una de ellas sea de Broadcom y las otras NIC tengan las capacidades necesarias para admitir la formación de equipos. [23]
Linux , FreeBSD , NetBSD , OpenBSD , macOS , OpenSolaris y distribuciones comerciales de Unix como AIX implementan la vinculación Ethernet a un nivel superior y, siempre que la NIC sea compatible con el kernel, pueden manejar NIC de diferentes fabricantes o que utilicen diferentes controladores. [12]
Citrix XenServer y VMware ESX tienen soporte nativo para la agregación de enlaces. XenServer ofrece tanto LAG estáticos como LACP. vSphere 5.1 (ESXi) admite LAG estáticos y LACP de forma nativa con su conmutador distribuido virtual. [24]
Hyper-V de Microsoft no ofrece soporte de agregación de enlaces desde el nivel de hipervisor, pero los métodos mencionados anteriormente para formar equipos en Windows se aplican a Hyper-V.
Con los modos balance-rr , balance-xor , broadcast y 802.3ad , todos los puertos físicos en el grupo de agregación de enlaces deben residir en el mismo conmutador lógico, lo que, en los escenarios más comunes, dejará un único punto de falla cuando el conmutador físico al que están conectados todos los enlaces se desconecta. Los modos active-backup , balance-tlb y balance-alb también se pueden configurar con dos o más interruptores. Pero después de la conmutación por error (como todos los demás modos), en algunos casos, las sesiones activas pueden fallar (debido a problemas de ARP) y deben reiniciarse.
Sin embargo, casi todos los proveedores tienen extensiones patentadas que resuelven parte de este problema: agregan múltiples conmutadores físicos en un conmutador lógico. El protocolo de enlace troncal dividido multienlace (SMLT) de Nortel permite dividir múltiples enlaces Ethernet en múltiples conmutadores en una pila, evitando cualquier punto único de falla y, además, permitiendo que todos los conmutadores tengan equilibrio de carga en múltiples conmutadores de agregación desde la pila de acceso único. Estos dispositivos sincronizan el estado a través de una troncal entre conmutadores (IST) de modo que al dispositivo de conexión (acceso) le parezcan un solo dispositivo (bloque de conmutación) y eviten cualquier duplicación de paquetes. SMLT proporciona resiliencia mejorada con conmutación por error en menos de un segundo y recuperación en menos de un segundo para todas las troncales de velocidad mientras opera de forma transparente para los dispositivos finales.
El grupo de agregación de enlaces de múltiples chasis proporciona características similares sin un proveedor específico. Para el dispositivo conectado, la conexión aparece como un enlace troncal agregado normal. La coordinación entre las múltiples fuentes involucradas se maneja de manera específica del proveedor.
En la mayoría de las implementaciones, todos los puertos utilizados en una agregación son del mismo tipo físico, como todos los puertos de cobre (10/100/1000BASE‑T), todos los puertos de fibra multimodo o todos los puertos de fibra monomodo. Sin embargo, lo único que exige el estándar IEEE es que cada enlace sea full duplex y que todos tengan idéntica velocidad (10, 100, 1.000 o 10.000 Mbit/s).
Muchos conmutadores son independientes de PHY, lo que significa que un conmutador podría tener una mezcla de transceptores modulares de cobre, SX, LX, LX10 u otros GBIC / SFP . Si bien el enfoque habitual es mantener la misma PHY, es posible agregar una fibra 1000BASE-SX para un enlace y una 1000BASE-LX (ruta más larga y diversa) para el segundo enlace. Una ruta puede tener un tiempo de propagación más largo, pero dado que la mayoría de las implementaciones mantienen un único flujo de tráfico en el mismo enlace físico (usando un hash de direcciones MAC, direcciones IP o combinaciones de puertos IP/capa de transporte como índice), esto no causa Entrega problemática fuera de orden .
La falta de coincidencia de agregación se refiere a no coincidir con el tipo de agregación en ambos extremos del enlace. Algunos conmutadores no implementan el estándar 802.1AX pero admiten la configuración estática de agregación de enlaces. Por lo tanto, la agregación de enlaces entre conmutadores configurados estáticamente de manera similar puede funcionar, pero fallará entre un conmutador configurado estáticamente y un dispositivo configurado para LACP.
En las interfaces Ethernet , la vinculación de canales requiere asistencia tanto del conmutador Ethernet como del sistema operativo de la computadora host , que debe dividir la entrega de tramas a través de las interfaces de red de la misma manera que las E/S se dividen entre los discos en una matriz RAID 0 . [ cita necesaria ] Por esta razón, algunas discusiones sobre la vinculación de canales también se refieren a la matriz redundante de nodos económicos (RAIN) o a la matriz redundante de interfaces de red independientes . [25]
En los módems analógicos, se pueden vincular múltiples enlaces de acceso telefónico a través de POTS . El rendimiento de dichas conexiones unidas puede acercarse más al ancho de banda agregado de los enlaces vinculados que el rendimiento bajo esquemas de enrutamiento que simplemente equilibran la carga de las conexiones de red salientes a través de los enlaces.
De manera similar, se pueden unir múltiples líneas DSL para brindar mayor ancho de banda; En el Reino Unido , ADSL a veces está vinculado para proporcionar, por ejemplo, un ancho de banda de carga de 512 kbit/s y un ancho de banda de descarga de 4 megabit/s, en áreas que sólo tienen acceso a un ancho de banda de 2 megabit/s. [ cita necesaria ]
Según las especificaciones DOCSIS 3.0 y 3.1 para sistemas de datos a través de televisión por cable , se pueden vincular múltiples canales. Según DOCSIS 3.0, se pueden vincular hasta 32 canales descendentes y 8 canales ascendentes. [26] Suelen tener 6 u 8 MHz de ancho. DOCSIS 3.1 define disposiciones más complicadas que implican agregación a nivel de subportadoras y canales nocionales más grandes. [27]
La vinculación de banda ancha es un tipo de vinculación de canales que se refiere a la agregación de múltiples canales en capas OSI en el nivel cuatro o superior. Los canales unidos pueden ser enlaces cableados como una línea T-1 o DSL . Además, es posible vincular múltiples enlaces celulares para obtener un enlace vinculado inalámbrico agregado.
Otras metodologías de vinculación residen en capas OSI inferiores, y requieren coordinación con las empresas de telecomunicaciones para su implementación. La unión de banda ancha, debido a que se implementa en capas superiores, se puede realizar sin esta coordinación. [28]
Las implementaciones comerciales de unión de canales de banda ancha incluyen:
En 802.11 (Wi-Fi), se utiliza la vinculación de canales en la tecnología Super G , denominada 108 Mbit/s. Une dos canales del estándar 802.11g , que tiene una velocidad de señalización de datos de 54 Mbit/s por canal.
En IEEE 802.11n , se especifica un modo con un ancho de canal de 40 MHz. No se trata de unión de canales, sino de un único canal con el doble de ancho del antiguo canal de 20 MHz, utilizando así dos bandas adyacentes de 20 MHz. Esto permite duplicar directamente la velocidad de datos PHY desde un solo canal de 20 MHz.
La vinculación de redes (también conocida como enlace de puertos) consiste en agregar múltiples interfaces de red en una única interfaz lógica vinculada que corresponde a una única dirección IP.
Propuesta para mover Link Aggregation a IEEE 802.1 •Es una subcapa 802.3 pero tiene que ir por encima de IEEE Std 802.1x
Se ha llegado a la conclusión entre 802.1 y 802.3 de que el desarrollo futuro de Link Aggregation sería más apropiado como estándar 802.1.
La unión de canales, a veces también llamada matriz redundante de interfaces de red independientes (RAIN), es una disposición en la que dos o más interfaces de red en una computadora host se combinan para lograr redundancia o aumentar el rendimiento.