PDF de programación - Tema 12 - ICMP

Imágen de pdf Tema 12 - ICMP

Tema 12 - ICMPgráfica de visualizaciones

Publicado el 5 de Julio del 2017
536 visualizaciones desde el 5 de Julio del 2017
285,9 KB
20 paginas
Creado hace 16a (13/12/2007)
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

Tipo

Código

Checksum

Contenido dependiente de Tipo y Código

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

Cabecera IP

8 bytes
Cab.
UDP

Variable
Datos UDP

14 bytes

Cabecera
Ethernet

20 bytes

Cabecera IP

8 bytes
Cab.
ICMP

20 bytes

Cabecera IP

8 bytes
Cab.
UDP

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)

Checksum

Sin usar (ceros)

MTU de la red del siguiente 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:

– Número de secuencia: inicialmente 0, y se incrementa con cada echo request.
Existen variedad de implementaciones (presentación de resultados, opciones del
programa...):

Identificador: en UNIX es el identificador del proceso.

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
round-trip (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

Cabecera IP

Opciones

8 bytes
Cabecera

ICMP

39 bytes

Variable

Datos

Cód.

Long

Ptr

Dir. IP 1

Dir. IP 2

...

Dir. IP 9

1 1 1 4 4

4

• 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: Registro de ruta

RA

154.63.1.1

173.197.15.10

olano
173.197.15.4

1º: 154.63.1.1

vacío

4º: 173.197.15.4

indurain
154.63.4.1

2º: 154.63.4.1

3º: 173.197.15.10

olano% ping –R indurain
PING indurain (154.63.4.1). 56 data bytes
64 bytes from 154.63.4.1: icmp_seq=0 ttl=254 time=280 ms
RR: RA (154.63.1.1)

indurain (154.63.4.1)
RA (173.197.15.10)
olano (173.197.15.4)

64 bytes from (154.63.4.1): icmp_seq=1 ttl=254 time=7. ms (same route)
64 bytes from (154.63.4.1): icmp_seq=2 ttl=254 time=7. ms (same route)

RC - Bloque IV - Tema 12

12

Ping: Timestamp

• Opción IP de timestamp: registra el instante de tiempo (milisegundos desde

medianoche) por el que pasa en cada router.
8 bytes
Cabecera

<= 40 bytes

20 bytes

ICMP

Cabecera IP

Opciones

Variable

Datos

40 bytes

Cód.

Long

Ptr

OF FL

Tiempo 1

Tiempo 2

...

Tiempo 9

1 1 1 ½ ½ 4 4

4

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

13

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

14

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

Tipo (11)

Código (0 ó 1)

Checksum

Sin usar (ceros)

Cabecera IP (con opciones) +

Primeros 8 bytes del datagrama IP

RC - Bloque IV - Tema 12

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. IP

Cab.
UDP

Datos

IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL = 1

Cab. IP

Cab.
ICMP

IP origen: 154.63.1.1
IP destino: 154.63.4.1
TTL = 32

RC - Bloque IV - Tema 12

ICMP Tiempo excedido

16

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. IP

Cab.
UDP

Datos

Cab. IP

Cab.
UDP

Datos

IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL =2

IP origen: 154.63.4.1
IP destino: 173.197.15.4
TTL =1

Cab. IP

Cab.
ICMP

IP origen: 172.25.1.2
IP destino: 154.63.4.1
TTL = 32

ICMP Tiempo excedido

17

RC - Bloque IV - Tema 12

Tracerout
  • Links de descarga
http://lwp-l.com/pdf4846

Comentarios de: Tema 12 - ICMP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad