PRO · Protocolo 3 · Red (Internet)

18.ICMP

Protocolo de mensajes de control de IP: avisa errores en la entrega de paquetes y permite diagnosticar la red con ping y traceroute.

¿Qué es?

ICMP (Internet Control Message Protocol, protocolo de mensajes de control de Internet) es el protocolo que usan los equipos y los routers para avisar cuando algo sale mal con un paquete y para hacer pruebas de conectividad.

Es como el aviso que deja el cartero cuando no pudo entregar una carta: «dirección inexistente», «nadie atendió», «el camino es demasiado largo». No lleva tus datos; lleva información sobre la entrega.

En términos técnicos

  • Está definido en el RFC 792 para IPv4. En IPv6 su equivalente es ICMPv6 (RFC 4443), que además hace el trabajo de ARP (NDP).
  • Viaja dentro de IP, sin TCP ni UDP: es el protocolo número 1 en el encabezado IPv4 (58 en IPv6).
  • Cada mensaje tiene un tipo y un código que dicen qué pasó.
  • No hace que IP sea confiable: solo informa. Corregir el problema le toca a otros protocolos o a ti.

¿Dónde lo vas a encontrar?

Cada vez que haces ping o tracert, cuando un navegador no logra llegar a un servidor y el router avisa «destino inalcanzable», y en IPv6 todo el tiempo, porque sin ICMPv6 los equipos ni siquiera obtienen dirección.

¿Cómo funciona?

Los mensajes que más vas a ver

Tipo Nombre Cuándo aparece
8 Echo Request Lo envía ping para preguntar «¿estás ahí?»
0 Echo Reply La respuesta al Echo Request
3 Destination Unreachable Un router o el destino no pudo entregar el paquete
11 Time Exceeded El TTL llegó a 0 en el camino (lo aprovecha traceroute)
5 Redirect El router le dice al equipo que hay una puerta de enlace mejor

Los códigos del tipo 3 dan el detalle:

Código Significa
0 Red inalcanzable (no hay ruta)
1 Host inalcanzable (la red existe, el equipo no responde)
3 Puerto inalcanzable (el equipo existe, pero nada escucha en ese puerto UDP)
4 Se necesita fragmentar y el paquete tiene DF (descubrimiento del MTU)
13 Prohibido administrativamente (lo bloqueó una ACL o un firewall)

Cómo funciona ping

  1. El origen envía un Echo Request (tipo 8) al destino.
  2. Si el destino lo recibe y no lo bloquea, contesta con un Echo Reply (tipo 0).
  3. ping mide el tiempo de ida y vuelta (RTT) y cuenta cuántas respuestas llegaron.

Cómo funciona traceroute

  1. Envía un paquete con TTL = 1. El primer router le resta 1, llega a 0, lo descarta y responde Time Exceeded (tipo 11): ya sabes quién es el salto 1.
  2. Repite con TTL = 2, 3, 4… y cada router del camino se va presentando.
  3. Termina cuando responde el propio destino.

Verificación y diagnóstico

Leer un ping en Cisco IOS

R1# ping 192.168.20.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.10, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms
Símbolo Significa
! Llegó la respuesta (Echo Reply)
. No llegó nada antes del tiempo límite
U Un router respondió «destino inalcanzable»
M No se pudo fragmentar (problema de MTU)

Diagnosticar de abajo hacia arriba

Prueba Si falla, revisa…
ping 127.0.0.1 La pila TCP/IP del propio equipo
ping a tu propia IP La configuración de la tarjeta de red
ping a la puerta de enlace El cable, el switch, la VLAN o la máscara
ping a un equipo de otra red Las rutas del router o una ACL
traceroute al destino En qué salto se detiene el tráfico

Para tomar en cuenta

  • No bloquees todo ICMP. Si cortas el tipo 3 código 4, falla el descubrimiento del MTU y aparecen páginas que «cargan a medias». En IPv6, bloquear ICMPv6 rompe la red.
  • Sí puedes limitar los Echo Request desde Internet hacia tu red interna, y dejar pasar las respuestas a lo que tus equipos piden.
  • Un * en traceroute no siempre es un problema: muchos routers no responden por política, pero sí reenvían el tráfico.
  • ICMP no usa puertos. En una ACL se filtra por tipo (echo, echo-reply, unreachable…), no por número de puerto.
  • Latencia alta en un solo salto de traceroute no significa que ese enlace sea lento si los saltos siguientes vuelven a tiempos bajos: el router solo tarda en contestar ICMP.
  • Seguridad: el ping sweep (barrido de pings) se usa para descubrir equipos. Haz pruebas solo en tu laboratorio o en tu propia red.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

Antes conviene ver…

© solutions_ · Redes informáticas · 18 ICMP