Traceflow inyecta paquetes en el puerto de una instancia de vSphere Distributed Switch (VDS) y ofrece varios puntos de observación en toda la ruta que sigue el paquete en las entidades físicas y lógicas (como hosts ESXi, conmutadores lógicos y enrutadores lógicos) en las redes superpuestas y subordinadas. Esto permite identificar qué ruta (o rutas) toma un paquete para llegar a su destino o, de manera inversa, en qué parte del trayecto se descarta un paquete. Cada entidad informa sobre la entrega del paquete en la entrada y la salida, por lo que es posible determinar si se producen problemas al recibir un paquete o al reenviarlo.
Tenga en cuenta que una instancia de Traceflow no es lo mismo que la respuesta o la solicitud de ping que va de una pila de la máquina virtual invitada a otra. Lo que Traceflow hace es observar un paquete marcado mientras atraviesa la red superpuesta. Cada paquete se supervisa mientras atraviesa la red superpuesta hasta que llega a la máquina virtual invitada de destino y se pueda entregar en esta. Sin embargo, el paquete inyectado de Traceflow nunca se entrega a la máquina virtual invitada de destino. Esto significa que una instancia de Traceflow se puede entregar correctamente cuando la máquina virtual invitada esté apagada.
Traceflow admite los siguientes tipos de tráfico:
- Unidifusión de Capa 2
- Unidifusión de Capa 3
- Difusión de Capa 2
- Multidifusión de Capa 2
Puede construir paquetes con campos de encabezado y tamaños de paquete personalizados. El origen de Traceflow siempre es una NIC de máquina virtual (vNIC). El extremo de destino puede ser cualquier dispositivo de la red superpuesta o subordinada de NSX. Sin embargo, no puede seleccionar un destino que esté por encima de una puerta de enlace de servicios de NSX Edge (ESG). El destino debe estar en la misma subred o debe ser accesible mediante enrutadores lógicos distribuidos de NSX.
La operación de Traceflow se considera de Capa 2 si las vNIC de origen y destino están en el mismo dominio de Capa 2. En NSX, esto significa que están en el mismo identificador de red de VXLAN (identificador de segmento o VNI). Esto sucede, por ejemplo, cuando hay dos máquinas virtuales conectadas al mismo conmutador lógico.
Si el puente de NSX se configura, los paquetes de Capa 2 desconocidos se envían siempre al puente. Normalmente, el puente reenvía estos paquetes a una VLAN e informa de que el paquete de Traceflow se ha entregado. El hecho de que un paquete se marque como entregado no implica necesariamente que el paquete de seguimiento se haya entregado al destino especificado.
Para el tráfico de unidifusión de Traceflow de Capa 3, los dos extremos están en conmutadores lógicos diferentes y tienen VNI diferentes conectadas a un enrutador lógico distribuido (Distributed Logical Router, DLR).
Para el tráfico de multidifusión, el origen es una vNIC de máquina virtual y el destino es una dirección de grupo de multidifusión.
Las observaciones de Traceflow pueden incluir las observaciones de los paquetes difundidos de Traceflow. El host ESXi difunde un paquete de Traceflow si no conoce las direcciones MAC del host de destino. Para el tráfico de difusión, el origen es una vNIC de máquina virtual. La dirección MAC de destino de Capa 2 para el tráfico de difusión es FF:FF:FF:FF:FF:FF. Si desea crear un paquete válido para la inspección de firewall, la operación de Traceflow de difusión requiere una longitud de prefijo de subred. La máscara de subred permite que NSX calcule una dirección de red IP para el paquete.
Hay dos maneras de utilizar Traceflow: mediante la API y con la interfaz gráfica de usuario. La API es la misma que utiliza la interfaz gráfica de usuario, salvo que la API permite especificar la configuración exacta dentro del paquete, mientras que la interfaz gráfica de usuario tiene una configuración más limitada.
La interfaz gráfica de usuario permite establecer los siguientes valores:
- Protocolo: TCP, UDP, ICMP.
- Tiempo de vida (TTL). El valor predeterminado es 64 saltos.
- Números de puerto de origen y destino TCP y UDP. El valor predeterminado es 0.
- Marcas TCP.
- Número de secuencia e identificador ICMP. De forma predeterminada, ambos valores son 0.
- Un tiempo de espera de expiración, en milisegundos (ms), para la operación de Traceflow. El valor predeterminado es 10.000 milisegundos.
- Tamaño de la trama Ethernet. El valor predeterminado es 128 bytes por trama. El tamaño de trama máximo es 1.000 bytes por trama.
- Codificación de carga útil. El valor predeterminado es Base64.
- Valor de carga útil.