1.4.2. Enrutado directo
La configuración de LVS que utiliza enrutado directo proporciona mejor rendimiento que otras topologías de red LVS. El enrutado directo permite que los servidores reales procesen y enruten los paquetes directamente al usuario que los solicitó en vez de enviar los paquetes salientes al enrutador LVS. El enrutado directo reduce la posibilidad de problemas de rendimiento de red al relegar el trabajo de LVS al procesamiento de paquetes entrantes únicamente.
Figura 1.4. LVS Implemented with Direct Routing
En la configuración LVS de enrutado directo, el enrutador LVS recibe las solicitudes entrantes de servidores a través de la IP virtual (VIP) y utiliza un algoritmo de programación para enrutar la solicitud a los servidores reales. El servidor real procesa la solicitud y envía la respuesta directamente al cliente, ignorando el enrutador LVS. Este método de enrutado permite escalabilidad ya que los servidores reales pueden ser añadidos sin el problema de que el enrutador LVS tiene que enrutar paquetes salientes desde el servidor real al cliente, el cual puede llegar a convertirse en un cuello de botella cuando hay mucha carga de red.
1.4.2.1. Enrutado directo y la limitación ARP
Aunque hay varias ventajas al utilizar enrutado directo en LVS, hay también algunas limitaciones. El problema más común con LVS a través de enrutado directo es con el Protocolo de resolución de direcciones (ARP).
In typical situations, a client on the Internet sends a request to an IP address. Network routers typically send requests to their destination by relating IP addresses to a machine's MAC address with ARP. ARP requests are broadcast to all connected machines on a network, and the machine with the correct IP/MAC address combination receives the packet. The IP/MAC associations are stored in an ARP cache, which is cleared periodically (usually every 15 minutes) and refilled with IP/MAC associations.
El problema con las solicitudes ARP en una configuración LVS con enrutado directo es que una solicitud de un cliente a una dirección IP debe estar asociada con una dirección MAC para que la solicitud sea manejada, la dirección IP virtual del sistema LVS debe estar asociada con una dirección MAC. Sin embargo, como el enrutador LVS y los servidores reales todos tienen la misma VIP, el ARP será enviado a todas las máquinas asociadas con la VIP. Esto puede causar algunos problemas, tal como que el VIP sea asociado directamente con uno de los servidores reales y procesa las solicitudes directamente, dejando de lado el enrutador LVS completamente y anulando así el propósito de LVS.
Para solucionar este problema, asegúrese de que las solicitudes entrantes sean siempre enviadas al enrutador LVS y no a alguno de los servidores reales. Esto se puede realizar con las herramientas de filtro de paquetes
arptables_jf
o iptables
por las siguientes razones:
arptables_jf
previene que ARP asocie las VIP con los servidores reales.- El método
iptables
soluciona completamente el problema de ARP al no configurar las VIPs en los servidores reales.
For more information on using
arptables
or iptables
in a direct routing LVS environment, refer to Sección 3.2.1, “Enrutado directo y arptables_jf
” or Sección 3.2.2, “Enrutado directo y iptables
”.