15. Ping

Una prueba de conectividad se puede realizar con el comando ( aplicación Ping).
Emite un Echo Request y recibe un Echo Reply.

Echo Request
El Echo Request (Petición eco) es un mensaje de control que se envía a un host con la expectativa de recibir de él un Echo Reply (Respuesta eco). Esto es conocido como Ping y es una utilidad del protocolo ICMP, subprotocolo de IP. Todo host debe responder a un Echo Request con un Echo Reply que contenga exactamente los mismos datos que el primero.

El ping usa los mensajes Echo ICMP. Si el host está disponible, el host de destino responde con una respuesta de Echo. Este uso de los mensajes ICMP Echo es la base de la utilidad ping.

Si ejecutamos ping -c 3 <- "-c 3" esun argumento que indica a la aplicación que emita cantidad 3 Echo Request.





Es importante entender que el tiempo que presenta el ping en pantalla.
Podemos ver la cantidad de paquetes transmitidos, perdidos y el rtt ( round time trip ) mínimo, promedio y máximo.

Este tiempo normalmente es asociado con la latencia de la red, indicador de la lentitud de la red, pero como dijimos el ping es una aplicación, y como todo proceso conlleva un tiempo de procesamiento.
Es por eso que el ping es un indicador de tiempo mayor que el tiempo de latencia, sería el tiempo de latencia, mas el tiempo de procesamiento de la aplicación, pero se usa general y erróneamente como tiempo de latencia.





Veamos otro ejemplo de ping a www.google.com:

The response for 'www.google.com' using IPv4 is:
PING www.google.com (142.250.191.68) 56(84) bytes of data.
64 bytes from nuq04s43-in-f4.1e100.net (142.250.191.68): icmp_seq=1 ttl=120 time=1.29 ms
64 bytes from nuq04s43-in-f4.1e100.net (142.250.191.68): icmp_seq=2 ttl=120 time=1.42 ms
64 bytes from nuq04s43-in-f4.1e100.net (142.250.191.68): icmp_seq=3 ttl=120 time=1.40 ms
64 bytes from nuq04s43-in-f4.1e100.net (142.250.191.68): icmp_seq=4 ttl=120 time=1.41 ms
64 bytes from nuq04s43-in-f4.1e100.net (142.250.191.68): icmp_seq=5 ttl=120 time=1.39 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 1.296/1.387/1.427/0.046 ms
En este caso la utilidad ping hizo solo "4 pings" y podemos ver que al finalizar muestra un detalle que es el que permite obtener información o inferir estado de la red contra www.google.com. Podemos ver que el ping se hace a un Nombre ( www.google.com) así que es de esperar que se realice una resolución de nombres previo al ping.

Algo mas gráfico se puede ver en este dibujo, que se hace ping en una red local privada.

Observación:
  1. Para este ejemplo (antes de poder hacer el ping)  se realizaron dos acciones:
    1. DNS, se resuelve cual es la IP de www.google.com.
    2. Se determina la MAC del Gateway para poner en los paquetes de capa 3 que van Fuera de la Red, esto se hace con algunos o todos los métodos: ARP, DCHP, Subnetting.
  2. Los mensajes de error pueden contener errores. Si hay un error en un datagrama que transporta un mensaje ICMP, no se envía ningún mensaje de error para evitar el efecto "bola de nieve"  o cascada en el caso de un incidente en la red.