Ping

Entender qué es Ping es muy fácil, Ping es un programa usado para diagnóstico de fallas en la red IP usando el paquete ICMP.

Cuando hay problemas en la red una de las primeras técnicas que se usa es usar el comando ping o «pinguear» la red para detectar problemas.

Para qué Sirve el Comando Ping?

El comando ping nos sirve para descartar problemas en la red y posiblemente detectar la razón del problema.

Si por ejemplo haces ping a una dirección de red y funciona y luego haces un ping a otra dirección de red y falla ¿qué te dice la falla de ese comando ping? ¿Qué partes del enrutamiento IPv4 pueden tener problema, y ¿qué partes sabes que no son un problema?

Por tanto, el comando ping nos sirve para aislar las causas del problema e ir segmentando la red hasta encontrar el origen.

Cómo Funciona el Comando Ping?

El comando ping prueba la conectividad enviando paquetes a una dirección IP, esperando que los paquetes vuelvan desde esa dirección de vuelta.

El comando envía paquetes que significan «si recibe este paquete, y está dirigido a ti, envía una respuesta».

Cada vez que el comando ping envía uno de estos paquetes y recibe el mensaje enviado por el otro host (el destino), el comando ping sabe que un paquete se generó desde el host de origen al de destino y viceversa.

El comando ping usa el Protocolo de Mensajes de Control de Internet ó en inglés Control Message Protocol (ICMP), específicamente envía un mensaje de solicitud (echo request) ICMP y recibe mensajes de respuesta de (echo reply) ICMP.

ICMP define muchos otros mensajes, pero estos dos mensajes fueron hechos específicamente para pruebas de conectividad por comandos como el ping.

ICMP no se basa en TCP o UDP, y no utiliza cualquier protocolo de capa de aplicación. Funciona como parte de la Capa 3, como un protocolo de control para ayudar a IP ayudando a gestionar las funciones de la red IP.

Ejemplo de un Ping

Ejemplo desde una PC

Qué es Ping y Cómo Funciona Ping
Ping desde el Host A al Host B

ping 172.16.2.101

El ejemplo anterior muestra los mensajes ICMP, con los encabezados IP.

En este caso, el usuario del host A abre la línea de comandos y emite el comando ping 172.16.2.101, probando la conectividad con el host B. El comando envía una solicitud de echo y espera (Paso 1); el host B recibe los mensajes y devuelve una respuesta de echo (Paso 2).

$ ping 172.16.2.101
PING 172.16.2.101 (172.16.2.101): 56 data bytes
64 bytes from 172.16.2.101: icmp_seq=0 ttl=64 time=1.112 ms
64 bytes from 172.16.2.101: icmp_seq=1 ttl=64 time=0.673 ms
64 bytes from 172.16.2.101: icmp_seq=2 ttl=64 time=0.631 ms
64 bytes from 172.16.2.101: icmp_seq=3 ttl=64 time=0.674 ms
64 bytes from 172.16.2.101: icmp_seq=4 ttl=64 time=0.642 ms
64 bytes from 172.16.2.101: icmp_seq=5 ttl=64 time=0.656 ms
^C
--- 172.16.2.101 ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.631/0.731/1.112/0.171 ms

Ejemplo de Ping Desde un Enrutador Cisco

Ping desde un enrutador Cisco hacia una PC
Ping desde R1 hacia Host B

Si el ping lo haces desde un enrutador la cosa puede cambiar, es posible que veas que el primer mensaje se pierde, pero no te preocupes es normal.

Esto sucede cuando el enrutador aún no tiene en su tabla ARP esa ruta.

En el siguiente ejemplo vemos al enrutador 1 (R1) hacer ping al host B:

R1# ping 172.16.2.101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.101, timeout is 2 seconds:
. ! ! ! !
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms
R1# ping 172.16.2.101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.101, timeout is 2 seconds:
! ! ! ! !
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

Mira la salida del comando, por defecto el comando ping de Cisco IOS envía cinco mensajes de echo, con un tiempo de espera de 2 segundos.

Si el comando no recibe una respuesta de echo dentro de 2 segundos, el comando considera que el mensaje a fallado o no ha llegado y el comando lo muestra en la salida con un punto.

Si se recibe una respuesta satisfactoria en 2 segundos, el comando muestra un signo de exclamación.

Así, en este primer comando, el primer echo de la respuesta se agotó, mientras que los otros cuatro recibieron una respuesta de echo coincidente en 2 segundos.

Como comenté antes, el ejemplo muestra un comportamiento común y normal en los comandos de ping

Esto suele ocurrir porque algún dispositivo en la ruta de extremo a extremo carece de una entrada en la tabla ARP.

