sábado, 13 de octubre de 2012

Balanceo de Carga




Quijano Peñate, Henry Alberto
Luna Lopez, Wendy Iliana

Cuando se menciona el término “balanceo de carga” muchas personas tienden a asociar esto a un automóvil o autobús con las maletas bien posicionadas y colocadas de forma equitativa en los maleteros, pero en realidad el término se acuña al área informática desde mediados de los 80´s  y se ha venido usando de forma constante desde entonces. Específicamente el balanceo de carga en una red LAN consiste en dividir los paquetes entrantes en diferentes  interfaces de red o equipos de red –Router o switch-, para asignar de la forma que se desee el tráfico entrante y saliente –Según las reglas que se asignen- para optimizar las transacciones.

Seleccion de canal por balanceo
En términos más concretos, el balanceo de carga se asegura de que un servidor no se vea sobrecargado por una gran afluencia de tráfico y que este tráfico cause una caída del sistema evitando su acceso para los usuarios.  Este procedimiento es esencial ya que no se sabe el momento exacto en que las peticiones a un servidor serán altas, por ejemplo si se posee un servidor dedicado a procesar transacciones de banco, y de pronto ocurre un evento externo el cual obliga a las personas a realizar el triple de transacciones de lo habitual, este servidor sin un correcto balanceo de carga colapsara en menos de 15 minutos.

Para evitar casos como el anterior el balanceo de carga necesita de una máquina de frente –equipo que esta de frente a internet- que sepa direccionar el tráfico hacia los servidores o equipos designados previamente en la granja de servidores. Las granjas de servidores generalmente poseen más de 5 servidores de servicios –Telnet, ftp, ssl, https, etc.- los cuales tienen asignada una dirección privada de red que luego es publicada como una ip publica hacia internet utilizando el protocolo NAT –Esto en ipv4 ya que en ipv6 ya no existe el concepto de nat- en los dispositivos de frente. Dependiendo del dispositivo se pueden implementar mecanismos avanzados de re direccionamiento como Vlans, las cuales son usadas para dividir de forma más segura el tráfico hacia los dispositivos de fondo, que a su vez balancean de nuevo el trafico entrante y saliente.

Maquina de Frente
Todos estos conceptos de balanceo, están muy ligados a un concepto general el cual es llamado Alta Disponibilidad, dicho término significa la capacidad  que posee un sistema o topología de hacer frente a posibles fallos –Físicos y lógicos- en la misma los cuales pueden ser externo o internos. Cuando se utiliza alta disponibilidad se debe implementar un respaldo de todo equipo en el sistema, comenzando desde elementos mínimos como cables hasta complejos como Routers; el único inconveniente de la alta disponibilidad es su alto costo ya que se debe hacer una inversión más grande duplicando hasta el Isp. Siempre que se habla de balanceo de carga, esta implícitamente definido un sistema de alta disponibilidad y viceversa ya que el objetivo final de todo buen sistema de alta disponibilidad es obtener un excelente desempeño en las transacciones que se procesan, así como también la eficiencia del encaminamiento de datos.

Granja de Servidores
Es altamente recomendable cuando se establece un sistema de balanceo de carga, configurar un equipo luego del sistema de frente, ya que se deb  e verificar la autenticidad de cada paquete, así como la dirección de destino con su respectivo puerto –UDP, TCP- para bloquear todo el tráfico malicioso que no corresponda a las direcciones establecidas así como también determinar la mejor ruta para ser enviado y a que servidor de la granja será enviado.

