Está en la página 1de 37

ICMP ( Internet Control Messages Protocol ).

Protocolo de mensajes de control de inter red.

Introduccin
IP entrega un servicio de comunicacin de mejor esfuerzo. Esto genera : Duplicacin de datagramas. Prdida de datagramas. Retardo o desorden en la entrega de datagramas.

Introduccin
Si un un router no puede enrutar un datagrama (por ej: debido a congestin en la red, tiempo de vida agotado,etc.) IP no informa a la fuente. Surge la necesidad de informar a la fuente del datagrama que tome alguna decisin .

Introduccin

Para el control de errores a nivel IP existe ICMP


( Internet Control Messages Protocol ).

Qu es ICMP ?
Es un mecanismo de reporte de errores e informacin de la red. Acta a travs de un datagrama de reporte de error. Este datagrama de reporte es generado por un router que ha detectado un error en un datagrama recibido. El datagrama de reporte es enviado desde el router hacia el host fuente del datagrama original.

Segn tipo de error, host determina accin a seguir. Por ej: Volver a enviar Host fuente enva un datagrama. datagrama a host destino. (datagrama original ) . Host fuente router router

Router detecta un error en el datagrama recibido y enva datagrama de reporte de error hacia el host fuente. Segn el error, el router decide que hacer con el datagrama recibido. Por ej: destruirlo.

Host destino router


ERROR EN DATAGRAMA RECIBIDO. !!

router

Qu mensajes reporta ICMP. ?


ICMP define cinco mensajes de error y cuatro de informacin.

Alivio de fuente (Source Quench). Destino inalcanzable (Destination Unreachable). Tiempo excedido (Time Exceeded). Redirigir (Redirect). Fragmentacin requerida (Fragmentation Requiered).

Qu mensajes reporta ICMP. ?


ICMP define cinco mensajes de error y cuatro de informacin.

Solicitud de eco (Echo request ). Rplica (Reply). Solicitud de mscara de direccin (Adress Mask Request). Regreso de constestacin de mscara de direccin (Adress Mask Reply).

ICMP usa IP para transportar los mensajes de error. Existe una interdependencia entre IP e ICMP.

Transporte de mensajes ICMP.

Cabecera ICMP

Area de datos ICMP Area de datos IP

Cabecera IP

Cabecera del Cuadro

Area de datos del Cuadro

Significado del mensaje. Por ejemplo, Ms detalles respecto del problema. Por ejemplo: Formato del mensaje ICMP. 0 = Respuesta de eco. 0= Red inalcanzable. Cifra de comprobacin 3 = Destino inalcanzable. 1 = Host inalcanzable. Con esto, el host fuente identifica (Slo para el mensaje ICMP). 4 = Alivio de fuente. 4 = Fragmentacin requerida, qu protocolos y que aplicaciones 5 = Redirigir, etc. etc. fueron las que generaron el datagrama. Cabecera IP del datagrama recibido por 0 16 superiores, los 64 primeros 31 8 el router(En capas bits seteados con informacin crucial). (dir. Ip fuente, destino, tipo deson servicio, etc.).

Tipo

Cdigo

El contenido de este campo

Cabecera interred + primeros 64 bits del datagrama

Bits de relleno, para vara segn el tipo completar tamao del datagrama.

Checksum

de mensaje.

...

Alivio de fuente (Source Quench). Cuando un router satura su buffer, comienza a descartar los paquetes que llegan. Usualmente, el router enva un mensaje ICMP Quench Source a las mquinas cuyos datagramas han sido descartados. Si una mquina recibe un mensaje ICMP Source Quench, reduce su tasa de transmisin.

Host reduce su tasa de transmisin. Host fuente enva un datagrama a host destino. (datagrama original ) . Host fuente router router

Router no tiene ms espacio en el buffer y enva datagrama de alivio de fuente hacia el host que cre el datagrama. El router descarta los datagramas recibidos hasta que tenga espacio en el buffer.

Host destino router


Buffer lleno. !!

router

Formato de Alivio de fuente (Source Quench).

