Publicado el 12 de Junio del 2017
497 visualizaciones desde el 12 de Junio del 2017
240,2 KB
17 paginas
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS
Área de Ingeniería Telemática
ICMP
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Arquitectura de Redes, Sistemas y Servicios
3º Ingeniería de Telecomunicación
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Objetivos
• Conocer para qué sirve el protocolo ICMP
• Conocer el formato de los paquetes
• Conocer los tipos de mensajes más comunes
y cuándo se producen
Características generales
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
•
Internet Control Message
Protocol (RFC 792)
• Para comunicar mensajes de
error y otra información del
nivel de red
• Mensajes
transportados
dentro de datagramas IP
• El destino es la dirección del
paquete IP que generó el error
• Parte del nivel IP
• E s t r u c t u r a g e n e r a l d e l
mensaje (…):
Cabecera IP
Datos IP
Características generales
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
•
Internet Control Message
Protocol (RFC 792)
• Para comunicar mensajes de
error y otra información del
nivel de red
• Mensajes
transportados
dentro de datagramas IP
• El destino es la dirección del
paquete IP que generó el error
• Parte del nivel IP
• E s t r u c t u r a g e n e r a l d e l
mensaje (…):
0
15 16
Cabecera IP
32
tipo
código
checksum
Dependiente del tipo y código
¿Dónde encaja ICMP en la pila TCP/IP?
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
Aplicación
Transporte
Red
Enlace
Físico
UDP
TCP
IP
ICMP
ARP
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
• Mensajes de Error:
– Destino inalcanzable
– Redirect
– Tiempo excedido
– Source Quench
– Problema de parámetros
Clases de mensajes ICMP
• Mensajes de pregunta (query):
– Echo
– Router Advertisement
– Timestamp
– Información
– Address Mask
Condiciones generales de envío
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Para evitar tormentas de errores
• Nunca se generan ICMPs de error en respuesta a:
– Un ICMP de error
– Un datagrama destinado a una IP de broadcast o
multicast
– Un broadcast (o multicast) a nivel de enlace
– Un fragmento que no sea el primero
– Un datagrama cuya IP origen no sea single-host:
loopback, broadcast, multicast
Mensajes ICMP
• Echo request/reply (query) (PING)
tipo = 8 (request) o 0 (reply), código = 0
–
– Servidor debe hacer echo del paquete (incluidos los datos)
– Obligatorio de implementar (generalmente en el kernel)
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
0
type=8
code
Identificador
checksum
Número de secuencia
15 16
32
Datos (opcional)
Mensajes ICMP
• Destino inalcanzable (error)
– tipo = 3
– Si según la tabla de rutas no se puede llegar al destino,
host/router debe enviarlo (…)
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
0
type=3
code
15 16
0
32
checksum
Cabecera IP + 8bytes datos del
paquete que dio error
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
Mensajes ICMP
(Destino inalcanzable)
Código:
§ 0 = Red destino inalcanzable
§ 1 = Host destino inalcanzable
§ 2 = Protocolo destino inalcanzable
§ 3 = Puerto destino inalcanzable
§ 4 = Fragmentación necesaria y DF activo
§ 5 = Source route failed
0
type=3
code
15 16
0
32
checksum
Cabecera IP + 8bytes datos del
paquete que dio error
Mensajes ICMP
• Tiempo excedido (error)
– tipo = 11
– Código = 0 : TTL=0 en tránsito
– Código = 1 : timeout durante reensamblado (necesita primer
paquete)
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
0
type=11
code
15 16
0
32
checksum
Cabecera IP + 8bytes datos del
paquete que dio error
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Traceroute
• Permite averiguar el camino entre dos hosts
• Suponiendo que el camino se mantiene entre diferentes paquetes
• Requiere que el destino final soporte UDP
• Requiere que se generen ciertos mensajes ICMP
•
Implemented by Van Jacobson from a suggestion by Steve Deering.
Debugged by a cast of thousands with particularly cogent suggestions
or fixes from C. Philip Wood, Tim Seaver, and Ken Adelman.
if1
if0
R1
if0
if1
R5
if0
if0
R2
if1
if2
if0
if1
if2
R4
R3
if1
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
Traceroute
• El host inicial envía un datagrama UDP (…)
– Dirigido al host final
– Con TTL = 1
• El primer router decrementa el TTL a 0 (…)
– Tira el paquete
– Devuelve al origen un ICMP de Error Tiempo excedido en tránsito
– Este es un paquete IP con dirección origen la del interfaz de R1 en la red
TTL
1
!IP !
!IPR1if0!
del host (… …)
if1
if0
R1
if0
if1
R5
if0
if0
R2
if1
if2
if0
if1
if2
R4
R3
if1
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Traceroute
• El host inicial envía un datagrama UDP (…)
– Dirigido al host final
– Con TTL = 2
• El primer router decrementa el TTL a 1 y lo reenvía (…)
• El segundo router decrementa el TTL a 0 (…)
– Tira el paquete
– Devuelve al origen un ICMP de Error Tiempo excedido en tránsito
– Este es un paquete IP con dirección origen la del interfaz de R2 en dirección
TTL
TTL
1
1
2
!IP !
!IP !
!IPR1if0!
!IPR1if0!
!IPR2if0!
hacia el host origen (…)
if1
if0
R1
if0
if1
R5
if0
if0
R2
if1
if2
if0
if1
if2
R4
R3
if1
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
a
e
r
Á
Traceroute
Idem con TTL=3 y TTL=4 (…)
•
• Con TTL suficientemente grande el paquete llega
hasta el destino final (… …)
• En el destino no hay aplicación esperando paquetes
UDP en ese puerto:
– Lo tira
– Devuelve al origen un ICMP de Error Puerto destino
inalcanzable (… …)
TTL
TTL
TTL
1
1
1
2
2
2
3
3
4
4
5
!IP !
!IP !
!IP !
!IPR1if0!
!IPR1if0!
!IPR1if0!
!IPR2if0!
!IPR2if0!
!IPR2if0!
!IPR4if0!
!IPR4if0!
!IPR5if0!
!IPR5if0!
!IPhost!
if1
if0
R1
if0
if1
R5
if0
if0
R2
if1
if2
if0
if1
if2
R4
R3
if1
a
c
i
t
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
I
I
I
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Traceroute (Ejemplo)
daniel$ traceroute -n 64.170.98.32
traceroute to 64.170.98.32 (64.170.98.32), 64 hops max, 52 byte packets
1 130.206.160.1 1.167 ms 1.151 ms 0.660 ms
2 130.206.158.17 0.641 ms 0.791 ms 0.693 ms
3 130.206.158.1 1.565 ms 1.251 ms 1.075 ms
4 130.206.209.13 2.041 ms 1.480 ms 1.764 ms
5 130.206.250.121 15.363 ms 8.340 ms 8.909 ms
6 130.206.250.65 21.521 ms 20.057 ms 20.318 ms
7 213.248.81.25 20.551 ms 20.661 ms 20.314 ms
8 80.91.248.130 43.182 ms 42.759 ms 43.089 ms
9 80.91.251.100 115.316 ms 114.909 ms 114.847 ms
10 80.91.250.5 115.404 ms 115.768 ms 115.413 ms
11 151.164.249.73 118.728 ms 118.529 ms 118.134 ms
12 151.164.95.192 191.823 ms 190.171 ms 188.512 ms
13 151.164.191.243 189.435 ms 189.415 ms 188.504 ms
14 75.61.192.10 191.332 ms 189.101 ms 191.219 ms
15 64.170.98.32 189.490 ms 192.163 ms 190.255 ms
Probadlo y ved los paquetes con tcpdump o wireshark
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS
Área de Ingeniería Telemática
ICMP
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Arquitectura de Redes, Sistemas y Servicios
3º Ingeniería de Telecomunicación
Comentarios de: ICMP (0)
No hay comentarios