Publicado el 5 de Julio del 2017
635 visualizaciones desde el 5 de Julio del 2017
503,6 KB
19 paginas
Creado hace 16a (09/12/2008)
Bloque IV: El nivel de red
Tema 12: ICMP
Índice
• Bloque IV: El nivel de red
– Tema 12: ICMP
• Introducción
• ICMP: Puerto inalcanzable
• ICMP: Fragmentación requerida
• Ping
• Traceroute
• Referencias
– Capítulo 4 de “Redes de Computadores: Un enfoque
descendente basdado en Internet”. James F. Kurose, Keith
W. Ross. Addison Wesley, 2ª edición. 2003.
– Capítulos 6, 7 y 8 de “TCP/IP Illustrated, Volume 1: The
Protocols”, W. Richard Stevens, Addison Wesley, 1994.
RC Bloque IV Tema 12
2
Introducción
•
•
Internet Control Message Protocol
ICMP comunica mensajes de error y otras condiciones que
requieren atención.
• Los mensajes ICMP se transmiten dentro de datagramas IP
(RFC 792)
• 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)
TCP
UDP
Datagrama IP
ICMP
TRANSPORTE
Cabecera IP
Mensaje ICMP
IP
RED
RC Bloque IV Tema 12
Ethernet
ENLACE
8 8 16
Código
Tipo
Contenido dependiente de Tipo y Código
Checksum
3
Tipos de mensajes ICMP
Descripción
Consulta
Error
Tipo
Código
0
3
8
9
10
11
0
0
1
2
3
4
0
0
0
0
1
Respuesta de eco (ping reply)
Destino inalcanzable:
Red inalcanzable
Máquina inalcanzable
Protocolo inalcanzable
Puerto inalcanzable
Fragmentación requerida, pero bit DF activo
Petición de eco (ping request)
Aviso de router
Solicitud de router
Tiempo consumido (time exceeded)
TTL = 0 durante tránsito
TTL = 0 durante reensamblado
X
X
X
X
RC Bloque IV Tema 12
X
X
X
X
X
X
X
4
Tipos de mensajes ICMP
Descripción
Consulta
Error
Tipo
Código
5
12
13
14
17
18
0
1
0
1
0
0
0
0
Redirección (Redirect)
Redirección para red
Redirección para host
Problema con parámetros:
Cabecera IP errónea
Falta opción requerida
Petición de tiempo
Respuesta de tiempo
Petición de máscara de direcciones
Respuesta de máscara de direcciones
X
X
X
X
X
X
X
X
RC Bloque IV Tema 12
5
ICMP: Puerto inalcanzable
• Mensaje de error utilizado por UDP, cuando el destino no
dispone de un proceso en el puerto de destino:
– Se incluye la cabecera del mensaje que provocó el error.
• IP de destino y origen
• Protocolo incluido en el campo de datos
– Y los primeros 8 bytes del datagrama IP = Cabecera UDP
(incluye puerto destino y origen)
0 8 16
31
Tipo (3)
Código (3)
Checksum
Sin usar (ceros)
Cabecera IP (con opciones) +
Primeros 8 bytes del datagrama IP
RC Bloque IV Tema 12
6
ICMP: Puerto inalcanzable
IP destino: 210.53.23.10
IP origen: 210.53.23.35
Puerto destino: 8888
Puerto origen: 12345
Datagrama UDP
destinado a un
puerto vacío
20 bytes 8 bytes Variable
Cabecera IP Cab.
UDP
Datos UDP
14 bytes 20 bytes 8 bytes 20 bytes 8
bytes
Cabecera IP Cab.
UDP
Cabecera IP Cab.
ICMP
Cabecera
Ethernet
IP destino: 210.53.23.35
IP origen: 210.53.23.10
RC Bloque IV Tema 12
Mensaje ICMP
7
ICMP: Fragmentación requerida
• Mensaje de error utilizado por un router cuando tiene
que fragmentar un datagrama IP pero tiene el flag DF
activado.
– Incluye el MTU de la red que provocó el error y la
cabecera del mensaje que provocó el error.
0 8 16
31
Tipo (3)
Código (4)
Sin usar (ceros)
MTU de la red del siguiente
Checksum
salto
Cabecera IP (con opciones) +
Primeros 8 bytes del datagrama IP
RC Bloque IV Tema 12
8
ICMP: Fragmentación requerida
• Este mensaje de error es utilizado en un mecanismo denominado Path
MTU discovery que permite averiguar el MTU mínimo durante una
comunicación y reducir la fragmentación IP (sólo se hace en origen).
– Path MTU: MTU mínimo en cualquier red en el camino entre dos
hosts.
• Funcionamiento del Path MTU discovery:
– Se habilita el bit DF (Don’t Fragment) en los datagramas enviados.
– Si algún router en el camino necesita fragmentar Generará el
mensaje ICMP Fragmentación requerida
– Si se recibe un mensaje ICMP Fragmentación requerida con el
nuevo MTU:
• Si eran datos TCP TCP debe reducir el tamaño del
segmento (en base al nuevo MTU) y retransmitir.
• Sino (p.e. UDP) IP fragmenta los datagrama en base al
nuevo MTU.
– Como las rutas cambian dinámicamente Se puede probar un
MTU mayor pasado un cierto intervalo (RFC 1191 recomienda 10
minutos).
RC Bloque IV Tema 12
9
Ping
•
•
•
•
•
Packet InterNet Grouper: herramienta de diagnóstico que comprueba si un nodo de la red
es alcanzable.
Cliente: Envía ICMP echo request
Servidor: Responde con ICMP echo reply
Formato mensajes ICMP echo request y reply:
Identificador: en UNIX es el identificador del proceso.
–
– Número de secuencia: inicialmente 0, y se incrementa con cada echo request.
Existen variedad de implementaciones (presentación de resultados, opciones del
programa...):
indurain % ping olano
PING olano: 56 data bytes
64 bytes from olano (210.53.23.10): icmp_seq=0. time=7. ms
64 bytes from olano (210.53.23.10): icmp_seq=1. time=4. ms
olano PING Statistics
3 packet transmitted, 3 packets received, 0% packet loss
roundtrip (ms) min/avg/max = 4/5/7
0 8 16
31
Tipo (0 ó 8)
Código
Checksum
Identificador
Número de secuencia
Datos (tamaño variable)
RC Bloque IV Tema 12
10
Ping: Registro de ruta
• Opción IP de registro de ruta: se van registrando en la cabecera IP los
routers por los que pasa el mensaje.
– Los routers deben implementar esta opción
– Problema: espacio limitado en cabecera IP (40 bytes máximo 9
direcciones IP)
– UNIX o Linux: ping –R / Windows: ping –r
20 bytes <= 40 bytes 8 bytes Variable
Cabecera
IP
Opciones
Cabecera
ICMP
39 bytes
Datos
Cód. Long
1 1 1 4 4 4
Dir. IP 1
Dir. IP 2
Dir. IP 9
Ptr
...
• Código: Tipo de opción IP. (RR=7)
•
• Puntero: Índice que especifica la siguiente posición libre para escribir
Longitud: Máximo 39 bytes.
una dirección (4 – lista vacía, 8, 12, ..., 36, 40 – lista llena)
La dirección que guardan los routers es la de salida.
•
RC Bloque IV Tema 12
11
Ping: Timestamp
• Opción IP de timestamp: registra el instante de tiempo (milisegundos desde
medianoche) por el que pasa en cada router.
20 bytes <= 40 bytes 8 bytes Variable
Opciones
Cabecera
ICMP
Cabecera
IP
Datos
Cód. Long
1 1 1 ½ ½ 4 4 4
OF FL
Tiempo 9
Ptr
...
40 bytes
Tiempo 1 Tiempo 2
Long: longitud total de la opción
• Código: 0x44 para timestamp
•
• Ptr: puntero a la siguiente entrada disponible (5, 9, 13, ...)
• OF (Overflow): si un router no puede añadir su timestamp por falta de espacio
Incrementa el campo OF.
FL (Flags): modos de operación
– 0: registra únicamente timestamps
– 1: registra direcciones IP y timestamps (máximo 4)
– 3: el emisor inicializa la lista con 4 direcciones IP, y si el router es una de
•
ellas registra su timestamp
RC Bloque IV Tema 12
12
Traceroute
• Problemas del ping con registro de ruta:
– Falta de espacio en la cabecera IP
• Registro de ruta: máximo 9 routers
• Timestamp: máximo 4 routers (o 9 timestamps sin direcciones
IP)
– No todos los routers soportan la opción de registro de ruta
– No hay control sobre los relojes de los routers
• Solución: traceroute
– Herramienta de diagnóstico que permite ver la ruta que sigue un
datagrama, además de permitir encaminamiento en origen.
• Se basa en: datagramas UDP, el campo TTL de la cabecera IP y los
mensajes de error ICMP Puerto inalcanzable y Tiempo excedido
– Sólo requiere que el protocolo UDP esté operativo en el
destinatario.
– Cuando un router al decrementar el campo TTL obtiene 0
Genera un mensaje de error ICMP Tiempo excedido
– Cuando UDP recibe un datagrama para un puerto vacío Genera
un mensaje de error ICMP Puerto inalcanzable
RC Bloque IV Tema 12
13
Traceroute
•
ICMP Tiempo excedido
– Código 0: TTL = 0 durante el tránsito
– Código 1: tiempo máximo de reensamblado excedido
• Se produce en la fragmentación IP al perderse uno de
los fragmentos
0 8 16
31
Checksum
Tipo (11)
Código (0 ó 1)
Sin usar (ceros)
Cabecera IP (con opciones) +
Primeros 8 bytes del datagrama IP
RC Bloque IV Tema 12
14
Traceroute: Funcionamiento
RA
154.63.1.1
172.25.1.1
RB
172.25.1.2
173.197.15.10
olano
173.197.15.4
indurain
154.63.4.1
Cab.
UDP
Datos
Cab. IP
IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL = 1
Cab.
ICMP
Cab. IP
IP origen: 154.63.1.1
IP destino: 154.63.4.1
TTL = 32
RC Bloque IV Tema 12
ICMP Tiempo excedido
15
Traceroute: Funcionamiento
RA
154.63.1.1
172.25.1.1
RB
172.25.1.2
173.197.15.10
olano
173.197.15.4
indurain
154.63.4.1
Cab.
UDP
Datos
Cab. IP
IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL =2
Cab.
UDP
Datos
Cab. IP
IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL =1
Cab.
ICMP
Cab. IP
IP origen: 172.25.1.2
IP destino: 154.63.4.1
TTL = 32
ICMP Tiempo excedido
16
RC Bloque IV Tema 12
Traceroute: Funcionamiento
RA
154.63.1.1
172.25.1.1
RB
172.25.1.2
173.197.15.10
olano
173.197.15.4
indurain
154.63.4.1
Cab.
UDP
Datos
Cab. IP
IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL =3
RC Bloque IV Tema 12
Cab.
UD
Comentarios de: Tema 12 - ICMP (0)
No hay comentarios