medir latencia unidireccional / jitter / pérdida de paquetes

10

Estoy obteniendo una mayor latencia y StDev debido a la congestión de la ruta y la pérdida de paquetes , pero las rutas hacia adelante y hacia atrás van a través de redes distintas (por ejemplo, una es init7.net, la otra es he.net), por lo que es muy difícil de entender qué red o host es responsable de la congestión, la pérdida de paquetes, la fluctuación y el aumento de la latencia.

¿Hay alguna forma de reducir la culpa después de que la función de avance y retroceso mtrno logra identificar al culpable exacto, y los contactos NOC @ no responden o afirman no sufrir ninguna pérdida en el camino en cuestión? (Estoy usando OpenBSD).

Incluso he intentado hacer una visita mtrdirecta a algunos clientes de las dos redes que podrían estar experimentando la congestión, pero realmente no pude encontrar ningún problema de esa manera, especialmente porque, por ejemplo, he.net tiene muchos POP y, a menudo Se toman distintas rutas entre un POP de entrada y de salida dado, por lo que cuando intento mtracceder a sus hosts (como el tserv) directamente en el POP de salida al que podría estar perdiendo paquetes en su red, se toma una ruta diferente de he.net para llegar el mismo POP, y no se produce pérdida de paquetes, lo que no prueba nada de interés (aparte de una posible sugerencia de que en realidad podrían sobrecargar algunas rutas, al tiempo que garantiza que otras permanezcan sin congestionarse, todo mientras ignora las solicitudes de NOC @ de los no clientes).

cnst
fuente
¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:

9

Una forma de hacerlo es ICMP Timestamp, que es milisegundos desde la medianoche UTC. Tiene el beneficio adicional de que no necesariamente necesita controlar ambos extremos, siempre y cuando el extremo lejano no tenga firewall, hay muchas posibilidades de que funcione.

Sin embargo, para tener mediciones unidireccionales confiables, necesita confiablemente el mismo tiempo en ambos extremos. Como la marca de tiempo ICMP solo tiene una precisión de 1 ms (que no es suficiente para muchas aplicaciones, pero es suficiente para esto) es razonablemente fácil encontrar incluso hosts no cooperantes donde la marca de tiempo ICMP proporcionará datos útiles.

Si controla ambos extremos, asegúrese de sincronizar NTP con solo 1 servidor y el mismo servidor. El reloj absoluto no es muy importante, solo es importante que experimente lo más cerca posible al mismo tiempo.

Si la marca de tiempo ICMP no es suficiente, es muy fácil escribir 10 líneas de ruby ​​/ perl / python o incluso C para hacer mediciones cuando controlas ambos extremos.

Realmente no puedo sugerir software para realizar mediciones de marca de tiempo ICMP unidireccionalmente, hping2 admite el envío de marca de tiempo ICMP, pero por alguna razón no genera valores unidireccionales. Escribí el parche para hping2 para mostrar latencias unidireccionales.

ytti
fuente
¡Vaya, tu hping --icmp-tsaritmética extra es tan increíble! Demasiado perezoso para obtener las fuentes y recompilar el binario, obtuve una versión de shell de su parche hping ( stackoverflow.com/q/20172028/1122270 ), y muestra un tiempo bastante constante sobre el camino init7 a hetzner, y un ¡varianza en todo el mapa con la ruta he.net desde hetzner! ¡Finalmente tengo una prueba definitiva de que init7 dice la verdad! Aunque argumentaría en contra de usar el mismo servidor ntp solo por esto: solo asegúrese de que un ntpd esté vivo (no tuve que cambiar ninguna configuración, pero los valores parecen razonables).
Cnst
1
Si le preocupa el tiempo exacto de la pared, querrá al menos 3 servidores NTP (para poder detectar falsos ticker, 2 servidores NTP es la peor opción que podría hacer). Pero aquí no nos importa el tiempo de la pared, nos importa marcar exactamente en el mismo reloj, independientemente de la pared. Entonces, para la medición de 1 vía, los resultados óptimos provienen de un reloj preciso, ya que el tiempo de pared es irrelevante. ¡Me alegra saber que obtuviste resultados!
ytti