CLIENTICMP Echo RequestICMP Echo ReplySERVER8.4 ms

Silbido

9 lectura mínimaDiagnóstico

Ping es la herramienta de red más pequeña que hace algo útil. Envía un paquete, espera una respuesta, mide el tiempo. El número que obtienes es el tiempo de ida y vuelta, y la brecha entre este y cero es donde reside toda forma de lentitud en línea. Vale la pena saber qué hay en esa brecha.

El cuerpo completo del artículo se proporciona en inglés a continuación.

Ping lleva el nombre del sonar submarino: envías un pulso y escuchas el eco. En Internet, el pulso es un paquete de solicitud de eco ICMP y el eco es una respuesta de eco ICMP. La latencia de ida y vuelta le indica qué tan lejos está el destino en términos de red. La herramienta fue escrita por Mike Muuss en diciembre de 1983 en aproximadamente mil líneas de C; se ha incluido prácticamente en todos los sistemas operativos desde entonces.

Qué es realmente ICMP Echo

ICMP (Protocolo de mensajes de control de Internet) es el protocolo para enviar mensajes de error y control sobre el tráfico IP. La solicitud de eco (ICMP tipo 8) y la respuesta de eco (tipo 0) son dos tipos de mensajes específicos que se utilizan para las pruebas de accesibilidad. Cuando haces ping a un host, tu sistema operativo envía una solicitud de eco; si la pila de red del host lo recibe, el kernel responde automáticamente con una respuesta de eco, sin necesidad de participación de la aplicación. campos:

  • 64 bytes: tamaño total del paquete, incluido el encabezado ICMP (predeterminado).
  • icmp_seq=1: número de secuencia, utilizado para identificar caídas y fuera de orden replies.
  • ttl=58: valor TTL a la llegada. El valor enviado predeterminado (normalmente 64 o 128) menos el número de saltos le indica qué tan lejos está el destino.
  • time=8.42 ms: tiempo de ida y vuelta.

El resumen al final de una ejecución de ping muestra el porcentaje de pérdida de paquetes, min/avg/max/mdev RTT: las métricas que importa para la usabilidad de una conexión.

De qué está hecho el "retraso"

El tiempo de ida y vuelta es la suma de varios retrasos distintos:

  • Retraso de propagación: distancia física a través del medio, aproximadamente 5 microsegundos por kilómetro en fibra. De Nueva York a Londres hay un mínimo de aproximadamente 60 ms debido únicamente a la física.
  • Retraso de serialización: tiempo para insertar los bits en el cable a velocidad de línea. Insignificante en enlaces modernos para paquetes pequeños.
  • Retraso en cola: tiempo de espera en los buffers del enrutador detrás de otro tráfico. Altamente variable; esto es lo que produce la "congestión de la red".
  • Retraso de procesamiento: tiempo que tarda el enrutador o la CPU del host en examinar y reenviar el paquete. Por lo general, aproximadamente un microsegundo por enrutador moderno.

El RTT mínimo está limitado por la física (propagación) y la sobrecarga del protocolo. La variación proviene principalmente de las colas. Un ping que rebota entre 8 ms y 80 ms no está roto: está congestionado en algún lugar del camino.

Pérdida de paquetes

Si ping informa una pérdida de paquetes del 5% hacia un destino, no significa que el 5% del tráfico de su aplicación desaparezca. TCP retransmite paquetes perdidos. Las aplicaciones UDP retransmiten en la capa de aplicación (videollamadas) o aceptan la pérdida (juegos). Lo que significa una pérdida del 5%: el rendimiento de TCP se desmorona, porque cada pérdida desencadena una retransmisión y una reacción de control de congestión. Incluso una pérdida del 1% puede reducir el rendimiento de TCP en un factor de 10 en un enlace de latencia larga.

Cuando el ping miente

Muchas redes despriorizan el tráfico ICMP. Un enrutador podría procesar ICMP en una CPU de plano de control más lenta que el tráfico de datos. Por lo tanto, es posible un ping que informe 80 ms mientras que su tráfico de datos real obtiene 8 ms. También es posible lo contrario: ICMP pasa por una ruta que interrumpe el tráfico TCP real debido a discrepancias de MTU o firewalls con estado.

Ping es una pista, no una medida del rendimiento de la aplicación. Para verificaciones de un extremo a otro, utilice el protocolo de aplicación en sí.

Ping inundaciones y limitación de velocidad

El ping predeterminado envía un paquete por segundo. Agregar -f (inundación) envía tan rápido como la red puede manejar, lo que en ocasiones es útil para probar su propio equipo y, de lo contrario, es una forma de que los ISP le limiten la velocidad. La mayoría de los sistemas operativos requieren que root/administrador haga ping más rápido que una vez por segundo para evitar abusos. jitter.

  • ping -i 0.2 host: intervalos de 200 ms; más detallado para detectar congestiones breves.
  • ping -s 1472 host: la carga útil grande revela problemas de MTU que los pings pequeños ocultan.
  • ping6 host o ping -6: fuerza IPv6, útil para probar si las rutas IPv4 e IPv6 difieren.
  • Preguntas frecuentes

    ¿Por qué no puedo hacer ping a algunos servidores?
    Muchos servidores y CDN bloquean ICMP Echo por completo. Cloudflare y Akamai lo hacen para algunos puntos finales; Microsoft lo hace con algunos servidores Outlook; Muchos firewalls corporativos eliminan todo ICMP. El servidor está bien; El ping simplemente está bloqueado. Utilice <code>tcpping</code> o <code>nc -z</code> en el puerto de servicio real.
    ¿Qué es un buen ping?
    Para juegos o videollamadas: menos de 50 ms es excelente, entre 50 y 100 ms es aceptable, más de 150 ms son perceptibles. Para la navegación web general, cualquier valor inferior a 100 ms se siente ágil. Para el tráfico transpacífico, 150 a 200 ms es el mínimo de velocidad de la luz; ninguna VPN o ISP cambia eso.
    ¿Una VPN afecta el ping?
    Sí, casi siempre para peor. Su tráfico ahora se desvía a través del servidor de salida de la VPN antes de llegar al destino. La distancia física agregada más el procesamiento del servidor VPN generalmente agrega entre 10 y 80 ms. Elija una salida de VPN cerca del destino, no cerca de usted, para obtener la latencia de juego/transmisión más baja.
    ¿Cuál es la diferencia entre ping y traceroute?
    Ping mide el RTT de un extremo a otro hacia un destino. <a href="/learning/traceroute">Traceroute</a> mide RTT a <em>cada enrutador</em> a lo largo de la ruta. Utilice ping para confirmar que se puede llegar a un destino; Utilice traceroute para averiguar en qué parte de la ruta se encuentra el problema.
    ¿Por qué mi ping es irregular en Wi-Fi pero estable en cable?
    Wi-Fi comparte el medio entre dispositivos cercanos y el AP. Cuando el microondas del vecino funciona o alguien más transmite una película, sus paquetes se ponen en cola. Las conexiones por cable no comparten el medio local y rara vez experimentan este tipo de microcongestión. El ping puntiagudo en Wi-Fi es normal; Los picos constantes significan que el entorno local está congestionado.
    Ping explicado: eco ICMP, tiempo de ida y vuelta y lo que realmente significa "retraso"