VXLAN
VXLAN (Virtual Extensible Local Area Network) es un protocolo de superposición de redes diseñado para transportar el tráfico de la capa de enlace (nivel 2) sobre la capa de red (nivel 3). De esta forma, se consigue transportar el tráfico Ethernet sobre las redes IP empleando la encapsulación MAC-in-UDP.
Este protocolo surgió como propuesta de varios fabricantes como Broadcom, Intel y VMWare para evitar problemas que se daban en los centros de datos donde se emplea la virtualización de servidores, ya que en muchos casos se tiene que trabajar con cientos de miles de máquinas virtuales. Trabajar con este número de máquinas virtuales tan elevado genera problemas relacionados con el tamaño de las tablas de direcciones MAC y con el número limitado de VLANs que se puede usar (VLAN ID de 12 bits, 4094 VLANs distintas).
También hay que tener en cuenta el problema que supone utilizar STP (Spanning Tree Protocol) el cual permite evitar bucles en la capa de enlace malgastando muchos recursos, ya que de todos los posibles caminos que puede haber, solo se utiliza uno.
Para superar todos estos problemas surgió la idea de desarrollar una tecnología que permitiese conectar los servidores utilizando una red IP a nivel 3. De este modo, se eliminan los problemas que supone utilizar STP y se pueden utilizar protocolos que permitan distribuir la carga de la red entre todos los enlaces. A pesar de hacer esto, sigue siendo necesario usar una red de capa 2 para la comunicación directa entre las máquinas virtuales.
Para conseguir tener esta red de nivel 2 dentro de una red de nivel 3 surgió la tecnología VXLAN. Utilizando esta tecnología se utiliza un identificador de red (VNI) de 24 bits pudiendo crear más de 16 millones de redes virtuales y eliminando de este modo el problema de escalabilidad que tienen las VLANs. Además, al usar un encaminamiento de nivel 3, desaparecen los problemas mencionados anteriormente sobre el desuso de enlaces y sobre el tamaño excesivo de las tablas de direcciones MAC.
En la siguiente imagen se puede ver la encapsulación que utiliza VXLAN:
VXLAN emplea una encapsulación MAC Address-in-User Datagram Protocol (MAC-in-UDP). A la trama original de nivel 2 que contiene la MAC origen y destino original se le añada la cabecera VXLAN. Este conjunto se introduce en el campo de datos de un datagrama UDP y se emplea IP como protocolo de nivel 3. Este paquete de nivel 3 que se manda por la red IP utiliza las direcciones MAC origen y destino de los VTEPs tras los cuales se encuentran los hosts origen y destino.
Un VTEP es una entidad que origina y termina túneles VXLAN. Esta entidad tiene dos interfaces: una conectada a la red de área local que se encarga de proveer servicio a los sistemas finales que están directamente conectados al VTEP. La otra interfaz es una interfaz IP que se encarga de encapsular las tramas del segmento de área local para poder transmitirlas sobre una red IP hacia el resto de VTEPs pertenecientes a la red virtual.
Jaume Mirada