Para comprobar la disponibilidad de un ordenador, Ping envía, en la configuración estándar, cuatro paquetes de solicitud de eco ICMP de 32 bytes cada uno a la dirección entregada como parámetro.
ICMP (Internet Control Message Protocol) es un protocolo que sirve para intercambiar información y avisos de error en redes IPv4. Para las redes de ordenadores basadas en IPv6, está disponible el protocolo sucesor ICMPv6.
En teoría, los ordenadores que soportan ICMP o ICMPv6 deben responder automáticamente con una respuesta eco ICMP a la solicitud de eco entrante de acuerdo con la especificación de protocolo. En la práctica, esto no siempre funciona, ya que algunos administradores configuran, por motivos de seguridad, la administración de su ordenador de tal forma que los paquetes ICMP son rechazados sin respuesta. De la falta de respuesta a una solicitud ICMP no se puede deducir obligatoriamente una no accesibilidad del ordenador de destino.
Si el ordenador de destino seleccionado no responde, ICMP prevé una respuesta del gateway responsable. Por lo general en este caso, un router responde que la red o el host correspondiente no están disponibles.
Si no llega una respuesta del router, se da por hecho que, aunque el ordenador está disponible, no se responde de forma automática a la solicitud de eco debido a su configuración.
El comando ping entrega la siguiente información:
- Tiempo de respuesta en milisegundos (ms)
- Periodo de validez de los paquetes ICMP (Time to Live, TTL) (solo con IPv4)
El tiempo de respuesta indica cuánto tiempo necesita un paquete de datos para ir al ordenador de destino y volver. El periodo de validez indicado como TTL corresponde al tiempo de expiración de un paquete de datos. El valor inicial es de máximo 255. Son habituales implementaciones con un TTL inicial de 31, 63 o 127. El TTL se ve disminuido en una unidad por cada nodo de red por el que pasa el paquete de datos. En este caso se habla de hops (saltos). Si el TTL disminuye a 0, entonces se rechaza el paquete de datos.
El TTL que recibes como información se corresponde, por lo general, con el valor inicial del ordenador que responde menos el número de saltos en la ruta.
En el caso de un TTL de 58, por ejemplo, puedes dar por sentado que el paquete de respuesta se envió con un valor inicial de 63 y al regresar ha pasado por 5 nodos de red.