Presentacion i c m p

23
PROTOCOLO ICMP ICMPv6 Jairo Rosas

Transcript of Presentacion i c m p

Page 1: Presentacion i c m p

PROTOCOLO

ICMP

ICMPv6Jairo Rosas

Page 2: Presentacion i c m p

Debido a que el protocolo IP no es fiable, los datagramas pueden perderse o llegar defectuosos a su destino.

El protocolo ICMP, (protocolo de mensajes de control y error) se encarga de informar al origen si se ha producido algún error durante la entrega de su mensaje. Pero no solo se encarga de notificar los errores, sino que también transporta distintos mensajes de control.

El protocolo ICMP esta definido en la RFC 792

El protocolo ICMP únicamente informa de incidencias en la red pero no toma ninguna decisión. Esto será responsabilidad de las capas superiores.

I C M P

Page 3: Presentacion i c m p

El Protocolo de Mensajes de Control y Error de Internet, ICMP, es de características similares a UDP, pero con un formato mucho más simple, y su utilidad no está en el transporte de datos de usuario, sino en:Controlar si un paquete no puede alcanzar su destino,Si su vida ha expirado,Si el encabezamiento lleva un valor no permitido,Si es un paquete de eco o respuesta, etc.

Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado.

ICMP proporciona así una comunicación entre el software IP de una máquina y el mismo software en otra.

I C M P

Page 4: Presentacion i c m p

• ICMP comunica mensajes de error y otras condiciones que requieren atención.

• Los mensajes ICMP se transmiten dentro de datagramas IP (RFC 792)

• Presenta dos tipos de mensajes: error y consulta.

• Formato de mensaje ICMP:

– Tipo: identifica el tipo de mensaje ICMP (hay 15 distintos)

– Código: utilizado en algunos códigos para especificaciones más detalladas.

– Checksum: cubre al mensaje ICMP completo (mismo algoritmo que para el checksum de IP)

I C M P

Page 5: Presentacion i c m p

Los mensajes ICMP se transmiten como datagramas IP normales, con el campo de cabecera "protocolo" con un valor 1, y comienzan con un campo de 8 bits que define el tipo de mensaje de que se trata.

A continuación viene un campo código, de o bits, que a veces ofrece una descripción del error concreto que se ha producido.

Después un campo suma de control, de 16 bits, que incluye una suma de verificación de errores de transmisión. Tras estos campos viene el cuerpo del mensaje, determinado por el contenido del campo "tipo". Contienen además los 8 primeros bytes del datagrama que ocasionó el error.

I C M P

Page 6: Presentacion i c m p

I C M P

•TCP utiliza este protocolo para el envío de mensajes de control y de error. Por ejemplo ping se utiliza para ver si un ordenador está activo en la red.

•Los mensajes ICMP están dentro de datagramas IP (IP los trata igual que los demás datagramas).

•Es decir, dentro de los datos del datagrama, hay una cabecera del protocolo ICMP que indica una serie de parámetros como código de error, tipo de mensaje, etc., (como ya se ha dicho, IP no tiene constancia de que sea un datagrama especial).

ICMP pueden enviar varios tipos de mensajes como por ejemplo, destino no alcanzable, control de congestión, redireccionamiento, tiempo excedido.

Page 7: Presentacion i c m p

I C M P

A>ping 192.168.0.6 –n 1Haciendo ping a 192.168.0.6 con 32 bytes de datos

Tiempo de espera agotado.

Page 8: Presentacion i c m p

Mensajes informativos

Entre estos mensajes hay algunos de suma importancia, como los mensajes de petición de ECO (tipo 8) y los de respuesta de Eco (tipo 0).

Las peticiones y respuestas de eco se usan en redes para comprobar si existe una comunicación entre dos host a nivel de capa de red, por lo que nos pueden servir para identificar fallos en este nivel, ya que verifican si las capas física (cableado), de enlace de datos (tarjeta de red) y red (configuración IP) se encuentran en buen estado y configuración.

I C M P

Page 9: Presentacion i c m p

I C M P

Page 10: Presentacion i c m p

Mensajes de error

En el caso de obtener un mensaje ICMP de destino inalcanzable, con campo "tipo" de valor 3, el error concreto que se ha producido vendrá dado por el valor del campo "código", pudiendo presentar los valores que se muestran en la tabla del siguiente Slide.

Este tipo de mensajes se generan cuando el tiempo de vida del datagrama a llegado a cero mientras se encontraba en tránsito hacia el host destino (código=0), o porque, habiendo llegado al destino, el tiempo de reensamblado de los diferentes fragmentos expira antes de que lleguen todos los necesarios (código=1).

Los mensajes ICMP de tipo= 12 (problemas de parámetros) se originan por ejemplo cuando existe información inconsistente en alguno de los campos del datagrama, que hace que sea imposible procesar el mismo correctamente, cuando se envían datagramas de tamaño incorrecto o cuando falta algún campo obligatorio.

I C M P

Page 11: Presentacion i c m p

I C M P

Page 12: Presentacion i c m p

(ICMPv6 o ICMP para IPv6) es una parte importante de la arquitectura IPv6 que debe estar completamente soportada por todas las implementaciones y nodos IPv6.

ICMPv6 combina funciones que anteriormente estaban subdivididas en varias partes de diferentes protocolos tales como ICMP, IGMP o ARP y además introduce algunas simplificaciones eliminando tipos de mensajes obsoletos que estaban en desuso actualmente.

