ICMP. Internet Control Message Protocol


     El protocolo de Mensajes de Control de Internet (ICMP; Internet Control Message Protocol) es un protocolo de nivel de red que utiliza la facilidad de envío de datagramas  IP  para enviar sus mensajes. ICMP envía mensajes que realizan funciones de información, control y reporte de errores. Este protocolo está descrito en la RFC 792 con actualizaciones en la RFC 950.


     ICMP es la base de los comandos ping y traceroute. Estos comandos envían mensajes de petición Echo ICMP (y reciben mensajes de respuesta Echo) para determinar si un host está disponible, el tiempo que les lleva a los paquetes el ir y volver a ese host y la cantidad de hosts por los que pasa.

     Algunas características a destacar:

  • Los mensajes ICMP son encapsulados en datagramas IP. Sin embargo ICMP es parte integral de IP y debe ser implementado por cada módulo IP.
  • ICMP se utiliza para reportar errores no para hacer fiable el IP. Los datagramas pueden no ser entregados sin reportar su pérdida. La fiabilidad debe ser implementada por los protocolos de alto nivel que utilizan servicios IP
  • El protocolo ICMP no puede ser utilizado para reportar errores con mensajes ICMP. Esto evita repeticiones infinitas. Las respuestas ICMP son enviadas en respuesta a mensajes ICMP query. 
  • Para datagramas fragmentados, los mensajes ICMP únicamente son enviados para errores con el primer fragmento. Es decir, los mensajes ICMP nunca se refieren a un datagrama IP donde el campo ‘fragment offset’ sea diferente de 0.
  • Los mensajes ICMP nunca son enviados en respuesta a datagramas cuya dirección destino sea broadcast o multicast.
  • Los mensajes ICMP sólo son enviados en respuesta a un datagrama  cuya dirección IP origen represente a un único host. Es decir, la dirección origen no puede ser 0, una dirección de loopback, una dirección de broadcast o una dirección de multicast.
  • En la RFC 792 se indica que los mensajes ICMP pueden ser generados para reportar errores en la gestión de datagramas IP. Sin embargo no es requerido. En la práctica, los routers siempre generan mensajes ICMP para los errores. Para los host destino la generación de mensajes ICMP es dependiente de la implementación. 

Mensajes ICMP

     Los mensajes ICMP son enviados en datagramas IP. La cabecera IP tiene el número de protocolo 1 (ICMP) y tipo de servicio 0. El campo de datos IP contiene el mensaje ICMP. La estructura del mensaje ICMP es la siguiente:
Paquete ICMP. Internet Control Message Protocol

     A continuación detallamos cada uno de los componentes del mensaje:
    • Tipo. Especifica el tipo de mensaje ICMP. El campo tipo puede tener los valores:
Tipo
Descripción
0
Echo Reply (respuesta de eco)
3
Destination Unreacheable (destino inaccesible)
4
Source Quench (disminución del tráfico desde el origen)
5
Redirect (redirección - cambio de ruta)
6
Alternate Host Address (dirección alterna de host)
8
Echo (solicitud de eco)
9
Router advertisement (anuncio de router)
10
Router solicitation (solicitud de router)
11
Time Exceeded (tiempo excedido para un datagrama)
12
Parameter Problem (problema de parámetro)
13
Timestamp (solicitud de marca de tiempo)
14
Timestamp Reply (respuesta de marca de tiempo)
15
Information Request (petición de información; Obsoleto)  
16
Information Reply (respuesta de información; Obsoleto)  
17
Addressmask (petición de máscara de dirección)
18
Addressmask Reply (respuesta de máscara de dirección)
19
Reservado para seguridad
20-29
Reservado para experimentos de robustez
30
Traceroute
31
Datagram conversion error (error de conversión de datagrama)
32
Mobile host redirect (redirección de host móvil)
33
IPv6 Where are you
34
IPv6 I am here
35
Mobile registration request (petición de registro de móvil)
36
Mobile registration reply (respuesta de registro de móvil)
37
Domain Name Request (solicitud nombre de dominio)
38
Domain Name Reply (respuesta nombre dominio)
39
SKIP
40
Photuris (fallos de seguridad)
    • Código. Indica el código de error para el datagrama reportado por este mensaje ICMP. La interpretación es dependiente del tipo de mensaje.
    • Checksum. Contiene el checksum para el mensaje ICMP comenzando con el campo ‘tipo’. 
    • Datos. Contiene la información del mensaje ICMP. Generalmente contiene la parte del mensaje IP original para la cual fue generado este mensaje ICMP.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.