Uso de NAT como balanceo
Existen muchas alternativas para balancear la carga en un
 equipo, uno de ella es Balanceo por Software el cual consiste en utilizar dos placas de red y usar un software de tercero para administrarlas –LoadBalancer, Balance, Etc.- o simplemente utilizar el software que viene con ellas cuando sea posible y su configuración es tan básica como definir las direcciones, sus rangos y si enviaran, recibirán o ambas. También existe un método llamado RRDNS –Round Robin DNS- el cual consiste en configurar un servidor dns, con las direcciones ip´s a las cuales se  desea redistribuir el tráfico. Esta última opción es un poco más costosa ya que implica contratación de un servicio  de resolución de nombres, con su respectivo balanceo así como compra de equipo adicional de re direccionamiento. Una de sus principales desventajas es que la selección de servidor re direccionado se realiza mediante la métrica de TTL –Time to live- del paquete.

Balanceo de carga por Vlans
Otra opción para realizar el balanceo de carga es utilizar las herramientas integradas de Windows 2000, siendo más específicos NLB, el cual se configura utilizando  dos o más tarjetas de red, configurando una dirección Gateway por defecto y estableciendo el puerto de cada uno para funcionar como un solo enlace al unísono. Una limitante de esta opción es que solo se puede realizar con adaptadores de red certificados para usar con esta tecnología. Permite hasta 32 nodos de clúster ya que funciona como un servicio de replicación de servidores; cabe mencionar que la interfaz es muy intuitiva y fácil de configurar.

Veritas es un sistema de clúster en línea –Servicio en la nube-  y local, el cual nos brinda una opción hibrida de alta disponibilidad local pero con soporte en línea, en otras palabras es un sistema con balanceo de carga integrado pero en caso de un fallo total en el área local, se transfiere el tráfico a la red para usar el sistema en la nube. El único inconveniente es su alto costo ya que es un sistema propietario de Symantec, con la ventaja que se posee un sistema de respaldo 24/7. La interfaz de usuario es sumamente intuitiva, pero hasta cierto punto limitada por ser un servicio externo recalcando que su distribución es tanto en rede MAN y WAN.

Alta Disponibilidad con tolerancia a fallos

Protocolo VRRP
Dentro de las opciones más sencillas para balanceo de carga se encuentran las realizadas por  hardware especializado –Router y switches- los cuales se encargan de redistribuir el tráfico según protocolos ya establecidos en sus interfaces de salida de red que han sido configuradas con su respectivo balanceo de carga. Dentro de estos protocolos se destacan algunos como el VRRP –Virtual Router Redundancy Protocol- el cual se utiliza para balancear el tráfico de una forma práctica ya que se establece un equipo virtual o de frente utilizando un Gateway por defecto  el cual agrupa a los demás routers que están conectados a granjas de servidores. Este protocolo utiliza un esquema de Master, Backup y listener en donde se define que es cada uno mediante una verificación de porcentaje de efectividad de 100%. Si una línea de conexión falla se resta un porcentaje y de esta manera se establece al master, que es el que tiene la mayor efectividad, el segundo más efectivo es el backup del master y el menos efectivo está en estado de escucha o stanby hasta que el backup se convierte en master y el listener en backup.

Un protocolo similar es el HSRP –Hot Standby Router Protocol- el cual funciona de forma muy similar al anterior pero con una diferencia escencial, aquí  no existe figura de master si no de activo y standby. En este sistema hay un router que distribuye el tráfico y otro que esta de soporte y se activa cuando el otro es apagado o está sin servicio. Este protocolo es propiedad de CISCO systems. De forma similar podemos mencionar el protocolo ICMP -IRDP- el cual busca en la red cuales son las ips que están definidas en los nodos para seleccionar a que maquina se hace el re direccionamiento de tráfico.
Protocolo HRSP

Todo sistema que requiera de alta disponibilidad y alto desempeño necesita tener implementado un  sistema de balanceo de carga del protocolo deseado o de la manera seleccionada ya que es esencial el mantener un canal ordenado y establecido para enviar el tráfico entrante a nuestro datacenter, para garantizar alto desempeño y colgadas imprevistas de nuestros servidores.






Fuentes:
-          Wiley Administering Data Centers Servers Storage and Voice over IP.
-          Business Data Communications and Networking- Jerry FitzGerald

No hay comentarios:

Publicar un comentario