El equilibrado de carga de capa 4 utiliza la información definida en la capa de transporte de redes (capa 4) como base para decidir cómo distribuir las peticiones de los clientes entre un grupo de servidores. Para el tráfico de Internet en concreto, un equilibrador de carga de capa 4 basa la decisión de equilibrado de carga en las direcciones IP de origen y destino y en los puertos registrados en el encabezado del paquete, sin tener en cuenta el contenido del paquete.
Hay siete capas de red en total, definidas por el modelo de referencia de interconexión de sistemas abiertos [OSI]. Para más información, consulte Capas en los modelos OSI e Internet más adelante.
Para obtener más información sobre el equilibrio de carga, consulte Application Load Balancing with NGINX Plus (Equilibrio de carga de aplicaciones con NGINX Plus).
Actualmente, el término «equilibrio de carga de capa 4» suele hacer referencia a una implementación en la que la dirección IP del equilibrador de carga se anuncia a los clientes como la correspondiente al sitio web o servicio, generalmente mediante DNS. Esto provoca que los clientes utilicen la dirección del equilibrador de carga como destino en sus solicitudes.
Cuando un equilibrador de carga de capa 4 recibe una solicitud y decide cómo distribuirla, realiza una traducción de direcciones de red (NAT) en el paquete. Específicamente, reemplaza la dirección IP de destino registrada por la del servidor de contenidos seleccionado en la red interna. De manera similar, antes de reenviar las respuestas del servidor a los clientes, modifica la dirección de origen en el encabezado del paquete, reemplazándola por su propia dirección IP. En algunos casos, también se ajustan los números de puerto TCP de destino y origen registrados en los paquetes siguiendo un proceso similar.
Los equilibradores de carga de capa 4 toman sus decisiones de enrutamiento basándose en la información de direcciones extraída de los primeros paquetes del flujo TCP, y no inspeccionan el contenido de los paquetes. Un equilibrador de carga de capa 4 suele ser un dispositivo de hardware dedicado suministrado por un proveedor y ejecuta un software de equilibrado de carga propietario, y las operaciones NAT pueden ser realizadas por chips especializados en lugar de por software.
El equilibrio de carga de capa 4 era un enfoque arquitectónico popular para la gestión del tráfico cuando el hardware básico no era tan potente como lo es ahora, y la interacción entre los clientes y los servidores de aplicaciones era mucho menos compleja. Requiere menos computación que los métodos de equilibrio de carga más sofisticados (como la capa 7), pero la CPU y la memoria son ahora lo suficientemente rápidas y baratas como para que la ventaja de rendimiento del equilibrio de carga de capa 4 sea insignificante o irrelevante en la mayoría de las situaciones.
Los equilibradores de carga de capa 7 operan en el nivel más alto del modelo OSI, la capa de aplicación (en Internet, HTTP es el protocolo dominante en esta capa). Los equilibradores de carga de capa 7 basan sus decisiones de enrutamiento en varias características de la cabecera HTTP y en el contenido real del mensaje, como la URL, el tipo de datos (texto, vídeo, gráficos) o la información de una cookie.
El hecho de tener en cuenta muchos más aspectos de la información que se transfiere puede hacer que el equilibrado de carga de capa 7 sea más caro que el de capa 4 en términos de tiempo y potencia de cálculo necesaria, pero puede, no obstante, dar lugar a una mayor eficacia general. Por ejemplo, como un equilibrador de carga de capa 7 puede determinar qué tipo de datos (vídeo, texto, etc.) solicita un cliente, no es necesario duplicar los mismos datos en todos los servidores con equilibrado de carga.
Los equilibradores de carga modernos de uso general, como NGINX Plus y el open source software de NGINX, suelen operar en la capa 7 y funcionan como proxies inversos completos. En lugar de gestionar el tráfico paquete a paquete como los equilibradores de carga de capa 4 que utilizan NAT, los proxies de equilibrio de carga de capa 7 pueden leer las solicitudes y respuestas en su totalidad. Gestionan y manipulan el tráfico basándose en una comprensión completa de la transacción entre el cliente y el servidor de aplicaciones.
Algunos equilibradores de carga pueden configurarse para proporcionar equilibrio de carga de capa 4 o capa 7, dependiendo de la naturaleza del servicio. Como se ha mencionado anteriormente, el hardware básico moderno suele ser lo suficientemente potente como para que el ahorro en costes computacionales del equilibrio de carga de capa 4 no sea lo suficientemente grande como para compensar las ventajas de mayor flexibilidad y eficiencia del equilibrio de carga de capa 7.
NGINX Plus y NGINX son las mejores soluciones de equilibrio de carga de su clase utilizadas por sitios web de alto tráfico como Dropbox, Netflix y Zynga. Más de 350 millones de sitios web de todo el mundo confían en NGINX Plus y NGINX Open Source para ofrecer sus contenidos de forma rápida, fiable y segura.
Como equilibrador de carga basado en software, NGINX Plus es mucho más económico que las soluciones basadas en hardware con funciones similares. Las completas funciones de equilibrio de carga de NGINX Plus le permiten crear una red de entrega de aplicaciones altamente optimizada.
Cuando inserta NGINX Plus como equilibrador de carga delante de su granja de servidores, aumenta la eficacia, el rendimiento, la fiabilidad y la escala de todo su sitio web. NGINX Plus le ayuda a maximizar tanto la satisfacción del cliente como el rendimiento de sus inversiones en TI.
Para el tráfico de Internet, referirse al equilibrio de carga de «capa 4» y «capa 7» es una abreviatura cómoda, pero no estrictamente exacta. Si le interesa, siga leyendo.
La noción de siete capas de red procede del modelo de referencia de interconexión de sistemas abiertos (OSI). El modelo separa las funciones de red en siete capas abstractas, comúnmente denominadas por sus números (capa 1 a capa 7). En cada capa hay normas que definen cómo se empaquetan y transportan los datos. Entre otras cosas, las normas definen cómo segmentar el flujo de bits que constituyen una solicitud o respuesta en paquetes discretos denominados unidades de datos de protocolo (PDU). Las normas también definen los metadatos que se añaden a cada PDU en forma de cabecera; los metadatos pueden especificar las direcciones de los hosts de origen y destino, por ejemplo.
Asignar diferentes aspectos de la funcionalidad de la red a diferentes capas simplifica el procesamiento en cada capa, porque un protocolo solo tiene que saber cómo tratar las PDU de su propia capa, y qué metadatos incluir en el encabezado cabecera para que los protocolos de las capas adyacentes puedan reempaquetar las PDU en su propio nivel de segmentación de datos.
La distribución de las funciones de red entre los protocolos básicos para el tráfico en la World Wide Web —que se denominan colectivamente conjunto de protocolos de Internet (IP)— no se ajusta exactamente al modelo OSI. Esto se debe a que el conjunto IP se definió e implementó antes de que se publicara el modelo OSI definitivo en 1984. No obstante, los diferentes protocolos del conjunto IP desempeñan funciones específicas que se alinean, de manera aproximada, con las capas del modelo OSI.
Hay múltiples protocolos definidos en cada nivel, pero los siguientes son los protocolos y niveles pertinentes para el equilibrio de carga del tráfico de sitios web:
Como queda claro en esta lista, referirse al «equilibrio de carga de capa 4» del tráfico de Internet es una abreviatura conveniente, pero el término más exacto es «equilibrio de carga de capa 3/4», porque el equilibrador de carga basa su decisión tanto en las direcciones IP de los servidores de origen y destino (capa 3) como en el número de puerto TCP de las aplicaciones (capa 4). El término más exacto para «equilibrio de carga de capa 7» podría ser «equilibrio de carga de capa 5 a 7», porque HTTP combina las funciones de las capas 5, 6 y 7 de OSI.