ICMPv6 es un protocolo de propósito múltiple y está diseñado para realizar funciones tales como:

Detectar errores encontrados en la interpretación de paquetes. Realizar diagnósticos. Realizar funciones como Neighbor Discovery. Detectar direcciones IPV6 multicast.

Los mensajes ICMPv6 están subdivididos en dos clases: Mensajes de error y mensajes informativos.

Los mensajes ICMPv6 son enviados dentro de paquetes IPv6 los cuales a su vez pueden llevar las extensiones de cabecera de IPv6.

I C M Pv6

Page 13: Presentacion i c m p

Los paquetes ICMPv6 tienen el formato Tipo, Código y Checksum.

Los 8 bits del campo Tipo indican el tipo de mensaje.

Si el bit de mayor peso tiene el valor 0 (valores entre 0 y 127) entonces es un mensaje de error, por el contrario.

Si el bit de mayor peso es 1 (valores entre 128 y 255) entonces es un mensaje informativo.

Los 8 bits del campo Código dependen del tipo de mensaje, y son usados para crear un nivel adicional de clasificación de mensajes, de tal forma que los mensajes informativos en función del campo Código se pueden subdividir en varios tipos.

El campo Checksum es usado para detectar errores en los mensajes ICMP y en algunos de los mensajes IPv6.

I C M Pv6

Page 14: Presentacion i c m p

Mensajes de Error

Los mensajes de error de ICMPv6 son similares a los mensajes de error de ICMPv4. Se dividen en 4 categorías: destino inaccesible, paquete demasiado grande, tiempo excedido y problemas de parámetros.

1 Destination Unreachable (Destino Inalcanzable) 2 Packet Too Big (Paquete Demasiado Grande) 3 Time Exceeded (Tiempo Agotado) 4 Parameter Problem (Problema de Parámetros)

I C M Pv6

Page 15: Presentacion i c m p

Mensajes Informativos

Estos mensajes se subdividen en tres grupos: mensajes de diagnóstico, mensajes para la administración de grupos multicast y mensajes de Neighbor Discovery.

128 Echo Request (Solicitud de Eco) 129 Echo Reply (Respuesta de Eco)

Cada mensaje ICMPv6 está precedido por una cabecera IPv6 y cero o más extensiones de cabecera IPv6. La cabecera ICMPv6 con el valor 58 en el campo "Cabecera Siguiente" en la cabecera inmediatamente predecesora. (Nota: el valor del campo "Cabecera Siguiente" es distinto del valor utilizado para identificar ICMP para IPv4)

I C M Pv6

Page 16: Presentacion i c m p

Calculo del Campo Checksum El checksum es un conjunto de 16 bits complemento a uno, de la suma del

complemento a uno del mensaje ICMPv6 a partir del campo Tipo del mensaje ICMPv6 hasta el final, precedido por una pseudo-cabecera de la cabecera IPv6, tal y como se especifica en IPv6.

Para calcular el Checksum, el campo Checksum es inicializado a cero. El valor "Cabecera Siguiente" usado en la "pseudo-cabecera" es 58. (Nota: La

inclusión de una pseudo cabecera en el checksum ICMPv6 es un cambio desde IPv4; observa IPv6 para entender completamente este cambio).

La pseudo-cabecera utilizada para calcular el checksum es la siguiente:

I C M Pv6

Page 17: Presentacion i c m p

ICMPv6 Mensajes de Transmisión

Un nodo que reenvía un mensaje ICMPv6, debe determinar tanto la dirección IPv6 origen como la destino para el mensaje ICMPv6. Debe tener especial cuidado en la elección de la dirección de origen.

Cuando un nodo ICMPv6 recibe un paquete, debe realizar acciones en función del tipo de mensaje.

El protocolo ICMPv6 debe limitar el número de mensajes de error enviados a un mismo destinatario para evitar sobrecarga en la red.

Por ejemplo, si un nodo reenvía los paquetes erróneos, ICMP debe señalar el error al primer paquete y luego hacerlo periódicamente, de acuerdo con un periodo prefijado o en función de una carga máxima de la red.

Un mensaje de error ICMP nunca debe ser enviado en respuesta a otro mensaje de error ICMP.

I C M Pv6

Page 18: Presentacion i c m p

Tipos de mensaje ICMPI C M Pv6

Page 19: Presentacion i c m p

I C M Pv6 Tipos de mensaje ICMP

Page 20: Presentacion i c m p

I C M Pv6 Tipos de mensaje ICMP

Page 21: Presentacion i c m p

ICMPv6

Lo mismo que ICMP v4 con unas pequeñas diferencias ICMPv6 incluye una pseudo-headeren el cálculo del checksum. El checksum es modificadom para IPV6 dado que las nuevas direcciones son de 128

bits y no de 32.

Debe ser implementado totalmente por todos los nodos IPv6 El valor del campo Next header en la pseudo cabecera es de 58 que identifica la

versión IPV6 de ICMP. ICMPv6 diferencia mensajes de error(tipo<128) y de información(tipo=>128)

DIFERENCIAS ICMPv4 - ICMPv6

Page 22: Presentacion i c m p

ICMPv6 diferencia mensajes de error(tipo<128) y de información(tipo=>128)

DIFERENCIAS ICMPv4 - ICMPv6

Page 23: Presentacion i c m p

GRACIAS