domingo, 16 de octubre de 2011

Arquitectura MultiDataCenter – Extensión de red L2

"Esta es la primera de una serie de entradas sobre el diseño de infraestructuras multi-DataCenter (red, almacenamiento y sistemas). En este caso se trata de aclarar la extensión de VLANs y direccionamientos a lo largo de varios Centros de Datos, o también llamado extensiones de Data Center (DCI)"
 
Aunque existen argumentos en contra de la extensión L2 de los Data Centers relacionados con las restricciones de latencia y ancho de banda que se encuentran en los enlaces inter-DC, o los costes asociados al despliegue de estas arquitecturas, se pretende dar un repaso a los principales conceptos relacionados con estas topologías.
 
Como primer paso hay que aclarar el origen de la necesidad de expandir una misma red a lo largo de varios Data Centers, entre los más destacables se encuentran:
  •   Movilidad de cargas: Pensando en un despliegue de infraestructura de servidores virtualizados, al disponer de una misma red extendida, se pueden transferir máquinas virtuales de un Data Center a otro, sin las complicaciones de terceras herramientas o complicados sistemas de reconfiguración automática de servidores virtuales, posibilitando el reparto de cargas (Data Centers activo-activo) y el máximo aprovechamiento de recursos.
  • Prevención de desastres y continuidad de sistemas: En caso de un desastre en uno de los centros, se pueden restablecer los servicios en un tiempo mínimo gracias a la posibilidad de creación de clusters extendidos entre varios Data Centers
  • ·Minimizar el tiempo de parada: Esta ventaja es, en realidad, la suma de las dos anteriores. Al disponer de varios Centros de Datos activos, se pueden balancear los servicios prestados por un Data Center a otro diferente ante posibles actuaciones programadas que requieran parada de uno de estos centros.


Aislamiento de caminos

Antes de abordar las topologías y los protocolos asociados es necesario aclarar un concepto importante, el aislamiento de caminos en los enlaces de interconexión de Data Centers.

Cada vez más a menudo es necesario llevar a cabo una virtualización de la red, desde la creación de redes paralelas que presten acceso a Internet a los usuarios “invitados”, la segmentación departamental o la provisión de redes a varios clientes bajo una misma infraestructura. Esta diferenciación es necesario que se conserve en el enlace que une los Centros de Datos distribuidos.

Para llevar a cabo esta virtualización de manera sencilla se puede realizar un diseño con varios VRFs, de manera que se crearía un VRF por cada zona, a la cual se asociarían las diferentes redes/VLANs. Para aislar cada uno de los caminos en la interconexión de los Data Center se podría utilizar un enlace físico para cada uno de ellos, pero esto no sería eficiente y en la práctica se deben utilizan otras técnicas de virtualización del enlace. Si el enlace entre los Data Centers tiene más de un salto, se debe realizar algún tipo de túnel o recurrir a funcionalidades proporcionadas por los protocolos de interconexión de los Centros de Datos. 


Protocolos y topologías

Tradicionalmente se han extendido las VLANs de cada DC mediante protocolos como Frame-Relay o ATM, ya que el concepto de VLAN puede ser similar al conseguido mediante DLCIs y PVCs. También se han utilizado las llamadas Metro-Ethernet que es una VPN L2, en la que la red del proveedor transporta tramas Ethernet y donde las direcciones MAC son usadas para determinar el encaminamiento. Estos enfoques tienen como principal problema la escalabilidad y el aporte de servicios añadidos como QoS, encriptación, etc, por lo que actualmente suelen utilizarse otros protocolos como MPLS, como se verá a continuación.

La solución adoptada depende de varios factores fuera del dominio meramente técnico, como el coste o la disponibilidad del servicio por parte del proveedor, por ello se van a plantear la tres posibilidades de interconexión que puede proporcionar el ISP, apuntando a sus ventajas y deficiencias:

  • Conectividad a nivel 1
    También llamada conectividad sobre fibra oscura, es el método más sencillo de despliegue pero no siempre está disponible, además hay que contar con el elevado coste de esta solución. 

    Al ser conectividad L1, puede ser utilizada para también extender la SAN.

    Puede ser utilizada tanto para arquitecturas de Data Center punto a punto como para topologías multipunto, gracias a la formación de anillos DWDM.
  • Conectividad a nivel 2
Este método suele ser utilizado cuando no se puede disponer de fibra oscura ya sea por precio, disponibilidad o distancia entre Data Centers.

El protocolo utilizado más extensamente es MPLS ya que permite el aislamiento de caminios en el enlace mediante la utilización de etiquetas y por su capacidad de proveer conexiones del tipo any-to-any sin tener que mantener múltiples conexiones punto a punto.

Existen dos aproximaciones para realizar la conexión a nivel L2: Ethernet over MPLS (EoMPLS), para entornos punto a punto; y Virtual Private VLAN Service (VPLS), para multipunto.

Con EoMPLS  los operadores pueden ofrecer conectividad con servicios LAN transparentes garantizados, escalables y seguros. Además con el aprovisionamiento dinámico de MPLS, se mejora la gestión y manejabilidad de los túneles, reduciendo los problemas relacionados con su despliegue a gran escala.
EoMPLS permite, además, ofrecer gran ancho de banda a un coste menor, lo que unido a los mecanismos de QoS extremo a extremo garantizan el rendimiento de los servicios desplegados.

Mientras que EoMPLS es utilizado en entornos punto a punto, cuando existen varios DC el protocolo elegido es VPLS. Este protocolo forma un grupo de virtual switch instances (VSI), conectados utilizando Ethernet over MPLS en una topología full-mesh, consiguiendo actuar como un único switch general para todos los DC.

