El modelo de referencia de interconexión de sistemas abiertos (OSI) para redes describe las distintas capas en las que puede operar un balanceador de carga. Específicamente, estas son la Capa 7 (Aplicación) y la Capa 4 (Transporte), como se muestra en la Figura 1 a continuación.
Un balanceador de carga de capa 7 opera en el nivel más alto del modelo OSI y ofrece un entendimiento más profundo de los protocolos de la capa de aplicación, como HTTP. Al funcionar en esta capa, puede tomar decisiones más complejas e informadas basadas en el contenido del mensaje. También permite aplicar optimizaciones y modificaciones al contenido —como la manipulación, compresión y cifrado de encabezados HTTP— y garantizar la confiabilidad y disponibilidad mediante la supervisión del estado de las aplicaciones.
Como se muestra en el modelo OSI, un balanceador de carga en la capa de aplicación (capa 7) permite decisiones más inteligentes y contextuales al contar con mayor conocimiento del protocolo y contenido de la aplicación.
Un balanceador de carga de capa 7 también se conoce como proxy inverso.
Los balanceadores de carga de capa 4 operan en la capa de transporte, utilizando protocolos como TCP (Protocolo de Control de Transmisión) y UDP (Protocolo de Datagrama de Usuario). En general, las decisiones de enrutamiento en esta capa se basan únicamente en la dirección IP y el puerto de origen o destino, sin realizar una inspección profunda de los paquetes.
Un balanceador de carga de capa 4 no analiza el contenido del mensaje y, por lo tanto, no puede aplicar decisiones de enrutamiento avanzadas basadas en la capa de aplicación, ni realizar optimizaciones o modificaciones del contenido.
Si bien comúnmente se hace referencia al equilibrio de carga de capa 7 en el contexto de HTTP, este protocolo en realidad combina funciones de las capas 5, 6 y 7 del modelo OSI, lo cual permite que soluciones como el balanceador de carga de Kemp Technologies aprovechen este conocimiento para ofrecer mayor funcionalidad.
Normalmente, las solicitudes recibidas por el equilibrador de carga se distribuyen a una aplicación basada en un algoritmo configurado. Kemp Technologies proporciona los siguientes algoritmos de equilibrio de carga:
Obtén más información sobre los algoritmos de equilibrio de carga.
La persistencia permite que todas las solicitudes de un cliente individual se envíen al mismo servidor para que se pueda mantener el contexto de la aplicación. La persistencia también se conoce como "afinidad", "afinidad del servidor" o "servidor permanente".
Kemp Technologies proporciona los siguientes métodos de persistencia:
El cambio de contexto permite que el balanceador de carga dirija el tráfico en función del contenido y el contexto de la información de la solicitud del cliente.
La reescritura de contenido permite que el balanceador de carga modifique las solicitudes y respuestas de los clientes para admitir casos de uso como la ocultación de direcciones URL internas y la compatibilidad con aplicaciones que utilizan direcciones URL codificadas de forma rígida.
Los balanceadores de carga de capa 7 proporcionan la capacidad de terminar el tráfico SSL. El manejo del cifrado SSL/TLS para paquetes de red es una tarea que requiere muchos recursos. Hacer esto en los servidores web y servidores de aplicaciones que están ahí para atender las solicitudes de los clientes pone un Sobrecarga adicional en los servidores que deben optimizarse para la entrega de contenido.
Kemp Technologies ofrece las siguientes características:
La comprobación de estado ha evolucionado como un mecanismo que permite al balanceador de carga consultar tanto al servidor de aplicaciones como a la propia aplicación para verificar que funcionan correctamente y están disponibles para recibir tráfico. El algoritmo del balanceador de carga respeta los resultados de estas comprobaciones y solo enruta solicitudes a los servidores y aplicaciones que estén disponibles y puedan responder de manera oportuna.
Gracias a su posición estratégica en la red, un balanceador de carga de capa 7 puede inspeccionar todo el tráfico de las capas 4 y 7 que fluye hacia y desde los sitios web y servidores de aplicaciones. Toda esta actividad se registra para facilitar la supervisión y el análisis del tráfico de red. Estos registros pueden enviarse a herramientas de monitoreo especializadas para su análisis, lo que permite identificar actividades sospechosas. Las mejores prácticas indican que los registros deben ser exportados desde el dispositivo que los recopila y analizados de forma remota.
Viendo un ejemplo, un usuario visita una tienda en línea con un carrito de compras virtual. La tienda en línea está servida por varios servidores de aplicaciones que sirven el contenido, por ejemplo, imágenes de los artículos en venta y el carrito de compras virtual. A medida que el usuario navega por el tienda en línea y coloca artículos en el carrito de compras virtual, el equilibrador de carga de capa 7 proporciona reglas de contenido para maximizar los recursos de cara al público a los recursos locales en el servidor de aplicaciones optimizado para imágenes, almacenamiento en caché y compresión de la Archivos de imagen para facilitar la congestión de la red y la persistencia del carrito de compras virtual para que el usuario no pierda sus compras.
Tomemos como ejemplo a un usuario que visita una tienda en línea con un carrito de compras virtual. Esta tienda está respaldada por varios servidores de aplicaciones que entregan contenido como imágenes de los productos y el propio carrito de compras. A medida que el usuario navega por la tienda y agrega artículos al carrito, el balanceador de carga de capa 7 aplica reglas basadas en el contenido para optimizar los recursos orientados al cliente. Estas reglas dirigen las solicitudes a servidores especializados en el procesamiento de imágenes, almacenamiento en caché y compresión de archivos de imagen, lo que reduce la congestión de la red.
Además, el balanceador de carga asegura que el carrito conserve los artículos seleccionados, incluso si el usuario cambia de página o interactúa con diferentes secciones del sitio.