UPV - Facultad de Informática - Redes de Computadores Tema 11: El protocolo ICMP UPV - Facultad de Informática - Redes de Computadores Tema 13: Protocolo UDP 1. Introducción (I) Redes de Computadores 1. Introducció Introducción 2. Formato de un mensaje ICMP 2.1 Encapsulado 2.2 Tipos de mensajes En Internet no existen mecanismos hardware para comprobar la conectividad. La detección de fallos y problemas se convierte en una tarea difícil, puesto que IP no proporciona herramientas Introduciremos un nuevo módulo: el protocolo ICMP (Internet Control Message Protocol). Este protocolo permite a los routers enviar mensajes de control a los hosts. Bibliografí Bibliografía: [COM96] (Tema 9) 2 Tema 13: Protocolo UDP 2.1 Encapsulado de un mensaje ICMP ICMP nos permite saber, por ejemplo, por qué no se ha entregado un datagrama. Informa de errores sólo al origen del datagrama. No corrige el problema (sólo informa). Los mensajes ICMP viajan en el campo de datos de un datagrama IP. UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores Introducción (II) Tema 13: Protocolo UDP 3 Los mensajes ICMP se encapsulan en datagramas IP. Sin embargo, ICMP no se considera un protocolo de nivel superior a IP Cabecera ICMP Cabec. del datagrama Cabecera de la trama Datos ICMP Campo de datos del datagrama IP Campo de datos de la trama 4 2.2 Tipos de mensajes ICMP Cada mensaje tiene su propio formato, pero todos empiezan con los mismos campos: UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores 2. Formato de un mensaje ICMP Tema 13: Protocolo UDP ¾ tipo (8 bits): Identifica el tipo de mensaje. ¾ código (8 bits): Más información sobre el tipo de mensaje. ¾ checksum (16 bits): Sobre todo el mensaje ICMP. Algunos mensajes incluyen información adicional. ¾ Si informan de errores, incluyen la cabecera y los primeros 64 bits (8 bytes) de datos del datagrama que causó el problema. tipo código checksum datos ICMP (según tipo) datos opcionales Tema 13: Protocolo UDP El tipo de mensaje determina su significado y su formato. Entre los principales tipos de mensaje tenemos: Tipo 0 3 4 5 8 11 Mensaje ICMP Contestación de eco Destino inalcanzable Paquete de restricción Redireccionamiento Petición de eco Tiempo excedido en datagrama 5 6 Tema 13: Protocolo UDP Mensajes de eco (petición y respuesta) (I) Mensajes de eco (II): La orden ping La respuesta devuelve los mismos datos que se recibieron en la petición. tipo = 8 petición, tipo = 0 respuesta. Los campos identificador y número de secuencia permiten al emisor asociar las respuestas con las peticiones. Se basa en el empleo de mensajes de petición y respuesta de eco. Es utilizada por administradores y usuarios para detectar problemas en la red. Permite : tipo (8 o 0) código (0) identificador UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores Tema 13: Protocolo UDP checksum número de secuencia datos opcionales 7 ¾ comprobar si el destino está activo. ¾ comprobar que existe una ruta hasta él. ¾ medir el tiempo de “ida y vuelta”. ¾ estimar la fiabilidad de la ruta. Puede ser utilizado tanto por hosts como por routers. 8 Mensaje de redireccionamiento Son enviados por un router cuando no puede enviar o entregar un datagrama IP Se envían al emisor del datagrama original El campo código contiene un entero con información adicional sobre el problema UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores Mensaje de destino inalcanzable Tema 13: Protocolo UDP ¾ Por ejemplo: Red inalcanzable, host inalcanzable, fragmentación necesaria y flag DF activado, red desconocida. tipo (3) código (0-12) checksum no se emplea (debe ser cero) cabecera IP + 64 primeros bits del datagrama Tema 13: Protocolo UDP Lo emplean los routers. Advierten a un host de la existencia de una ruta mejor para alcanzar un destino determinado (ver ejemplo). Permiten simplificar al máximo las tablas de encaminamiento de los hosts (que pueden aprender las rutas adecuadas a medida que envían datagramas) No se emplea para corregir las tablas de encaminamiento de los routers. Existen otros protocolos dedicados a esta tarea. 9 10 Tema 13: Protocolo UDP Mensaje de redireccionamiento: ejemplo Mensaje de redireccionamiento: formato El host A quiere enviar un datagrama a B. Lo hace a través de R1, que encamina el datagrama a R2 y además envía un mensaje ICMP al host A El campo dirección contiene la dirección del nuevo router que debe utilizarse. El código especifica la interpretación de la dirección destino. Router 2 Host A Red UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores Tema 13: Protocolo UDP Host B Red Red tipo (5) código (0-3) checksum dirección IP de un router cabecera IP + 64 primeros bits del datagrama Router 1 11 12 Paquete de restricción (source quench) Mensaje Time Exceeded Informa a un host de problemas de congestión en la red Es enviado por un router cuando tiene problemas debido a la recepción de un número excesivo de datagramas La recepción de un paquete de restricción provocará una reducción del envío de datagramas del host No existe un paquete que invierta el efecto de éste. La situación se normaliza gradualmente cuando dejan de recibirse más mensajes de este tipo Pueden ser enviados por routers y hosts: UPV - Facultad de Informática - Redes de Computadores UPV - Facultad de Informática - Redes de Computadores Tema 13: Protocolo UDP 13 UPV - Facultad de Informática - Redes de Computadores Ejercicio Tema 13: Protocolo UDP Construir el programa traceroute que informa de la lista de routers entre el host fuente y el destino seleccionado Sugerencia: Se usan mensajes Time Exceeded Ejemplo: traceroute www.upm.es traceroute to newton.ccupm.upm.es (138.100.4.12), 30 hops max, 38 byte packets 1 atlas.cc.upv.es (158.42.1.10) 28.823 ms 25.451 ms 32.909 ms 2 kabrakan.net.upv.es (158.42.255.41) 0.566 ms 0.964 ms 0.522 ms 3 kukulcan.net.upv.es (158.42.255.2) 1.098 ms 0.824 ms 0.916 ms 4 A1-0-0-3.EB-Valencia1.red.rediris.es (130.206.211.185) 3.235 ms 6.496 ms 4.141 ms 5 130.206.224.5 (130.206.224.5) 12.425 ms 13.191 ms 10.705 ms 6 A0-0-0-1.EB-Madrid3.red.rediris.es (130.206.224.86) 9.386 ms 11.611 ms 11.814 ms 7 upm-router.red.rediris.es (130.206.207.118) 19.288 ms 21.544 ms 45.857 ms 8 * * * 9 * newton.ccupm.upm.es (138.100.4.12) 16.259 ms * 15 Tema 13: Protocolo UDP ¾ routers: cuando descartan un datagrama al finalizar su tiempo de vida (TTL) ¾ hosts: al ocurrir un timeout mientras se esperan todos los fragmentos para reensamblar un datagrama. El campo código explica cuál de los dos sucesos ha ocurrido 14