Aun así existen varios problemas de los vpls basadas en VLAN como la limitación del número de VLANs 4094 VLANs o la limitación de direcciones MAC que pueden gestionar, así como el tiempo de convergencia ante fallos o la transmisión de tráfico multicast.
  • Conectividad de nivel 3
    Esta debería ser la última opción, debido a sus problemas de rendimiento (latencia, jitter, etc), ya que consiste en el encapsulamiento de los anteriores protocolos en un túnel GRE.

    Al existir este encapsulamiento adicional se deberá tener en cuenta que es necesario, para minimizar el efecto de la fragmentación de paquetes, disminuir el MTU de los Data Centers debido a la adicción de cabeceras que supone el protocolo GRE.

    Existen nuevas alternativas, como la nueva versión del protocolo L2TP, el denominado L2TPv3 que permite la multiplexación de enlaces punto a punto (pseudowires), del mismo modo que MPLS, además de aportar otras funcionalidades que minimizan el riesgo de creación de “blackholes” en el tráfico


Problemas a tener en cuenta

Tras abordar las topologías de Data Centers con redes expandidas, es necesario conocer los principales aspectos a tener en cuenta en el diseño de este tipo de soluciones: 

  • ·         Aislamiento de protocolo Spanning-Tree
Es importante que cualquier problema L2 quede contenido en un único Data Center, por lo que el protocolo STP sea suprimido en los enlaces inter-site.
Este aislamiento también beneficia al rendimiento, ya que se no se extenderán los paquetes TCN producidos por los cambios de topología a nivel 2,  y cuyo efecto es la disminución del temporizador de la tabla CAM, provocando aumentos en el consumo de CPU por parte de los switches e incluso la pérdida de paquetes.
  • ·         Prevención de bucles extremo a extremo
Al no disponer de protocolo Spanning-Tree  entre los DC (punto anterior) puede provocarse un bucle a nivel 2, por lo que hay que confiar en técnicas que eviten esta posibilidad, como los agregados de enlace en topologías punto a punto.
Por otro lado, aunque se eviten bucles con agregados en arquitecturas punto a punto, o  mediante los procedimientos del protocolo de interconexión (IP, MPLS, etc), puede existir un bucle global generado por la interconexión de varios DC mediante enlaces dobles, como puede verse a continuación:

Ilustración 1 – Bucle inter-DataCenter

Para evitar estos bucles existen tecnologías que pueden ser utilizadas, como por ejemplo VSS, o la utilización de la técnica de semáforos, mediante la cual solo uno de los uplinks del Data Center está activo, por lo que no pueden existir este tipo de bucles.
La metodología de semáforos utiliza la técnica de N-PE en backup, utilizando el Embedded Event Manager (EEM) para asegurarse de que solo uno de los nodos está activo por cada VLAN.
  •            Blockholes

    Es importante propagar la caída del enlace pseudowire o los enlaces externos a los nodos que forman
    parte de la capa de agregación, por ejemplo extendiendo el fallo a los puertos configurados como
    MPLS port-mode,  para que no se formen blackholes. En las plataformas Cisco existen varios
    métodos, dependiendo de la plaforma, como la funcionalidad Remote Ethernet Port Shutdown de los
    routers ASR1000 o la utilización del EEM por parte de los Catalyst 6500, a parte del track en los
    grupos HSRP.
  • ·         Optimización de rutas
Existe un problema claro al extender la capa 2 a lo largo de múltiples Data Centers y es la utilización de rutas no optimizadas al enviar paquetes al Gateway por defecto que reside en el Data Center remoto, no en al que está situado localmente, tal y como puede comprobarse en el siguiente esquema:


Ilustración 2 –Rutas sub-óptimas

Para mejorar este esquema se podrían formar grupos de VLANs y balancear entre los dos centros pero, si lo que se desea es suprimir estas rutas no optimizadas, existe la posibilidad de crear listas ACL que impidan la comunicación entre las direcciones MAC de los nodos HSRP, de tal manera que la IP virtual de default Gateway sea conservada a la vez por nodos residentes en diferentes Data Center, permitiendo que siempre el Default Gateway esté situado localmente. 


Nuevos protocolos

Debido al “fenómeno Cloud”, existe bastante innovación en tecnologías relacionadas con la interconexión de Centros de Datos, algunas de ellas provenientes del sector Open Source, aunque todavía tengan muy poco recorrido, como Quantum (http://wiki.openstack.org/Quantum) que forma parte del conglomerado de tecnologías OpenStack, pero una de las más interesantes es la desarrollada por Cisco para su gama de productos Nexus 7000 llamada Overlay Transport Virtualization (OTV).

OTV proporciona un medio de transporte L2 a lo largo de una infraestructura IP introduciendo el concepto de MAC routing mediante la compartición de un plano de control distribuido por la plataforma que actualiza la información de las direcciones MAC conectadas a cada Site, de modo que se limita el flooding de paquetes L2 por la infraestructura.

También con OTV se elimina la necesidad de creación de circuitos virtuales (pseudowires), lo que aporta cierto grado de flexibilidad e independencia de los protocolos subyacentes, tiene medios internos para evitar los bucles inter-site y mejora los tiempos de failover y el tratamiento del tráfico multicast.
También es remarcables que posee la capacidad de realizar el filtrado automático del tráfico FHRP, por lo que no hay que recurir al método mostrado en el punto anterior para evitar las rutas subóptimas al default Gateway.