¿Que es NSX? – parte 2

NSX

Que tal gente, continuando con los artículos de NSX, el día de hoy vamos a hablar de algo bastante interesante, ruteo en un ambiente de NSX. Estaremos entiendo cuales son los distintos tipos de routers que tenemos y que nos ofrecen:

En NSX tenemos dos tipos de routers:

  • Logical Distributed Router o también conocido como VDR
  • Edge Services Router (ESR)

Estos dos tipos de routers nos permiten tener ruteo dinámico y distribuido en nuestros clusters de NSX, vamos a darle un vistazo a cada uno de estos routers:

Logical Distributed Router

VDR es un router distribuido a nivel de los hosts ESXi, esto a través de un módulos de kernel que permite que el ruteo o manejo de paquetes “East/West”o “intra cluster” o de VMs hacia servidores externos (ej. una base de datos) suceda principalmente a través del hipervisor, el beneficioScreen Shot 2013-12-17 at 7.36.32 PM para este tipo de tráfico “intra hosts” es enorme ya que se manejan latencias muy bajas y velocidades de transmisión bastante altas.

El “Data Plane” o donde suceden los I/Os es en los servidores ESXi, mientras que el plano de control se encuentra en una VM llamada controller, mas adelante estaremos viendo una imagen donde nos quedará mas claro como es la interacción del plano de control con el plano de I/O distribuido en los servidores ESXI.

 

Una vez que definimos a grandes rasgos que es el Logical Distributed Router vamos a entender algunos conceptos clave para poder avanzar y hablar del path de I/O:

  • Logical Router Port – este puerto del Logical Distributed Router es creado en cada host que pertenece al VDS.
  • vMAC – esta es la MAC Adress del Logical Router Port, es la misma para todos los Hosts.
  • Logical Interfaces (LIFs) – esto es básicamente la IP que se asigna al logical Router Port, y en conjunto con la vMAC forman la interfaz de comunicación por cada host, nuevamente esta información (IP y vMAC) es exactamente igual en todos los hosts con excepción de una LIF que este conectada directamente a un uplink, donde se tendrá una MAC address única (pMAC).
  • pMAC – esta MAC address física se le asigna a los LIFs conectados hacia el ambiente físico, por ejemplo, a una VLAN. No es la misma MAC de la interfaz de red física que utilizan para poder salir y se tienen MAC addresses únicas por cada host que tenga una LIF conectada a un VLAN/subnet física.

Una vez dejado en claro estos términos es momento de explicar algo que a mi me costo ¡MUCHO! entender y esto es el como funciona el ruteo en este logical distributed router si tenemos mismas MAC addresses e IPs (con excepción de la LIF conectada al ambiente físico), no pude encontrar mejor explicación en la red que la que nos comparte Brad Hedlund en su artículo “Distributed virtual and physical routing in VMware NSX for vSphere”

Para explicar esto voy a utilizar la siguiente imagen:

Screen Shot 2013-12-18 at 12.56.14 AMAquí podemos ver a MUY alto nivel como estarían conectados los hosts ESXi a los distintos vWires de VXLAN, en este caso tenemos 2 VXLANs y un transport zone que se extiende en ambos hosts que forman parte del VDS, como podemos ver por cada VXLAN tenemos una LIF de host ESXi, (notese mis capacidades avanzadas para diagramas 😀 jajaja) en el caso del LIF para la VXLAN 5005 ambos hosts utilizan la misma IP que es 192.168.5.1, mientras que para la VXLAN 5006 ambos LIFs tienen la IP 192.168.6.1. Ahora viene lo interesante ¿Como es que puede rutearse los paquetes teniendo la misma IP y la misma MAC? En el caso que se encuentren en distintos hosts pero en la misma VXLAN la comunicación sería directa ya que al final del día estan en la misma red, pero por ejemplo, si la VM1 que reside en el host ESXi1 quisiera hablar con la VM4 que reside en el host ESXi2 y que además no esta en el mismo vWire de VXLAN lo que sucedería es lo siguiente:

  1. VM1 tendría que consultar con su default gateway que siempre será la LIF conectada a la VXLAN en cuestión, por lo que estaría comunicándose con la IP 192.168.5.1
  2. Al no tratarse de la misma VXLAN el módulo de kernel del Logical distributed router se encargará de realizar el ruteo de paquetes entre el LIF de la VXLAN 5005 al LIF de la VXLAN 5006 terminando así los paquetes en la VM4

Ahora, en el caso que necesitemos ruteo entre una VXLAN en nuestro ambiente VMware hacia una VLAN en nuestro ambiente físico o virtual las cosas cambian un poco, para este caso estaremos utilizando la siguiente imagen:

Screen Shot 2013-12-18 at 1.32.25 AM

Podemos ver que en la imagen se agregan otros 2 LIFs, que básicamente son los que se conectan a la VLAN física a través de un uplink, el NSX controller  decide que host será la instancia designada y esta información es enviada a todos los hosts ESXi, la DI o designated instance tiene la responsabilidad de resolver a través de ARP, por lo que una vez decidida la DI para la VLAN en especifico (en este caso 101) la única que podrá resolver a través de ARP en dicha VLAN es ella, puede darse el caso en la que un host sea DI para una VLAN y para otra VLAN no sea así.  Entonces veamos los casos en los cuales una VM quiere entablar una comunicación con el host físico y vice versa:

  • VM —> físico : en este caso la VM contactará a su gateway, por ejemplo, si se trata de la VM1 contactaría al LIF con IP 192.168.5.1, el host ESXi1 no tiene la DI para el LIF de VLAN por lo que no puede utilizar el LIF de VLAN y realizar un ARP para determinar donde esta el host físico, en este caso tendrá que pedirle apoyo a al Designated Instance (DI) para realizar el ARP, una vez que el DI tiene la información de el host físico se la envía al LIF para dicha VLAN en el host donde reside la VM que en nuestro caso sería host ESXi1 por lo que ya puede entablar la comunicación directa hacia el host físico.
  • Fisico —> VM :este es el caso contrario, aquí quien estaría enviando el ARP para poder determinar la información de la VM sería el host físico en la VLAN 101, por lo quien recibiría este ARP es el DI que esta en el host ESXi2, este DI responde con su MAC address a dicho host físico y se entabla la comunicación. Cuando los paquetes llegan al DI los envia hacia la VM ya sea localmente o a través de VXLAN.

*Se manejan las pMACs tanto para el DI como los LIFs no designados que están conectados a la VLAN 101, por lo que en este caso las MACs son distintas.

Les recomiendo ampliamente leer el blog de Brad Hedlund de manera constante, Brad es Engineering Architect para la la NSBU  (Networking & Security Business Unit) de VMware por lo que si quieren entender a mucha mas profundidad temas de networking ese blog debe de ser un “must” en nuestra lista de lectura.

http://bradhedlund.com

Estén atentos para el siguiente articulo donde estaré hablando sobre el Edge Services Router y como se ve la “imagen completa” de ambos routers.

 

Leave a Reply