¿Medida de retardo unidireccional?

¿Existe una herramienta (óptimamente gratuita) para medir One-Way-Delay ?

El caso de uso es verificar si el tráfico de red se retrasó por f.ex. tcestá fluyendo como debería.

Como mínimo, se debe llamar a la aplicación con la dirección IP de un host e informar los retrasos en cada dirección. Es totalmente aceptable iniciar un servidor en el host de destino.

Debería ejecutarse en Linux (al menos virtualizado) . Ayudaría si fuera gratis.

Hay f.ej. un RFC de 2016 que se ocupa de esto y de esta pregunta de cs.SX. ¿Alguna herramienta que lo implemente u otras herramientas de medición de demora?

Nota: ping y traceroute no son respuestas válidas, no miden el retraso unidireccional.

Respuestas (1)

El problema es que hay dos relojes diferentes funcionando en cada extremo, la marca de tiempo en el otro extremo siempre estará hasta cierto punto desfasada con la marca de tiempo en el extremo de envío. Como usted dice, tracert efectivamente hace un viaje de ida y vuelta a cada nodo que el mensaje toma a lo largo de la ruta, ya que cada nodo responde al originador y transmite el mensaje.

A menos que pueda conectar ambos extremos directamente a un estándar de tiempo como el reloj atómico que tiene un tiempo sincronizado garantizado, lo mejor que puede hacer es intercambiar valores de tiempo entre las dos máquinas varias veces y establecer la variabilidad en el diferencias, es decir, si en una ocasión la diferencia entre los dos tiempos es de 1,03 milisegundos y la siguiente es de 3,02 milisegundos, entonces una máquina tiene un reloj deficiente y/o una cola de manejo de mensajes especialmente probable si una o ambas son máquinas con Windows o la red se retrasa ha cambiado.

No es realmente una respuesta, pero es demasiado larga para un comentario.

¿Qué tal para dos hosts Linux con tiempo ntp?
@MK Estoy razonablemente seguro de que no obtendrá la precisión requerida de sincronización entre relojes a menos que ambos servidores estén conectados al mismo servidor de tiempo con longitudes de cable aproximadamente iguales.
¿Qué tal si ambas son máquinas virtuales que se ejecutan dentro del mismo host? (la pregunta ha sido actualizada)
@MK, incluso entre dos máquinas virtuales en un solo host, existe la posibilidad de alguna variación entre el tiempo de servicio de las solicitudes, que probablemente sería de un orden de magnitud similar al retraso a través de la red virtual entre las dos máquinas virtuales. También sospecho que la resolución de tiempo en muchas plataformas sería insuficiente para calibrar esos tiempos.
Ok, entonces esta respuesta parece ser: no funcionará a menos que use una configuración de hardware especial.