Por lo que puedo ver, VXLAN (RFC 7348) es esencialmente “LAN virtuales para máquinas virtuales a través de redes IP”.
Una regla general para todas las buenas redes de superposición es reducir la latencia y la sobrecarga al mínimo necesario para completar la misión. Dado que VXLAN básicamente hace un túnel de las tramas de Ethernet a través de una red IP, el transporte lógico a utilizar debe manejar eficientemente todo tipo de tráfico de Ethernet (unidifusión, multidifusión, difusión) al tiempo que reduce la sobrecarga y la latencia al mínimo. En el mundo de IP, eso significa más o menos UDP.
Por el contrario, considere lo que sucedería si se implementara VXLAN con conexiones TCP de VM a VM. Como mínimo:
- ¿El protocolo utilizado por los sensores de puerta / ventana ADT está documentado en alguna parte?
- ¿Qué está pasando con IPv6?
- ¿Cuál es la diferencia entre el chisme y los protocolos de Paxos?
- ¿Qué significa la señalización de la capa de sesión?
- ¿Cuáles son los componentes básicos que se encuentran en las redes a la par con los estándares OSI y TCP / IP?
- enviar un solo paquete UDP de unidifusión entre dos máquinas virtuales iniciaría una configuración de conexión TCP completa (y un eventual desmantelamiento) entre los dos
- el envío de tráfico de multidifusión o difusión (por ejemplo, ARP) a través de la VLAN eventualmente daría como resultado una malla completa de conexiones TCP [matemáticas] (n (n-1) / 2) [/ matemáticas] entre cada par de máquinas virtuales, junto con la VXLAN de cada máquina virtual el tiempo de ejecución tiene que emular dichas transmisiones unidifusión a todos los demás,
- todo el tráfico sufriría la latencia impuesta por los mecanismos de transporte confiables de TCP (entrega en orden, control de flujo y congestión, retransmisión automática), completamente innecesario si las máquinas virtuales se comunican a través de TCP, completamente indeseable si están hablando UDP
En resumen, VXLAN usa UDP para el transporte porque TCP aporta demasiado a la parte de VLAN.