El Paso a Paso del Ejemplo Anterior

  • R1 puede enviar mensajes echo request ICMP al host B (172.16.2.101).
  • R1 envía estos mensajes desde la dirección IP de su interfaz saliente (por defecto), 172.16.4.1 en este caso.
  • El host B puede enviar mensajes de respuesta de echo reply ICMP a la dirección IP 172.16.4.1 del R1 (los hosts envían echo mensajes de respuesta a la dirección IP desde la que se recibió la solicitud de echo).

Nota: Para que un mensaje transite por la red éste tiene que llegar por una ruta, para esto es necesario tener configurada en la red rutas estáticas o rutas dinámicas con algún protocolo de enrutamiento.

Y así se ven las tablas ARP en los distintos dispositivos luego que éstos cargan la información en caché. Ahora en un futuro cuando se haga un ping el primer paquete no se «perderá» ya que conoce el destino.

Tablas ARP en una PC, un Switch y un Enrutador Cisco
Tablas ARP en una PC, un Switch y un Enrutador Cisco luego del Ping

A continuación te muestro cómo ejecutar y utilizar el comando Ping en distintos equipos:

Testeando con Ping en la misma LAN

Hacer un ping entre dos dispositivos conectados a la misma LAN puede confirmar si la LAN puede pasar paquetes y tramas.

Específicamente, un ping que funcione descarta muchas de las posibles causas de un problema.

Por ejemplo si se hace un ping desde R1 hacia el host A, ping 172.16.1.51 y falla (ver figuras anteriores), esta lista muestra la posibles causas:

  • Problema de dirección IP: el Host A podría estar configurado estáticamente con una dirección IP incorrecta.
  • Problemas de DHCP: Si está usando el protocolo DHCP, muchos problemas podrían existir. Lo veremos en profundidad en el capítulo 7 del Volumen 2 de este curso, «Implementación de DHCP».
  • Problemas de VLAN Trunking: El enrutador podría estar configurado para un enlace del tipo trunk 802.1Q, cuando no debería (o viceversa).
  • Problemas de LAN: Una amplia variedad de problemas podrían existir con los Switches de la Capa 2, evitando cualquier flujo de trama entre el host A y el enrutador

Así que, tanto si el ping funciona como si falla, el simple hecho de hacer un ping a un host de la LAN desde un enrutador puede ayudar a aislar aún más el problema.

Comando Ping en Windows, Linux o MAC son iguales

Este comando es el mismo para cualquier Windows; Windows 7, Windows 8 o Windows 10, etc. También es el mismo para Linux o MAC.

En Windows el comando ping se ejecuta desde el programa de Windows CMD

Cómo Hacer Ping en CMD (MS DOS)

Abrir la ventana “Ejecutar” de Windows: usa la combinación de las teclas Windows + R para abrir el cuadro de diálogo “Ejecutar”. Introduce el comando “CMD” en el campo “Abrir” y confirma con la tecla INTRO.

Ejecutar CMD en Windows

Una vez en la ventana CMD ejecutar el comando ping seguido de una IP, por ejemplo:

ping 8.8.8.8

También puedes hacer ping a una URL o dominio.

Ejemplo de Ping a Google (o Cualquier Web)

Microsoft Windows [Versión 10.0.18363.959]
(c) 2019 Microsoft Corporation. Todos los derechos reservados.
C:\Users\Marcelo>ping google.com
Haciendo ping a google.com [172.217.172.78] con 32 bytes de datos:
Respuesta desde 172.217.172.78: bytes=32 tiempo=13ms TTL=114
Respuesta desde 172.217.172.78: bytes=32 tiempo=14ms TTL=114
Respuesta desde 172.217.172.78: bytes=32 tiempo=14ms TTL=114
Respuesta desde 172.217.172.78: bytes=32 tiempo=14ms TTL=114
Estadísticas de ping para 172.217.172.78:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 13ms, Máximo = 14ms, Media = 13ms
C:\Users\Marcelo>

Es el mismo comando para hacer ping en Packet Tracer ya que éste emula al CMD.

Ejemplo de Ping a Toda la Red

Para hacer un Ping a toda una red debemos saber cuales la IP de Broadcast. Por ejemplo en una red 192.168.1.0/24 la IP de Broadcast es 192.168.1.255

ping 192.168.1.255

Sobre esto ya hable en el capítulo del Análisis de Subredes.

En el siguiente capítulo veremos el Ping Extendido donde ampliaré las posibilidades que tiene el comando Ping y cómo nos ayuda a analizar problemas en la red de manera más granular.

Deja un comentario