En redes informáticas , 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, excepto 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 trunking , [1] bundling , [2] bonding , [1] channeling [3] o teaming .
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 resiliencia de las conexiones Ethernet .
Los requisitos de ancho de banda no se escalan 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 resultar prohibitivo en términos de costos. Una solución alternativa, introducida por muchos de los fabricantes de redes a principios de los años 90, 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 una configuración manual y un equipo idéntico en ambos lados de la conexión. [4]
Existen tres puntos únicos de falla inherentes a una conexión típica 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 realizar una conmutación por error sin problemas. La combinación de múltiples 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 . Los ejemplos de agregación en la capa 1 ( capa física ) incluyen dispositivos de red de línea eléctrica (p. ej. IEEE 1901 ) e inalámbricos (p. ej. IEEE 802.11) que combinan múltiples bandas de frecuencia. La agregación de la capa 2 de OSI ( capa de enlace de datos , p. ej. trama Ethernet en redes LAN o PPP multienlace en redes WAN, dirección MAC Ethernet ) generalmente ocurre en los puertos de conmutación, 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 usar programación round-robin , 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 produce la agregación, es posible equilibrar la carga de la red en todos los enlaces. Sin embargo, para evitar la entrega fuera de orden , no todas las implementaciones aprovechan esta característica. La mayoría de los métodos también ofrecen conmutación por error .
La combinación puede ocurrir de manera que varias interfaces compartan una dirección lógica (es decir, IP) o una dirección física (es decir, dirección MAC), o bien permite que cada interfaz tenga su propia dirección. La primera opción requiere que ambos extremos de un enlace utilicen el mismo método de agregación, pero tiene ventajas de rendimiento sobre la segunda.
La unión de canales se diferencia del equilibrio de carga en que el equilibrio de carga divide el tráfico entre interfaces de red por socket de red (capa 4), mientras que la unió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 por enlace de datos (capa 2). [ cita requerida ]
A mediados de los años 90, 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 creó un grupo de estudio para crear un estándar de capa de enlace interoperable (es decir, que abarcara tanto las capas físicas como las de enlace de datos) en una reunión de noviembre de 1997. [4] El grupo acordó rápidamente 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 802.3 para el proyecto de revisión 9 de noviembre de 2006 señaló que ciertas capas 802.1 (como la seguridad 802.1X ) estaban ubicadas en la pila de protocolos por debajo de la agregación de enlaces, que se definió como una subcapa 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 IEEE Ethernet, 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 mediante el envío de paquetes LACP a su par, un dispositivo conectado directamente que también implementa LACP.
Características y ejemplos prácticos del LACP
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 permite que las dos unidades detecten múltiples enlaces entre sí y luego los combinen en un solo enlace lógico. LACP se puede configurar en uno de dos modos: activo o pasivo. En el modo activo, las LACPDU se envían 1 por segundo a lo largo de los enlaces configurados. En el 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, hay una serie de esquemas de agregación propietarios, incluidos EtherChannel y Port Aggregation Protocol de Cisco , Aggregated Ethernet de Juniper, Multi-Link Trunking , Split Multi-Link Trunking , Routed Split Multi-Link Trunking y Distributed Split Multi-Link Trunking de AVAYA, 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 de Linux modernas vienen con un núcleo Linux que tiene el controlador de enlace de Linux integrado como un módulo de núcleo cargable y el programa de control de nivel de usuario ifenslave (if = [interfaz de red]) preinstalado. Donald Becker programó el controlador de enlace de Linux original. Entró en uso con los parches de clúster Beowulf para el núcleo Linux 2.0.
Los modos para el controlador de enlace de Linux [12] (modos de agregación de interfaz de red) se suministran como parámetros al módulo de enlace del núcleo 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 lógica enlazada única depende de su modo de controlador de enlace especificado. El parámetro predeterminado es balance-rr.
El controlador de equipo de Linux [16] ofrece una alternativa al controlador de enlace. La principal diferencia es que la parte del núcleo del controlador de equipo contiene solo el 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 puede entregar un solo puerto o dispositivo. La agregación de enlaces también permite que la velocidad de la red troncal aumente de manera incremental a medida que aumenta la demanda en la red, sin tener que reemplazar todo ni implementar nuevo hardware.
La mayoría de las instalaciones de red troncal instalan más cableado o pares de fibra óptica de los que se necesitan inicialmente. Esto se hace porque los costos de mano de obra son más altos que el costo del cable y la instalación de cables adicionales reduce los costos de mano de obra futuros si las necesidades de 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 los marcos Ethernet. Por ejemplo, TCP sufre una sobrecarga adicional cuando trata con paquetes desordenados. Este objetivo se logra enviando todos los marcos 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 en el tronco cuando solo un único par de hosts 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 se limita al ancho de banda máximo de este único miembro. Por esta razón, un equilibrio de carga uniforme y la utilización completa de todos los enlaces troncales casi nunca se alcanza en las implementaciones de la vida real.
Las NIC conectadas entre sí también pueden proporcionar enlaces de red que superan el rendimiento de cualquier NIC individual. Por ejemplo, esto permite que un servidor de archivos central establezca una conexión agregada de 2 gigabits utilizando dos NIC de 1 gigabit conectadas entre sí. Tenga en cuenta que la velocidad de señalización de datos seguirá siendo de 1 Gbit/s, lo que puede ser 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 que el fabricante admitiera 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 creación de equipos con su herramienta de firewall/administrador de acceso a red Nvidia. HP tiene una herramienta de creación de equipos para las NIC de 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 que los servidores con múltiples interfaces IP en la misma red realicen un equilibrio de carga y, para los usuarios domésticos con más de una conexión a Internet, aumenten la velocidad de conexión al compartir la carga en todas las interfaces. [22]
Broadcom ofrece funciones avanzadas a través de Broadcom Advanced Control Suite (BACS), a través de la cual está disponible la funcionalidad de trabajo en equipo de BASP (Broadcom Advanced Server Program), que ofrece LAG estáticos 802.3ad, LACP y "trabajo en equipo inteligente" que no requiere ninguna configuración en los conmutadores para funcionar. Es posible configurar el trabajo en equipo 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 soportar el trabajo en equipo. [23]
Linux , FreeBSD , NetBSD , OpenBSD , macOS , OpenSolaris y distribuciones comerciales de Unix como AIX implementan la unión Ethernet a un nivel superior y, siempre que el núcleo admita la NIC, pueden trabajar con NIC de diferentes fabricantes o que utilicen diferentes controladores. [12]
Citrix XenServer y VMware ESX tienen soporte nativo para agregación de enlaces. XenServer ofrece LAG estáticos y LACP. vSphere 5.1 (ESXi) admite tanto LAG estáticos como LACP de forma nativa con su conmutador distribuido virtual. [24]
Hyper-V de Microsoft no ofrece soporte para agregación de enlaces desde el nivel de hipervisor, pero los métodos mencionados anteriormente para trabajar en equipo en Windows se aplican a Hyper-V.
Con los modos balance-rr , balance-xor , broadcast y 802.3ad , todos los puertos físicos del grupo de agregación de enlaces deben residir en el mismo conmutador lógico, lo que, en la mayoría de los casos, dejará un único punto de falla cuando el conmutador físico al que están conectados todos los enlaces se desconecte. Los modos active-backup , balance-tlb y balance-alb también se pueden configurar con dos o más conmutadores. 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 propietarias que resuelven parte de este problema: agregan múltiples conmutadores físicos en un conmutador lógico. El protocolo de enlace troncal de múltiples enlaces divididos (SMLT) de Nortel permite que múltiples enlaces Ethernet se dividan entre múltiples conmutadores en una pila, lo que evita cualquier punto único de falla y, además, permite que todos los conmutadores se equilibren en la carga entre múltiples conmutadores de agregación desde la pila de acceso única. Estos dispositivos sincronizan el estado en un enlace troncal entre conmutadores (IST) de modo que aparecen para el dispositivo de conexión (de acceso) como un solo dispositivo (bloque de conmutadores) y evitan cualquier duplicación de paquetes. SMLT proporciona una mayor resiliencia con conmutación por error en menos de un segundo y recuperación en menos de un segundo para todos los enlaces troncales de velocidad, al mismo tiempo que funciona de manera transparente para los dispositivos finales.
El grupo de agregación de enlaces de varios chasis ofrece funciones similares de una manera que no es específica del proveedor. 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 una 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, todo lo que exige el estándar IEEE es que cada enlace sea full duplex y que todos tengan una velocidad idéntica (10, 100, 1000 o 10 000 Mbit/s).
Muchos conmutadores son independientes de la PHY, lo que significa que un conmutador podría tener una combinación de cobre, SX, LX, LX10 u otros transceptores modulares GBIC / SFP . Si bien mantener la misma PHY es el enfoque habitual, 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 como la mayoría de las implementaciones mantienen un solo flujo de tráfico en el mismo enlace físico (usando un hash de direcciones MAC, direcciones IP o combinaciones de puertos de capa de transporte /IP como índice), esto no causa una entrega problemática fuera de orden .
La falta de coincidencia de agregación se refiere a la falta de coincidencia del 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 la agregación de enlaces. Por lo tanto, la agregación de enlaces entre conmutadores con una configuración estática similar puede funcionar, pero fallará entre un conmutador configurado estáticamente y un dispositivo configurado para LACP.
En las interfaces Ethernet , la unión de canales requiere la asistencia tanto del conmutador Ethernet como del sistema operativo del ordenador host , que debe distribuir la entrega de tramas a través de las interfaces de red de la misma manera que se distribuye la E/S a través de los discos en una matriz RAID 0. [ cita requerida ] Por esta razón, algunas discusiones sobre la unión de canales también hacen referencia 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 conectar varios enlaces de acceso telefónico a través de POTS . El rendimiento a través de estas conexiones conectadas puede acercarse más al ancho de banda total de los enlaces conectados 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 varias líneas DSL para obtener un mayor ancho de banda; en el Reino Unido , a veces se une ADSL para obtener, 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 solo tienen acceso a un ancho de banda de 2 megabit/s. [ cita requerida ]
Según las especificaciones DOCSIS 3.0 y 3.1 para sistemas de datos por televisión por cable , se pueden unir múltiples canales. Según DOCSIS 3.0, se pueden unir hasta 32 canales de bajada y 8 canales de subida. [26] Estos canales suelen tener una anchura de 6 u 8 MHz. DOCSIS 3.1 define disposiciones más complicadas que implican agregación a nivel de subportadoras y canales nocionales más grandes. [27]
La unión de banda ancha es un tipo de unión de canales que se refiere a la agregación de múltiples canales en capas OSI de nivel cuatro o superior. Los canales unidos pueden ser enlaces cableados, como una línea T-1 o DSL . Además, es posible unir múltiples enlaces celulares para obtener un enlace unido inalámbrico agregado.
Otras metodologías de enlace residen en capas inferiores del sistema OSI, por lo que requieren coordinación con las empresas de telecomunicaciones para su implementación. El enlace de banda ancha, al implementarse en capas superiores, se puede realizar sin esta coordinación. [28]
Las implementaciones comerciales de la unión de canales de banda ancha incluyen:
En 802.11 (Wi-Fi), se utiliza la unió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 una unión de canales, sino de un único canal con el doble del ancho de canal anterior de 20 MHz, por lo que se utilizan dos bandas adyacentes de 20 MHz. Esto permite duplicar directamente la velocidad de datos PHY desde un único canal de 20 MHz.
La unión de redes (también conocida como trunking de puertos) consiste en agregar múltiples interfaces de red en una única interfaz lógica unida que corresponde a una única dirección IP.
Propuesta para trasladar la agregación de enlaces a IEEE 802.1 • Es una subcapa de 802.3 pero tiene que ir por encima de IEEE Std 802.1x
Se ha llegado a la conclusión de que entre 802.1 y 802.3, el desarrollo futuro de la agregación de enlaces sería más apropiado como estándar 802.1
La unión de canales, a veces también denominada matriz redundante de interfaces de red independientes (RAIN), es una disposición en la que se combinan dos o más interfaces de red en una computadora host para lograr redundancia o aumentar el rendimiento.