17. ICMP v.4


ICMP Accesibilidad al Host

ICMP : Internet Control Message Protocol - (Protocolo de mensajes de control de Internet). Link al RFC 792   y  RFC777

IGMP es Internet Group Management Protocol (Protocolo de Gestión de Grupos de Internet) , no confundir con ICMP. IGMP lo veremos mas adelante. A modo de anticipo:

El IGMP es un protocolo que permite que varios dispositivos compartan una dirección IP utilizando direcciones multicast para que todos puedan recibir los mismos datos también permite que los dispositivos puedan unirse a un grupo de multidifusión.

ICMP detecta y registra condiciones de error en la Red.
permite registrar:
  1. Paquetes soltados: Paquetes que llegan demasiado rápido para poder procesarse.
  2. Fallo de conectividad: No se puede alcanzar un sistema de destino.
  3. Redirección: Redirige un sistema de envío para utilizar otro enrutador.
Existe una herramienta llamada "netstat" destinada a gestionar y supervisar el estado de las interfaces, rutas y conexiones del sistema, y resulta de utilidad para la resolución de problemas de TCP/IP. Puede utilizar Netstat independientemente de que esté utilizando conectividad IPv4 o IPv6 en la red.

Si en Linux ejecutamos "netstat -s" desde una terminal  ( la s es stadistics ) nos  muestra las estadísticas de la red (como SNMP).




Veremos una salida con varias secciones: Ip, Tcp, Udp y también Icmp, veamos que muestra esta última sección.


Aquí podemos ver que informa que existieron destinos inalcanzables.

Los mensajes de error ICMP se envían a través de la red en forma de datagramas, recordemos que un datagrama es la UDP (Unit Data Protocol - Unidad de Datos de Protocolo ) capa 3 (Red)  como cualquier otro dato.

El datagrama ser vería de la siguiente manera:

Datagrama IPv4

Donde ICMP data tendría los siguientes campos
Campos de ICMPv4

El campo Código especifica:
  • 0 = net unreachable;
  • 1 = host unreachable;
  • 2 = protocol unreachable;
  • 3 = port unreachable;
  • 4 = fragmentation needed and DF set;
  • 5 = source route failed.
Los códigos 0,1,4,5  se suelen recibir del Gateway y los 2 y 3 de un host.

El campo type codifica algunos de los valores y el significados de sus valores, ellos son:


Observaciones:
1) Vemos que existe ICMP, para IPv6.
2) Podemos identificar que la aplicación ping utilizan ICMP, también Traceroute.