Tema 11: El protocolo ICMP

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