TFM Mora Tinoco Santiago 2017-18
TFM Mora Tinoco Santiago 2017-18
TFM Mora Tinoco Santiago 2017-18
2018
Universidad Politécnica de Madrid
Escuela Técnica Superior de Ingenieros de Telecomunicación
Máster Universitario en
Ingeniería de Redes y Servicios Telemáticos
Autor
Santiago Vinicio Mora Tinoco
Director
David Fernández Cambronero
2018
Resumen
En la actualidad, nos enfrentamos a una importante demanda tecnológica y de
servicios de internet lo que conlleva a la transferencia de la información de todo tipo, y
de servicios web extremadamente alta, por lo que es incuestionable que los sistemas
informáticos deben funcionar de forma ininterrumpida y sin errores , debido a esto es
que la mayoría de empresas busca maneras de mejorar su infraestructura y otorgar un
mejor servicio a sus clientes de forma inmediata, segura y eficaz, teniendo en cuenta
siempre la alta disponibilidad, velocidad y seguridad en sus equipos de trabajo.
Por lo antes mencionado es necesario contar con herramientas que nos permitan
optimizar el rendimiento del tráfico generado en la red hacia los distintos servidores
que almacenan diferentes tipos de servicios, es a raíz de todo esto que surgen las
tecnologías de balanceo de carga.
i
Abstract
In the work, a study will be made of the techniques used to balance the traffic of the
applications in the cloud in their access to the data centers that support them. Both the
load balancing techniques between redundant data centers and between the different
servers within each data center will be studied, focusing mainly on DNS-based
techniques. Additionally, didactic virtual scenarios will be created that allow
experimenting with these techniques to strengthen knowledge about them.
ii
Índice general
Contenido
Resumen ....................................................................................................................... i
Abstract ........................................................................................................................ ii
Siglas......................................................................................................................... viii
1 Introducción .................................................................................................. 1
1.1 Motivación...................................................................................................... 2
2.2 Infraestructuras...............................................................................................5
2.6 Virtualización………………………………………………………………………………………18
iii
3.1 Definición .................................................................................................... 24
3.7.1 Definición.............................................................................................. 43
3.8.2 HAPROXY..............................................................................................47
3.9 Software para Balanceo de Carga con Geolocalización DNS en Linux ........ 50
iv
5.1 Conclusiones ................................................................................................ 69
Bibliografía..................................................................................................................72
v
Índice de figuras
vi
Figura 4.35. Archivo de Zonas DNS Bind para LAN2. .............................................. 66
Figura 4.36. Ingreso desde la lan1 a la página web ................................................... 68
Figura 4.37. Ingreso desde la lan2 a la página web. .................................................. 68
vii
Siglas
IP Internet Protocol
viii
TCP Transmission Control Protocol
ix
1 Introducción
Una de las problemáticas que más se tratan de evitar hoy en día es los cuellos de
botella y así aligerar el tráfico en las comunicaciones, este ha sido un problema
constante en las comunicaciones, por lo que se han venido planteando distintas
alternativas como medidas para solucionar el incremento acelerado del uso del
internet, ya que consigo trae un problema que afecta el servicio que brinda una
institución. Al existir mayor cantidad de usuarios, también aumentará el tráfico en
la red, y con ello se tendrá una carga de trabajo mayor la cual será soportada por los
servidores.
Por ello es que a través de las técnicas de administración de redes se tiene como
función organizar, supervisar y controlar cada uno de los elementos de comunicación
para garantizar un nivel de servicio optimo a unos costos razonables, de ahí que el
objetivo principal de la administración es mejorar la disponibilidad e incrementar la
efectividad de la red, debido a todo esto es que se plantea el uso de la tecnología
conocida como balanceo de carga la cual a través de diferentes técnicas y algoritmos
permite que los servidores atiendan las peticiones o requerimientos de los usuarios. La
implementación de este procedimiento ayuda a mejorar el tiempo de acceso debido a
1
que se trata de evitar la saturación en los recursos de un servidor haciendo que las
peticiones sean gestionadas de manera distribuida entre los diferentes equipos
administrados en un centro de datos, además de evitar fallos inminentes que puedan
sufrir en un momento determinado un servidor, que ante un colapso este no sufrirá una
caída total del sistema y con ellos obtener un buen uso de los recursos con que cuenta
la organización o entidad y aumentar el rendimiento de la red.
1.1 Motivación
Como objetivo general se propone que con el desarrollo de este trabajo se pueda
entender de mejor manera los conceptos básicos de esta tecnología y así evaluar las
funcionalidades de los balanceadores de carga con los cuales se pueden efectuar
técnicas avanzadas en la gestión de la red que conlleven a la optimización de la
comunicación hacia los centros de datos.
3
2 Centros de Datos
2.1 Definición
Los centros de datos son instalaciones que concentran todos los equipos y elementos
necesarios para poder realizar la administración y procesamiento de la información de
una organización y que circula a través de las distintas redes de datos.
4
2.2 Infraestructuras
Se basa principalmente en una serie de normas que debe cumplir el espacio físico
donde se acogerán a los equipos entre estas, que no existiese interferencia
electromagnética, niveles de ruido demasiado altas, la construcción de estas
instalaciones debe estar en una zona que brinde una seguridad física es decir que tenga
el menor riesgo posible de catástrofes naturales y del tema de polución y adicional que
la ubicación donde se encuentren estos centros de datos tenga un área libre para una
expansión de este a futuro.
6
Figura 2.4. Sistemas de protección contra incendios.
7
➢ Consideraciones estructurales apropiadas: Adicional a los
requerimientos ya planteados anteriormente es necesario tener en cuenta las
siguientes consideraciones en la estructura de un centro de datos como el que
las instalaciones cuenten con un piso falso ya que debajo de los mismos se
realizara el recorrido del cableado esto es de suma importancia debido a que
a los cables de red tanto de voz como de datos son sensibles a la interferencia
electromagnética y al ruido, además de salvaguardar la seguridad de los
equipos en posibles inundaciones.
8
Dentro de la parte eléctrica de un centro de datos se cuenta los siguientes
componentes que permiten un funcionamiento adecuado de estos.
9
• Cables eléctricos: Son conductores metálicos encargados de distribuir la
carga eléctrica desde las fuentes de energía hacia los equipos eléctricos dentro
de los datos estos tipos de cables deben cumplir con normativas que dependen
en gran medida de los valores de corriente y temperatura que se presente en el
entorno a trabajar.
10
▪ Topología Lógica: En esta topología se representa la forma en que
los diferentes equipos de comunicación realizan el intercambio de
información entre ellos a través de conexiones virtuales que facilitan
la administración del acceso a la red, entre las más utilizadas
tenemos los bus, estrella y punto a punto.
12
conexiones de un centro estos pueden ser de dos tipos [5]:
En esta sección se dará a conocer los 2 tipos de datos con los que se puede contar de
acuerdo con el número de clientes con el que se desee trabajar.
13
❖ Centro de datos Corporativo: Este tipo de centros son administrados
por las propias empresas es decir los servicios de comunicación que pueden
ser de telefonía e internet, el alojamiento de los equipos como los servidores
que manejan los servicios proveídos por las empresas, y el control de la
información para beneficio propio convirtiéndose en el núcleo principal para
el funcionamiento de la organización.
2.4 Requerimientos
En esta sección definiremos las diferentes ventajas y desventajas que nos puede
proveer un centro de datos para las redes de telecomunicación [2].
18
2.6.1 Ventajas
Aquí se definen las diferentes ventajas que nos provee el uso de esta tecnología en el
desarrollo de las comunicaciones entre las que tenemos las siguientes:
➢ Cuenta con portabilidad, es decir permite realizar una copia de todas las
configuraciones y ficheros de una máquina virtual esto facilita enormemente
el hecho de trasladar esta a otro equipo físico. Esto lleva consigo que, en caso
de fallo de un sistema físico, los sistemas lógicos implementados ahí pueden
distribuirse dinámicamente a otros sistemas.
19
➢ Al poseer una consola de administración de todos los recursos virtualizados
agiliza el tema de mantenimiento y control de los equipos que brindar el
servicio de la empresa.
2.6.2 Desventajas
▪ Las máquinas virtuales son más propensas a sufrir afectaciones por errores
de configuración o algún tipo de apagado brusco o inadecuado, pudiendo
producir errores en el funcionamiento de estas, este tipo de situaciones es
menos probable en los equipos físicos ya que poseen una infraestructura más
adecuada para su funcionamiento y su tiempo de vida por es aún mayor que
un equipo virtual manejado con un solo hardware.
20
2.7 Computación en la Nube
Esta tecnología viene siendo influenciada mucho por el tema antes de mencionado
de virtualización, además de la automatización y los procesamientos que se ejecutan en
paralelo y por el sin número de aplicaciones que ya no se establecen en un solo equipo
físico, sino que son compartidas por varios equipos para su funcionamiento.
Actualmente se tiene muchas empresas que ofrecen este tipo de servicios entre las que
destacan Amazon, Google, Microsoft.
21
2.7.1 Ventajas
Entre las ventajas que nos otorga esta tecnología se hará mención de las siguientes:
2.7.2 Riesgos
Entre los riesgos que se puede presentar en esta tecnología cabe destacar los
siguientes:
23
3 Balanceo de Carga
Las redes de datos están en una constante evolución y crecimiento, tanto a nivel de
tráfico como de complejidad, debido a esto es necesario optimizar las mismas en la
mayor medida posible es por ello por lo que en esta sección se tratara de una tecnología
importante para conseguir aquello como lo es el balanceo de carga.
3.1 Definición
El principal objetivo planteado es conseguir que todos los elementos que llevan a
cabo la misma tarea estén igualmente cargados con el fin de aumentar la calidad y
disponibilidad del servicio, todo el proceso de balanceo de carga es transparente para el
usuario final.
3.2 Funcionalidades
24
Entre las distintas funciones realizadas por este balanceador de carga son las
siguientes:
➢ Este realiza un monitoreo sobre los servidores que se desea balancear para
verificar el estado en el que se encuentran los mismos y si se encuentran
disponibles, es decir que están respondiendo al tráfico en caso de no ser así
son separados de los servidores que están siendo parte del balanceo hasta
que este vuelva a funcionar.
25
equipos balanceados hasta que el servidor que presento el inconveniente
recupere su funcionalidad. El segundo estado es activo-activo en el cual todos
los equipos que dispone el centro de datos están en estado de funcionamiento
y en caso de que uno de ellos falle el resto toman el control de la carga de
trabajo de ese equipo.
En esta sección se dará a conocer los distintos tipos de balanceo de carga que se
pueden aplicar.
Los balanceos de carga pueden ser determinados por la ejecución de procesos entre
estos tenemos [6]:
27
• Centralizado: en este sistema, los nodos no son responsables de la
carga. En cambio, se elige un maestro que balancee la carga para todo
el sistema, es decir manejan un funcionamiento Maestro/Esclavo.
Una vez que un nodo esclavo finaliza una tarea, este solicita una
nueva al maestro. Esta técnica también se basa en una programación
por demanda y no sólo es aplicable a problemas que tengan tareas de
una misma cantidad de trabajo. Un uso adecuado de esta técnica seria
para problemas donde el número de tareas pueda variar durante la
ejecución. Una problemática que presentarse es que si llegase a fallar
el equipo maestro toda la comunicación se corta no se tiene
redundancia de comunicación.
3.4 Beneficios
En esta sección se dará a conocer una serie de puntos importantes con los que el
balanceo de carga contribuye a mejorar en gran media los temas de comunicación en
una red de datos y la importancia del uso de esta tecnología en el ámbito de las
telecomunicaciones.
1. Nos permite asegurar que un servidor no se vea sobrecargado por una gran
afluencia de tráfico y que esto provoque una caída del sistema evitando su
acceso para los usuarios. Este procedimiento es de vital importancia debido a
que es de difícil predecir la cantidad de solicitudes que se enviarán a un
servidor, por ello los balanceadores de carga cuando detectan que un servidor
está muy saturado de solicitudes dirigen este flujo de datos hacia otro equipo
que cuente con mejor capacidad de respuesta, sin lo antes mencionado se
puede generar una perdida en el servicio evitando la continuidad del negocio.
6. Nos ofrece seguridad debido a que al impedir la congestión de red y con ello
evitar que un servidor se sature y deje funcionar, se reduce en gran medida la
probabilidad de recibir ataques de negación de servidos DoS donde su
característica principal es hacer que una máquina o recurso de red quede
inutilizada o no disponible para sus usuarios esto a través del envió de
cantidades gigantescas de peticiones a servidores específicos.
29
8. La escalabilidad es un aspecto importante que considerar es que una de las
enormes ventajas ofrecidas, ya que actualmente la demanda en los servicios
ofrecidos es cada vez mayor lo que conlleva que se requiere un aumento de
los recursos, en esta tecnología los nuevos servidores pueden ser fácilmente
incorporados a la infraestructura del centro de datos y el balanceador de
carga iniciará de inmediato el envío de tráfico a los nuevos servidores.
Hay que tener en cuenta que cuando el usuario realiza una consulta el cache del
explorador de internet almacenara la dirección del servidor que atendió en ese
momento su petición esto producirá que la próxima vez que el cliente realice una
petición a este dominio sea redireccionado a la IP del servidor que atendió su última
consulta.
30
Figura 3.11. Balanceo de Carga Basado en DNS
❖ Ventajas
❖ Desventajas
A continuación, se nombrarán tres técnicas que manejan como tal un nodo director,
es decir un equipo que es el receptor de trafico de los paquetes el reenvió de estos hacia
los servidores que forman parte del sistema se los realizada a través de las siguientes
técnicas:
▪ Ventajas:
32
físico de red no existe un cambio en las cabeceras de red, transporte
o aplicación.
▪ Desventajas:
33
3.5.3 NAT
✓ Ventajas
34
2. Permite un mejor nivel de seguridad debido a que se usa servidores
reales remotos ya que se camufla las direcciones privadas de los
servidores reduciendo así el riesgo de generación de ataques.
✓ Desventajas
3.5.4 Túneles IP
➢ Ventajas
36
➢ Desventajas
En esta sección se analizará los diferentes algoritmos que son implementados para la
distribución de la carga entre los distintos recursos de computación que ayudan a
mejorar el rendimiento de los centros de datos según la infraestructura de red con la
que se cuenta y las necesidades presentadas por la organización. Estos algoritmos son
manejados a través de dos políticas de balanceo que es indispensable tenerlas claras las
cuales son:
Entre los algoritmos que se establecen para la distribución de la carga entre los
diferentes recursos computaciones tenemos:
38
reconocimiento de problemas presentados en el sistema por lo que se podría estar
enviando solicitudes a un servidor que presente lentitud o que no se encuentre
disponible en un momento determinado.
Este algoritmo se maneja de manera similar al round robin solo en que este se
establece una distribución con mayor carga a ciertos servidores que cuenten con mejor
capacidad de procesamiento, memoria y almacenamiento que el resto, esto se gestiona
a través de un indicativo otorgado por factor de peso para cada servidor que es
establecido en los archivos de configuración del balanceador [9].
Los servidores que son capaces de manejar una gran carga se le asignan más
solicitudes por parte del balanceador cuando recepta el tráfico de la red es
recomendable utilizar este tipo de algoritmo cuando los recursos computacionales no
39
son homogéneos en sus características, esto se puede observar en la Figura 3.17.
Para los balanceadores de carga que está administrando una colección de servidores
con un rendimiento similar, la programación de menos conexión es buena para
distribuir el flujo de tráfico sin problemas cuando hay un alto grado de variación en la
carga de las solicitudes receptadas.
Este algoritmo toma en cuenta el problema que surge debido a que un servidor se
sobrecargará más rápido que otro porque algunos clientes permanecen conectados a
40
ese servidor mucho más tiempo que el otro o cuando la carga de un cierto tipo de
solicitud toma un mayor tiempo de procesamiento a un servidor.
Asume que las capacidades de procesamiento de todos los servidores son las mismas
y asigna la solicitud recién llegada al servidor con menor número de conexiones
establecidas. Sin embargo, el rendimiento del sistema no es el apropiado cuando las
capacidades de procesamiento de los servidores son diferentes ya que no se estaría
aprovechando la capacidad de estos equipos, además de que podría haber retrasos en
las respuestas a las solicitudes. es por eso que es recomendable tener un sistema con
equipos homogéneos que permitan tener una distribución equitativa de la carga.
Nos permite evitar el problema presentado en los dos algoritmos anteriores los
cuales, Al repartir las peticiones no consideran cuántas conexiones debe mantener un
servidor por un tiempo determinado lo que podría conllevar a una sobrecarga de uno de
ellos si se acumularan varias conexiones activas a un mismo equipo.
Este algoritmo es manejado de igual manera que las menos conexiones activas, pero
en este caso, además de considerar el servidor con menos conexiones establecidas se
determina la capacidad de procesamiento que es capaz de receptar el servidor y de esta
manera asignar una carga de trabajo apropiada tomando en cuenta estos dos criterios
para realizar la distribución del tráfico. Esto se puede verificar de mejor manera en la
Figura 3.19.
41
Se distribuye más solicitudes a los servidores con menos conexiones activas en
relación con sus capacidades, la misma es indicada y ajustada por la información de
carga dinámica, la agregación de un parámetro de capacidad hace que este algoritmo
sea idóneo cuando la infraestructura tiene servidores reales con capacidades de
hardware diferentes [17].
Se genera una clave hash única y que es iniciada por la fuente de origen de la
petición y la dirección IP de destino del servidor y del cliente, este ha sido asignado a un
servidor particular con la ayuda de esta clave. Las solicitudes se distribuyen a los
servidores en base al clave hash. Por lo tanto, esta se usa para determinar qué servidor
recibirá la solicitud. Si un servidor no funciona dejando de brindar el servicio la
distribución realizada cambia. Esto se puede observar de manera más apropiada en la
Figura 3.20.
Este algoritmo asegura que el mismo cliente con la misma dirección IP llegará al
mismo servidor siempre y cuando esté en funcionamiento, si el resultado hash cambia
42
debido al número de servidores en ejecución, muchos clientes serán dirigido a un
servidor diferente. Este algoritmo es generalmente usado en modo TCP donde no se
puede insertar ninguna cookie.
En esta parte del capítulo se explicará lo referente a la geolocalización DNS, así como
ciertas características y ventajas que presenta este tipo de tecnología a la hora de
efectuar el balanceo de carga entre medios computacionales.
3.7.1 Definición
Este tipo de tecnología consiste en que cuando un cliente realiza una consulta a su
servidor DNS, el servidor DNS busca la ubicación del cliente en función de su dirección
IP pública en el paquete de consulta DNS. El servidor DNS encuentra el servidor de
archivos más cercano a esta ubicación y devuelve la dirección IP de este servidor de
archivos en la respuesta DNS. Esto le permite enviar a los usuarios a un servidor que
sea más apropiado para ellos, que podría ser uno más cercano o uno que ofrezca
contenido en otro idioma [23][24].
Esto ayuda a distribuir las cargas del sistema a través de toda su infraestructura de
replicación distribuida geográficamente. Este mecanismo es independiente del
protocolo, es universal y más simple para que los usuarios finales manejen aquello de
manera transparente.
Entre los grandes beneficios que nos otorga esta tecnología es la de permitir tiempos
de carga de páginas web más rápidos en diferentes regiones debido a que el servidor
más cercano se encarga de todo el contenido. También permite ejecutar diferentes
sitios web para el mismo dominio en diferentes países, ya que se ejecutarán en
44
diferentes servidores.
En esta sección se hará referencia a los distintos softwares que nos permiten
implementar un balanceador de carga sobre un equipo con sistema operativo Linux el
cual nos permita realizar las diferentes técnicas y algoritmos de balanceo mencionados
en capítulos anteriores sin necesidad de contar con equipos de red especializados para
balanceo de carga como es el caso de los Fortinet, Cisco y demás marcas que proveen de
este tipo de equipos.
45
3.8.1 Linux Virtual Server
Pues bien, esta conmutación en capa 4 funciona al multiplexar las conexiones TCP /
IP entrantes y los datagramas UDP / IP a servidores reales. Los paquetes son recibidos
por un director de Linux y se toma una decisión sobre a qué servidor real enviar el
paquete. Una vez que se toma esta decisión, los paquetes subsiguientes para la misma
conexión se enviarán al mismo servidor real. Por lo tanto, se mantiene la integridad de
la conexión.
A pesar de que LVS se ejecuta sobre Linux es capaz de balancear las conexiones de
carga de los usuarios finales que ejecutan cualquier sistema operativo a servidores
reales que ejecutan de igual manera cualquier sistema operativo, pero siempre que
estas conexiones utilicen TCP o UDP. Un detalle a tener en cuenta es que los servidores
podrán estar o bien en la misma red física o en redes diferentes lo que permitirá el tener
servidores en sistemas distribuidas geográficamente.
Permite las técnicas y algoritmos de balanceo excepto el uso de tablas hash todo esto
mencionado en capítulos anteriores. Una enorme ventaja de este tipo de software es la
cantidad de aplicaciones que se enlazan para optimizar las cualidades de este entre
algunas de estas aplicaciones como hearbeat, keepalived, entre otras.
46
3.8.2 HAPROXY
Nos permite distribuir la carga de conexiones TCP y HTTP que llegan como
peticiones por parte del cliente. En el modo TCP, las decisiones de equilibrio de carga
se toman para para tipo de conexión. En el modo HTTP, las decisiones se toman por
solicitud. Es especialmente para sitios web que deben receptar cargas muy altas de
tráfico y, al mismo tiempo, requieren persistencia de sesión o procesamiento de capa 7.
Su arquitectura está optimizada para mover datos tan rápido como posible con las
menores operaciones posibles implementa una capa Modelo que ofrece mecanismos de
derivación en cada nivel para garantizar que los datos no lleguen a niveles más altos
niveles cuando no es necesario este software otorga grandes ventajas al no consumir
mucho procesamiento en su ejecución ayudando al kernel hacer su trabajo más rápido
esto debido a que solo requiere el ejecutable HAProxy y un archivo de configuración
para ejecutarse [21].
Nos otorga un soporte específico para servicios como HTTP, SMTP, MySQL, entre
otros, pero el protocolo HTTP es el más desarrollado y sobre este se pueden añadir,
quitar o modificar cabeceras HTTP, tanto en la petición como en la respuesta por lo que
su configuración es muy potente y permite establecer arquitecturas complejas.
47
3.8.3 PEN
Cuando este software detecta que un servidor no está disponible, escanea uno que
comience con la tarea recientemente establecido por el servidor que quedo fuera de
servicio de esta forma obtenemos balanceo de carga y failover.
3.8.4 POUND
3.8.5 NGINX
49
atender grandes necesidades de tráfico
Entre los softwares que nos permiten realizar la función antes mencionada tenemos
los siguientes:
50
Entre sus beneficios es que se puede satisfacer las necesidades de las organizaciones
pequeñas al ser fácil de instalar, así como para servir grandes volúmenes de consultas
en grandes cantidades de dominios. Además, mediante el uso de técnicas de
programación inteligente nos frece un rendimiento de resolución de dominio muy alto.
Un aspecto a considerar es la seguridad que la proporciona mediante el uso de
funciones de lenguaje, el código fuente de esta es razonablemente pequeño, lo que
facilita la auditoría. De la misma manera, las características de la biblioteca se han
utilizado para mitigar los riesgos de desbordamientos de búfer.
Nos otorga muchas estadísticas sobre su funcionamiento, lo que es útil tanto para
determinar la escalabilidad de una instalación como para detectar problemas para ellos
cuenta como una herramienta conocida como PowerAdmin con la cual se tiene
administración de las funciones de este software, así como todos los tipos de zonas y
registros DNS.
El uso del backend Geo se puede utilizar para distribuir consultas de forma global
utilizando una tabla de direcciones IP / mapeo de país, muchas de las cuales están
disponibles de forma gratuita en línea o pueden adquirirse por una pequeña tarifa. Esto
permite que los visitantes se envíen a un servidor cerca de ellos, sin demoras
apreciables, ya que de lo contrario se incurriría con un redireccionamiento de nivel de
protocolo. Además, de que se puede usar para proporcionar servicio en varios clusters,
cualquiera de los cuales puede dejarse de usar fácilmente, por ejemplo, para fines de
mantenimiento. Para esta la geolocalización es necesario solo configurar el back-end
con unas pocas directivas, básicamente proporcionamos la ruta a los datos de ubicación
y a un archivo de configuración YAML que define las zonas geo-habilitadas que
ofrecemos en el servidor.
51
3.9.2 BIND9
BIND implementa los protocolos DNS. Los protocolos DNS son parte de los
estándares básicos de Internet. Especifican el proceso mediante el cual una
computadora puede encontrar otra computadora en función de su nombre. La
distribución del software BIND contiene todo el software necesario para hacer y
responder preguntas del servicio de nombres.
52
software en un servidor y proporcionándole información sobre sus nombres
de dominio.
Este software posee características que vale la pena mencionar y que nos ayudan a
optar por este entre las que tenemos entre otras las siguientes:
53
4 Desarrollo de Escenarios Virtuales Didácticos
INTERNET
USUARIOS
En esta sección se realizará el diseño de dos escenarios de red virtuales que nos
permita comprender la distribución del tráfico entre los distintos servidores que
brindan un servicio específico dentro de un centro datos.
Para brindar el servicio de la página web se cuenta con 2 servidores web apache2 en
cada centro de datos, para poder arrancar el servicio en estos equipos solo basta con
ejecutar el siguiente comando en la terminal de Linux ya teniendo arrancado el
escenario en VNX.
55
Como se hace referencia en el marco teórico de este trabajo existen varias
herramientas de software que nos permiten la implementación de un balanceador de
carga a través de un sistema operativo Linux, pero de todas estas se decidió por el uso
de HAProxy debido a los siguientes aspectos:
➢ Nos brinda confiabilidad ya que a pesar de ser gratuito es avalado por un sin
número de grandes organizaciones reconocidas tales como Github, Twitter,
Tuenti entre otras, en algunas de ellas incluido en productos comerciales
como es el caso de Azure y Amazon Web Services, además de todo aquello
para en constante actualización otorgando nuevas mejoras en cada una de
ellas.
➢ Cuenta con una configuración fácil de comprender y muy detallada sobre las
distintas implementaciones que se puede realizar y a pesar de esto cuenta
con propiedades muy potentes en dicha configuración que permite establecer
arquitecturas de redes complejas.
CENTRO DE DATOS 1
S1 HAPROXY 1 S2
10.1.1.2 10.1.1.4 10.1.1.3
USER1
10.1.4.2
Figura 4.23. Escenario de red del Centro de Datos 1
57
CENTRO DE DATOS 2
S3 HAPROXY 2 S4
10.1.3.2 10.1.3.4 10.1.3.3
USER1
10.1.4.2
Figura 4.24. Escenario de red del Centro de Datos 2
58
Figura 4.26. Configuración HAProxy Centro de Datos 2
El bloque denominado frontend se define una serie sockets en escucha que aceptan
peticiones de clientes, así como diversos parámetros relacionados con el tratamiento de las
solicitudes entrantes, entre los que se establecen los siguientes:
De manera similar se ingresa a las estadísticas del balanceo del segundo centro de
datos modificando la dirección IP del balanceador de carga en este caso y
manteniendo la misma uri como se observa en la Figura 4.30. la misma que nos
permite concluir que la distribución de carga definida para este centro de datos
está funcionando según lo requerido por el algoritmo round robin ponderado
dando el doble de carga a un servidor que a otro.
62
Figura 4.30. Estadísticas del Balanceo en el Centro de Datos 2
S1 HAPROXY 1 S2 S3 HAPROXY 2 S4
DNS BIND9
10.1.4.3
USER1 USER2
63
Como se detalla en la teoría de este trabajo existen pocas herramientas de software
que nos permitan la implementación de realizar un balance de carga entre centros de
datos basándonos en la geolocalización a través de DNS el cual es instalado en un
sistema operativo Linux, debido a que de las dos opciones mencionadas POWER DNS
no ofrece un soporte adecuado ni una información adecuada y detallada de esta
información caso contrario que sucede con BIND9 que es el software DNS más
utilizado en Internet, proporcionando una plataforma robusta y estable con
información muy amplia y detallada de las funcionalidades que la misma ofrece
independientemente de cuál sea nuestra aplicación, es probable que BIND tenga las
características requeridas, además de que se encuentra con una comunidad muy amplia
para resolución de cualquier duda o problemática encontrada es por eso que opto por
la utilización de esta para la realización de este escenario virtual.
Una vez definido el software para la gestión de DNS se procede con la instalación de
este y adicionalmente se inician los servicios de apache2 y HAProxy indicados en la
sección anterior, ya realizado aquello se debe tener claro la configuración que se
establecio en los distintos archivos que se generan cuando se instala Bind9 con el fin de
poder poner en funcionamiento el balanceo de carga entre estos centros a través de la
ubicación del usuario que realizada las solicitudes, por ellos a continuación se detalla la
configuración establecida en estos archivos los cuales se encuentran en la ruta
/etc/bind, así como una breve descripción de los parámetros mas importantes a tener
en cuenta cuando se realiza este tipo de mecanismo de balanceo.
64
Figura 4.33. Archivo de resolución de nombres del DNS Bind
Luego debemos proceder a crear los archivos que definirán las zonas que estarán
dedicadas a la resolución de nombres es decir tendrán el conjunto de entradas de
registros de recursos (RR), en nuestro para las dos redes creadas se contara con los
archivos db.pruebas.net.lanone y db.pruebas.net.lantwo., ambos archivos contaran
con la misma configuración debido a que además del balanceo entre los centro de
datos también se desea que se disponga de alta disponibilidad para que el servicio sea
continuo para usuarios que gestionen sus peticiones a un centro de datos el cual
tengas sus servidores web no operativos. Como se visualiza en la Figura 4.33 se
determinan el nombre de mi dominio que para este escenario se estableció en
prueba.net, así como también las FQDN para los distintos registros de host el
propósito de este archivo de zona es principalmente asignar nombres de host y
servicios a direcciones IP específicas, para nuestra página web se define el FQDN
www.prueba.net el cual estará registrado con las direcciones IP de los balanceadores
de carga de ambos centros de datos como se detalla en la Figura 4.33.
65
Figura 4.35. Archivo de Zonas DNS Bind para LAN2
➢ sortlist: En este se define el orden el que serán usados los registros de recursos
66
definidos en los archivos de zona creados para la resolución directa de nombres ,
esto nos permite definir un orden de prioridad que para nuestro caso es de gran de
ayuda, debido a que al contar con dos centros datos podemos designar una alta
disponibilidad entre ambos esto provocara que cuando un usuario realice la
consulta al servidor web del centro de datos mas cercano y si los equipos que
brindan el servicio no se encuentran funcionando se asignara al siguiente centro de
datos que se encuentre operativo registrado en el archivo de zonas directas.
➢ Zone: Define una zona de registro de recursos, aquí se ingresa la ruta donde se
encuentra el archivo de las zonas de resolución directa de nombres.
Después del inicio de todos los servicios necesarios para el funcionamiento de este
escenario lo siguiente es verificar que esté funcionando de manera adecuada según los
requerimientos dados. Para comprobar el comprar el correcto funcionamiento del
balanceo de carga ingresaremos a la dirección de la página web ofrecida por los
servidores de ambos centros de datos, las solicitudes serán generadas por dos usuarios
que pertenecen tanto a la lan1 (coit) como a la lan2 (PC2), así comprobaremos que la
distribución el tráfico se está gestionando mediante el mecanismo planteado.
67
Figura 4.37. Ingreso desde la lan1 a la página web.
Como se observa en la Figura 4.37 y Figura 4.38. el balanceo de carga entre los dos
centros de datos por geolocalización DNS está funcionando según lo establecido ya que
tanto el usuario de la lan1 como de la lan2 están siendo direccionados hacia el servidor
web del centro de datos mas cercanos a la localización de los mismos.
68
5 Conclusiones y Líneas Futuras de Investigación
5.1 Conclusiones
Con la realización del segundo escenario el cual se basa en el balanceo de carga entre
centros de datos por medio de geolocalización DNS se dio a conocer como a través de
69
este mecanismo se maximiza significativamente el uso de la infraestructura
geográficamente dispersa, aumentando el rendimiento al minimizar la distancia entre
los centros de datos y los solicitantes con lo que se consigue que los tiempos de carga de
páginas web sean más rápidos en diferentes regiones debido a que el servidor más
cercano es el que atiende los requerimientos , incluso a través de este mecanismo se
puede realizar gestiones específicas (actualización, personalizar los contenidos,
publicidad, etc.) para un conjunto selecto de clientes .
Durante la realización de este trabajo surgieron una serie de problemáticas entre las
que se destacan la falta de herramientas de software libre en Linux que permitan
realizar balanceo a través de geolocalización DNS, por lo que esto conllevo a que solo se
plantee el uso de Bind9 para esta gestión además de que la mayoría de información
relevante de como poder realizar la configuración para poner en funcionamiento este
mecanismo se basa principalmente en este software.
70
servidores DNS que comparten registros entre sí, con los se puede realizar
funcionalidades mucho mas completas en los centros de datos al utilizarlos en conjunto
las técnicas y algoritmos de balanceo de carga presentadas en este trabajo debido a
que a nuestros escenarios propuestos no solo que les podemos brindar una
distribución correcta de la carga de trabajo sino que se pueden implementar
mecanismos de redundancia muy fiables lo que con lleva a poseer un sistema con alta
disponibilidad lo que mejora rotundamente las prestaciones en las redes de
comunicación brindando de esta manera una mejor experiencia en los servicios
ofrecidos al usuario y las organizaciones.
71
Bibliografía
[1] Edwin Homero Yaselga, “Diseño Del Centro De Datos Para Petroecuador En
El Edificio Matriz En Base Al Estándar TIA-942-2,” Junio 2013.
[2] Jorge Maldonado Mahuad, “Diseño Del Centro De Datos Para Basado En
Estándares. Caso Práctico: Diseño Del Centro De Datos Del Colegio
Latinoamericano,” Mayo 2010
[3] Jorge Lastras Hernansanz, Javier Lázaro Requejo y Jonatan David Mirón
García, “Arquitecturas De Red Para Servicios En Cloud Computing,”
2008/2009
[5] Liliana Raquel Castillo Devoto, “Método Para El Manejo Del Balanceo De
Carga En Sistemas De Cómputo Distribuido De Alto Desempeño,”
Noviembre 2008.
[12] Anupama, “Load Balancing The Network Traffic In The Nth Mode Of
Iptables,” 2016.
[14] Yenedys Yurys Diaz Perez, Hector Andres Hoyos Millan, “Técnicas Para
Administrar Y Gestionar Redes,” 2008.
[15] Dr. Mustafa ElGili Mustafa, “Load Balancing Algorithms Round-Robin (Rr),
Leastconnection, And Least Loaded Efficiency,”, no.1, pp. 1–5, 2017.
73