El balanceo de carga de capa 4 utiliza la información definida en la capa de transporte de red (capa 4) para decidir cómo distribuir las solicitudes de los clientes entre un grupo de servidores. En el caso concreto del tráfico de Internet, un balanceador de carga de capa 4 toma la decisión de balanceo basándose en las direcciones IP y los puertos de origen y destino registrados en la cabecera del paquete, sin tener en cuenta su contenido.

En total hay siete capas de red, definidas por el modelo de referencia de interconexión de sistemas abiertos [OSI]. Para obtener más información, consulte Capas de los modelos OSI y de Internet a continuación.

Para obtener más información sobre el balanceo de carga, consulte Balanceo de carga de aplicaciones con NGINX Plus.

Equilibrado de carga de capa 4 y NAT

Hoy en día, el término «balanceo de carga de capa 4» suele referirse a una implementación en la que la dirección IP del balanceador de carga es la que se anuncia a los clientes para un sitio web o servicio (por ejemplo, mediante DNS). Como resultado, los clientes registran la dirección del balanceador de carga como la dirección IP de destino en sus solicitudes.

Cuando el balanceador de carga de capa 4 recibe una solicitud y decide cómo distribuirla, también realiza una traducción de direcciones de red (NAT) en el paquete de la solicitud, sustituyendo la dirección IP de destino registrada, que inicialmente es la suya, por la del servidor de contenidos que ha seleccionado en la red interna. Del mismo modo, antes de reenviar las respuestas del servidor a los clientes, el balanceador de carga sustituye la dirección de origen registrada en la cabecera del paquete, que inicialmente es la dirección IP del servidor, por la suya propia. (En ocasiones, los números de los puertos TCP de destino y de origen registrados en los paquetes también se modifican de forma similar).

Los balanceadores de carga de capa 4 toman sus decisiones de enrutamiento basándose en la información de las direcciones extraída de los primeros paquetes del flujo TCP y no inspeccionan el contenido de los paquetes. Un balanceador de carga de capa 4 suele ser un dispositivo de hardware dedicado suministrado por un proveedor que ejecuta software propietario de balanceo de carga; además, las operaciones de NAT pueden realizarse mediante chips especializados en lugar de mediante software.

El balanceo de carga de capa 4 era un enfoque arquitectónico muy utilizado para gestionar el tráfico cuando el hardware convencional no era tan potente como ahora y la interacción entre los clientes y los servidores de aplicaciones era mucho menos compleja. Requiere menos capacidad de procesamiento que otros métodos de balanceo de carga más sofisticados (como el de capa 7), pero las CPU y la memoria son ahora lo suficientemente rápidas y económicas como para que la ventaja de rendimiento del balanceo de carga de capa 4 sea insignificante o irrelevante en la mayoría de las situaciones.

Comparación de los balanceadores de carga de capa 4 y capa 7

Los balanceadores 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 predominante en esta capa). Los balanceadores de carga de capa 7 basan sus decisiones de enrutamiento en diversas 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 contenida en una cookie.

Tener en cuenta muchos más aspectos de la información que se transfiere puede hacer que el balanceo de carga de capa 7 sea más costoso que el de capa 4 en términos de tiempo y potencia de procesamiento necesaria, pero aun así puede dar lugar a una mayor eficiencia general. Por ejemplo, como un balanceador 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 balanceo de carga.

Los balanceadores de carga modernos de uso general, como NGINX Plus y el software de código abierto NGINX, suelen operar en la capa 7 y funcionar como proxies inversos completos. En lugar de gestionar el tráfico paquete por paquete, como hacen los balanceadores de carga de capa 4 que utilizan NAT, los proxies de balanceo de carga de capa 7 pueden leer las solicitudes y las 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 balanceadores de carga pueden configurarse para proporcionar balanceo de carga de capa 4 o de capa 7, según la naturaleza del servicio. Como se ha mencionado anteriormente, el hardware estándar moderno suele ser lo suficientemente potente como para que el ahorro en costes computacionales que ofrece el balanceo de carga de capa 4 no compense las ventajas de la mayor flexibilidad y eficiencia del balanceo de carga de capa 7.