Destino inalcanzable (Destination Unreachable). Cuando un router determina que no se puede entregar un datagrama, enva un mensaje ICMP Destination Unreachable a la mquina que lo envi. Se entregan detalles adicionales. (Por ej: si una red se desconecta en forma temporal, si el destino est desconectado, si el datagrama debe ser necesariamente fragmentado y su seteo no lo permite).

Host determina si reenva o no el datagrama o espera un tiempo. Host fuente enva un datagrama a host destino. (datagrama original ) . Host fuente router

router

Router detecta que no tiene acceso al destino del datagrama recibido y enva datagrama de direccin inalcanzable hacia el host fuente.

Host destino router


No hay acceso al destino del datagrama. !!

router

Formato de

0 = Red inalcanzable. 1 = Host inalcanzable. Destino inalcanzable 2 = Protocolo inalcanzable. 3 = Puerto inalcanzable. 4 = Fragmentacin requerida. 5 = Source route failed. 6 = Red de destino desconocida. 7 = Host destino desconocido. 8 = Source host isolated. 9 = Comunicacin prohibida con red destino. 10 = Comunicacin prohibida con host destino. 11 = Red inalcanzable por tipo de servicio. 12 = Host inalcanzable por tipo de servicio.

Solicitud de eco (Echo request ). Rplica (Reply). Puede enviarse un mensaje de solicitud de eco al software ICMP desde cualquier computador. En respuesta a este mensaje, ICMP debe enviar un mensaje de regreso de contestacin. La respuesta lleva los mismos datos que la solicitud.

Solicitud de eco (Echo request ). Rplica (Reply). Utilizando este mensaje ICMP , se ha desarrollado una aplicacin llamada Ping. Ping permite saber si una mquina o red se encuentra alcanzable. Existen diferentes versiones de Ping. Algunas versiones permiten definir los datos a enviar en el datagrama y cada cuanto tiempo realizar la peticin de eco.

fuente hace un si Segn tipo de Host respuesta, host sabe alcanzable Ping a host host destino es o destino no. (ping 200.1.17.132 ) enviando un datagrama. Host fuente router router

Host destino enva mensaje de respuesta, con los mismos datos de vuelta (endestino el area de datos del datagrama). Host 200.1.17.132 router router

Formato de Solicitud de eco (Echo request ). Formato de Regreso de constestacin (Reply).


Identificador y N de Secuencia : 8 = Solicitud de eco. Identifican al mensaje 0 = Regreso de constetacin. (sirve cuando se enva una rfaga de peticiones de eco ).

Solicitud de los routers de cambio de ruta Mensaje ICMP redirect Regla:


Se supone que los routers conocen las rutas correctas; las mquinas comienzan con mnima informacin de ruteo y aprenden nuevas rutas de los routers.

La mquina parte conociendo slo la direccin de un router de la red local. El router inicial devuelve un mensaje de redirigir

cuando el host enva un datagrama para el cual existe una mejor ruta.

Solicitud de los routers de cambio de ruta Mensaje ICMP redirect


Los routers slo envan solicitudes de redirigir a las mquinas
Este paquete va para otro lado Cambio de ruta

destino

fuente

Solicitud de los routers de cambio de ruta Mensaje ICMP redirect Problema:


Los mensajes de redirigir estn limitados a la interaccin entre un router y un host conectados ambos en la misma red.
R2 R3

R1

R5

fuente

destino
R4

Solicitud de los routers de cambio de ruta Mensaje ICMP redirect Formato de cuadro
Direccin del router que mensaje usa el host para enviar redirigir (5) paquetes al destino 0 1 2 3 Redirigir datagramas para la red Redirigir datagramas para el host Redirigir datagramas para el tipo de Redirigir servicio datagramas y red para el tipo de servicio y el host

0 Tipo

16

31

Cdigo Checksum Direccin interred del router Cabecera interred + primeros 64 bits del datagrama

...

Deteccin de rutas muy largas o ciclos Mensaje ICMP Time Exceeded

