Publicado el 5 de Junio del 2017
884 visualizaciones desde el 5 de Junio del 2017
258,3 KB
30 paginas
Creado hace 17a (30/10/2007)
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS
Área de Ingeniería Telemática
Fragmentación y Reensamblado en IP
ICMP
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Arquitectura de Redes, Sistemas y Servicios
3º Ingeniería de Telecomunicación
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Temario
Introducción
1.
2. Arquitecturas, protocolos y estándares
3. Conmutación de paquetes
4. Conmutación de circuitos
5. Tecnologías
6. Control de acceso al medio en redes de área local
7. Servicios de Internet
1/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Temario
Introducción
1.
2. Arquitecturas, protocolos y estándares
3. Conmutación de paquetes
•
•
•
Arquitectura de protocolos para LANs
Ethernet
Protocolos de Internet
•
•
•
Introducción histórica e Internetworking
Direccionamiento
IP en LAN. Fragmentación e ICMP
4. Conmutación de circuitos
5. Tecnologías
6. Control de acceso al medio en redes de área local
7. Servicios de Internet
2/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Objetivo
• Completar los conceptos básicos sobre
el nivel de red en Internet
3/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
Contenido
• Fragmentación y reensamblado
– Necesidad
– Implementación
– Problemas
• ICMP
– Características generales
– Condiciones generales de envío
– Mensajes
• Traceroute
4/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
Contenido
• Fragmentación y reensamblado
– Necesidad
– Implementación
– Problemas
• ICMP
– Características generales
– Condiciones generales de envío
– Mensajes
• Traceroute
5/29
Fragmentación y Reensamblado
Necesidad
• El nivel de enlace impone unos
límites al tamaño
• MTU = Maximum Transfer Unit
• Un datagrama
IP es dividido
dentro de la red (…)
• Un datagrama se convierte en
varios paquetes
Los routers NO reensamblan (…)
• Hosts y routers fragmentan
•
• Solo el host
reensambla (…)
receptor
MTU=1500
R4
final
Red A
MTU=1500
Fragmentación:
in: un datagrama grande
out: n paquetes más pequeños
R1
MTU=576
R2
R3
Red B
Red C
Reensamblado
Red D
6/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Red (RFC 1191)
16Mbps Token Ring
IEEE 802.4
FDDI
Ethernet
IEEE 802.3
X.25
MTU
17914
8166
4352
1500
1492
576
,
I
I
I
l
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
i
I
Fragmentación y Reensamblado
Codificación de la información
• Campos empleados:
– Identificación
– Bit MF
– Fragment offset
• Fragmentos del datagrama:
– Igual identificación, IP origen,
IP destino y protocolo
•
“Longitud” es la del paquete,
no del datagrama
• Ante un primer fragmento ⇒
reservar zona de memoria
donde reensamblar
• Debe reservar suficiente para
menos
reensamblar
datagramas de 576 Bytes
al
0
8
4
Length TOS
Versión Header
16-bit identifier
16
31
Longitud
M
13-bit fragmentation
F
offset
D
F
TTL
Protocolo Header checksum
Dirección IP origen
Dirección IP destino
[opciones]
[Datos]
7/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Fragmentación
Implementación
Ident
MF
=0
Offset
= 0
Tam 0
Datos
Tam 1
Ident
MF
=1
Offset
= 0
Datos 1
Ident
MF
=0
Offset
Datos 2
Tam 2
Offset = Tam1/8
Ident
MF
= 1
Offset
= 0
Datos 3
Ident
MF
= 1
Offset
Datos 4
Offset = Tam2/8
8/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Reensamblado
Implementación
Buffer
Ident
MF
=0
Offset
Datos 2
Offset = Tam1/8
Ident
MF
= 1
Offset
= 0
Datos 3
Ident
MF
= 1
Offset
Datos 4
Offset = Tam2/8
9/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
Situaciones de “error”
• Bit DF:
– En la cabecera IP
– DF==1 ⇒ routers no pueden fragmentar el paquete
– (Tam>MTU)&&(DF==1) ⇒ lo descarta y devuelve al host
origen un paquete indicando el error (ICMP)
• Reensamblado:
– Inicia un timer con el primer fragmento que recibe
– Si caduca el timer sin tener todos los fragmentos descarta
todo lo recibido y devuelve al origen un paquete indicando el
error (ICMP)
10/29
I
,
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
Problemas de la fragmentación
• Menor cociente Datos/Cabeceras
• Añade más carga a los routers (IPv6 la elimina)
• Si se pierde un fragmento:
– El receptor no puede recomponer el datagrama
– Tira todos los fragmentos recibidos
• Hasta que no se reciba todo el datagrama no se
pueden pasar los datos al nivel de transporte (mayor
retardo)
11/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
Contenido
• Fragmentación y reensamblado
– Necesidad
– Implementación
– Problemas
• ICMP
– Características generales
– Condiciones generales de envío
– Mensajes
• Traceroute
12/29
Características generales
,
I
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
•
Internet Control Message
Protocol (RFC 792)
• Para comunicar mensajes de
error y otra información del
nivel de red
del
13/29
• Mensajes
transportados
dentro de datagramas IP
• El destino es la dirección del
paquete IP que generó el error
• Parte del nivel IP
• Estructura
mensaje (…):
general
Cabecera IP
Datos IP
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
•
Internet Control Message
Protocol (RFC 792)
• Para comunicar mensajes de
error y otra información del
nivel de red
Características generales
• Mensajes
transportados
dentro de datagramas IP
• El destino es la dirección del
paquete IP que generó el error
• Parte del nivel IP
• Estructura
mensaje (…):
general
0
15 16
Cabecera IP
32
tipo
código
checksum
Dependiente del tipo y código
del
14/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
¿Dónde encaja ICMP en la pila TCP/IP?
Aplicación
Transporte
UDP
TCP
IP
ICMP
ARP
Red
Enlace
Físico
15/29
a Clases de mensajes ICMP
• Mensajes de Error:
l
I
,
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
• Mensajes de pregunta (query):
– Destino inalcanzable
– Redirect
– Tiempo excedido
– Source Quench
– Problema de parámetros
– Echo
– Router Advertisement
– Timestamp
– Información
– Address Mask
16/29
I
I
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
Condiciones generales de envío
• 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
17/29
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)
I
I
,
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
0
type=8
code
Identificador
15 16
32
Número de secuencia
checksum
Datos (opcional)
18/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
Mensajes ICMP
• Destino inalcanzable (error)
– tipo = 3
– Si según la tabla de rutas no se puede llegar
al destino, host/router debe enviarlo (…)
0
type=3
code
15 16
0
32
checksum
Cabecera IP + 8bytes datos del
paquete que dio error
19/29
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
l
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
e
d
a
e
r
i
Á
I
I
• Código:
– 0
– 1
inalcanzable
inalcanzable
=
=
Red
Host
destino
destino
Mensajes ICMP
(Destino inalcanzable)
=
– 3
Puerto
destino
inalcanzable
– 4
=
Fragmentación
necesaria y DF activo
– 5 = Source route failed
– 2 = Protocolo destino
inalcanzable
0
type=3
code
15 16
0
32
checksum
Cabecera IP + 8bytes datos del
paquete que dio error
20/29
Mensajes ICMP
• Tiempo excedido (error)
– tipo = 11
– código = 0 (TTL=0 en tránsito), 1 (timeout
primer
reensamblado,
necesita
durante
paquete)
,
I
I
I
l
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
a
c
i
t
á
m
e
e
T
a
í
r
e
n
e
g
n
I
Comentarios de: Fragmentación y Reensamblado en IP ICMP (0)
No hay comentarios