Cómo puede ayudar NGINX

NGINX Plus y NGINX son soluciones de balanceo de carga líderes en su categoría que utilizan sitios web con mucho 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 prestaciones similares. Las completas funciones de equilibrio de carga de NGINX Plus permiten crear una red de entrega de aplicaciones altamente optimizada.

Al implementar NGINX Plus como equilibrador de carga delante de su granja de servidores, aumentan la eficiencia, el rendimiento, la fiabilidad y la escalabilidad de todo su sitio web. NGINX Plus le ayuda a maximizar tanto la satisfacción de sus clientes como el retorno de sus inversiones en TI.

Capas de los modelos OSI y de Internet

Para el tráfico de Internet, hablar de balanceo de carga de «capa 4» y «capa 7» es una forma abreviada y práctica de referirse a estos conceptos, aunque no es del todo exacta. Si te interesa, sigue leyendo.

El concepto de siete capas de red procede del modelo de referencia de interconexión de sistemas abiertos (OSI). El modelo divide las funciones de red en siete capas abstractas, a las que se suele hacer referencia por su número (de la capa 1 a la capa 7). En cada capa hay estándares que definen cómo se empaquetan y transportan los datos. Entre otras cosas, los estándares definen cómo segmentar el flujo de bits que constituye una solicitud o respuesta en paquetes independientes denominados unidades de datos de protocolo (PDU). Los estándares también definen los metadatos que se añaden a cada PDU en forma de cabecera; por ejemplo, estos metadatos pueden especificar las direcciones de los hosts de origen y destino.

Asignar distintos aspectos de la funcionalidad de red a diferentes capas simplifica el procesamiento en cada una de ellas, ya que un protocolo solo necesita saber cómo gestionar las PDU de su propia capa y qué metadatos debe incluir en la cabecera para que los protocolos de las capas adyacentes puedan volver a encapsular las PDU según 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 —conocidos en conjunto como conjunto de protocolos de Internet (IP)— no se ajusta exactamente al modelo OSI. Esto se debe a que el conjunto de protocolos IP se definió e implementó antes de que se publicara la versión definitiva del modelo OSI en 1984. No obstante, los distintos protocolos del conjunto IP desempeñan funciones específicas que se corresponden aproximadamente con las capas OSI.

En cada nivel se definen varios protocolos, pero los siguientes son los protocolos y niveles relevantes para el balanceo de carga del tráfico de sitios web:

  • El Protocolo de Internet (IP) opera en la capa de interred (capa 3). Sus PDU se denominan paquetes, y el IP se encarga de enviarlos desde un host de origen hasta un host de destino, normalmente atravesando los límites entre las múltiples redes más pequeñas que conforman Internet. Cada dispositivo conectado directamente a Internet tiene una dirección IP única, que se utiliza para localizarlo como destinatario de los paquetes.
  • El Protocolo de Control de Transmisión (TCP) opera en la capa de transporte (capa 4). TCP crea de forma efectiva una conexión virtual entre el host en el que se ejecuta el navegador y el host en el que se ejecuta una aplicación de servidor. Debido a la naturaleza poco fiable de las redes, los paquetes IP pueden perderse, dañarse o llegar desordenados. TCP dispone de mecanismos para corregir estos errores, transformando el flujo de paquetes IP en un canal de comunicación fiable. A cada aplicación se le asigna un número de puerto TCP único para permitir la entrega a la aplicación correcta en aquellos hosts en los que se ejecutan varias aplicaciones.
  • El Protocolo de Transferencia de Hipertexto (HTTP) funciona en la capa de aplicación (capa 7). Define cómo se codifican los datos para la comunicación entre navegadores web y servidores web (o cualquier aplicación que comprenda la codificación HTTP).

Como deja claro esta lista, hablar de «balanceo de carga de capa 4» del tráfico de Internet es una forma abreviada y práctica de referirse a este concepto, pero el término más preciso es «balanceo de carga de capas 3/4», ya que el balanceador 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). Un término más exacto para «balanceo de carga de capa 7» podría ser «balanceo de carga de las capas 5 a 7», porque HTTP combina las funciones de las capas 5, 6 y 7 del modelo OSI.