tiempo de vida excedido

destino fuente
Tiempo de vida = 0

Deteccin de rutas muy largas o circulares Mensaje ICMP Time Exceeded Formato de cuadro
Tiempo excedido (11) 0 1 Tiempo de vida excedido Tiempo de reensamble de fragmentos excedido

0 Tipo

16

31

Cdigo Checksum Sin uso (valor 0) Cabecera interred + primeros 64 bits del datagrama

...

Reporte de otros problemas Mensaje ICMP Parameter Problem


!?

Cabecera IP incorrecta

destino

fuente

Reporte de otros problemas Mensaje ICMP Parameter Problem Formato de cuadro


Indica el octeto del datagrama Problema no 0 que produjo el errorUsar el campo puntero definido (11) 1 Falta un opcin requerida

16

31

Tipo Cdigo Checksum Puntero Sin uso (valor 0) Cabecera interred + primeros 64 bits del datagrama

...

Sincronizacin de reloj y estimacin de tiempo de trnsito Mensaje ICMP timestamp request / reply
mi tiempo de salida Procesando del paquete es T3 mi tiempo de ingreso paquete del paquete es T2

tiempo T4 mimi tiempo eses T1

destino

fuente

Sincronizacin de reloj y estimacin de tiempo de trnsito Mensaje ICMP timestamp request / reply Formato marca de cuadro tiempo justo luego de

de recibir el paquete tiempo justo antes de Lo usa la fuente para tiempo justo antes tiempo (destino) solicitud devolver el paquete asociar respuestas con de enviar el paquete 13 (destino) 14 (fuente) respuesta preguntas

16 8 31 Tipo Cdigo (0) Checksum Identificador Nmero de secuencia Timestamp de origen Timestamp de recepcin Timestamp de transmisin

Sincronizacin de reloj y estimacin de tiempo de trnsito Mensaje ICMP timestamp request / reply
Aspectos gererales
Los valores de los campos de tiempo estn expresados de acuerdo al referente GMT y en [ms]. Para obtener una estimacin apropiada del retardo en la red, se deben efectuar varias mediciones. El retardo entre dos mquinas conectadas a una gran interred puede variar drsticamente, incluso en perodos cortos de tiempo. Debido a que IP hace su mejor esfuerzo, nada garantiza que una consistencia entre las diversas mediciones de los tiempos de retardo. Se usa anisis estadstico para precisar las estimaciones.

Solicitud y Respuesta de informacin Mensaje ICMP information request / reply


Los mensajes de solicitud (15) y respuesta (16) de informacin estn obsoletos. Estos mensajes estaban pensados para que el host pudiera conocer su direccion IP al momento de arrancar Actualmente, esto se hace con los protocolos RARP y BOOTP.

Obtencin de una mscara de subred Mensaje ICMP address mask request / reply
La mscara de mi red es ICMP address mask reply 255.255.255.128

200.1.17.130

Obtencin de una mscara de subred Mensaje ICMP address mask request / reply Formato de cuadro
Mscara 17 18 solicitud respuesta

16 8 31 Tipo Cdigo (0) Checksum Identificador Nmero de secuencia Direccin de mscara (slo en respuesta)

Conclusiones.
ICMP es un mecanismo de reporte de errores a nivel de capa IP. Los mensajes ICMP se transportan como simples datagramas. Adems de reportar errores, tamben entrega informacin de la red. Corresponde a los routers enviar el datagrama ICMP al host fuente del datagrama original donde fu detectado el error.

Conclusiones.
Utlizando e interpretando los mensajes ICMP, se han desarrollado aplicaciones que entregan informacin del estado de la red. Ej: ping, icmpinfo, traceroute (utiliza los mensajes de tiempo exedido para encontrar la secuencia de enrutadores a distancia 1, 2,3, etc. , de la trayectoria de un destino), etc. Por ltimo, se puede decir que los host pueden utilizar los mensajes ICMP de fragmentacin requerida para determinar la MTU (tamao mximo del paquete) de trayectoria de un destino.