PDF de programación - Clase 9 Fragmentación y Reensamblado ICMP

Imágen de pdf Clase 9 Fragmentación y Reensamblado ICMP

Clase 9 Fragmentación y Reensamblado ICMPgráfica de visualizaciones

Publicado el 14 de Enero del 2017
726 visualizaciones desde el 14 de Enero del 2017
322,1 KB
31 paginas
Creado hace 18a (04/10/2005)
Clase 9
Fragmentación y Reensamblado
ICMP
Tema 3.- Interconexión de redes IP

Dr. Daniel Morató
Redes de Ordenadores
Ingeniero Técnico de Telecomunicación Especialidad en
Sonido e Imagen, 3º curso

Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas

Fragmentación y reensamblado - ICMP

1/30

Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP





4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas

Internetworking e IP
Direccionamiento clásico
CIDR
Comunicación IP en LAN (ARP)
Fragmentación y reensamblado. ICMP

Fragmentación y reensamblado - ICMP

2/30

Objetivo
Completar los conceptos básicos sobre el

nivel de red en Internet

Fragmentación y reensamblado - ICMP

3/30

Contenido
Fragmentación y reensamblado

Necesidad
Implementación
Problemas

ICMP

Características generales
Condiciones generales de envío
Mensajes
Traceroute

Fragmentación y reensamblado - ICMP

4/30

Contenido
Fragmentación y reensamblado

Necesidad
Implementación
Problemas

ICMP

Características generales
Condiciones generales de envío
Mensajes
Traceroute

Fragmentación y reensamblado - ICMP

5/30

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

 Hosts y routers fragmentan
 Los routers NO reensamblan (…)
 Solo

receptor

el

host

reensambla (…)

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/30

Red (RFC 1191)
16Mbps Token Ring
IEEE 802.4
FDDI
Ethernet
IEEE 802.3
X.25

MTU
17914
8166
4352
1500
1492
576

Fragmentación y reensamblado - ICMP

Fragmentación y Reensamblado
Codificación de la información

16

31

8

0
4
TOS
Versión Header
Length
16-bit identifier
TTL

D
F

Longitud
M
13-bit fragmentation
offset
F
Protocolo Header checksum
Dirección IP origen
Dirección IP destino

[opciones]
[Datos]

 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 reensamblar al menos datagramas

de 576 Bytes

Fragmentación y reensamblado - ICMP

7/30

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

Fragmentación y reensamblado - ICMP

8/30

Offset = Tam2/8

Buffer

Reensamblado
Implementación

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

Fragmentación y reensamblado - ICMP

9/30

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)

Fragmentación y reensamblado - ICMP

10/30

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)

Fragmentación y reensamblado - ICMP

11/30

Contenido
Fragmentación y reensamblado

Necesidad
Implementación
Problemas

ICMP

Características generales
Condiciones generales de envío
Mensajes
Traceroute

Fragmentación y reensamblado - ICMP

12/30

Características generales

 Internet

Control
Protocol (RFC 792)

Message

 Para comunicar mensajes de
información del

error y otra
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
 Estructura general del mensaje

(…):

Cabecera IP

Datos IP

Fragmentación y reensamblado - ICMP

13/30

Características generales

 Internet

Control
Protocol (RFC 792)

Message

 Para comunicar mensajes de
información del

error y otra
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
 Estructura general del mensaje

(…):

0

15 16

Cabecera IP

32

tipo

código

checksum

Dependiente del tipo y código

Fragmentación y reensamblado - ICMP

14/30

¿Dónde encaja ICMP en la pila TCP/IP?

Aplicación

Transporte

UDP

TCP

IP

ICMP

ARP

Red

Enlace

Físico

Fragmentación y reensamblado - ICMP

15/30

Clases de mensajes ICMP
 Mensajes de Error:
 Destino inalcanzable
 Redirect
 Tiempo excedido
 Source Quench
 Problema de parámetros

 Mensajes de pregunta (query):

 Echo
 Router Advertisement
 Timestamp
 Información
 Address Mask

Fragmentación y reensamblado - ICMP

16/30

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

Fragmentación y reensamblado - ICMP

17/30

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)

0

type=8

code

Identificador

15 16

32
Número de secuencia

checksum

Datos (opcional)

Fragmentación y reensamblado - ICMP

18/30

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

Fragmentación y reensamblado - ICMP

19/30

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

Fragmentación y reensamblado - ICMP

20/30

Mensajes ICMP
 Tiempo excedido (error)

tipo = 11
código = 0 (TTL=0 en tránsito), 1 (timeout durante

reensamblado, necesita primer paquete)

0

type=11

code

15 16
0

32

checksum

Cabecera IP + 8bytes datos del

paquete que dio error

Fragmentación y reensamblado - ICMP

21/30

Contenido
Fragmentación y reensamblado

Necesidad
Implementación
Problemas

ICMP

Características generales
Condiciones generales de envío
Mensajes
Traceroute

Fragmentación y reensamblado - ICMP

22/30

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

Fragmentación y reensamblado - ICMP

23/30

Traceroute

 El host inicial envía un datagrama UDP (…)

 Dirigido al host final
 Con TTL = 1

 El primer router decrementa el TTL a 0 (…)

TTL
1

IP
IPR1if0

 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 del

host (… …)

if1

if0

R1

if0

if1

R5

if0

if0

R2

if1

if2

if0

if1
if2

R4

R3

if1

Fragmentación y reensamblado - ICMP

24/30

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

hacia el host origen (…)

TTL
TTL
1
1
2

IP
IP
IPR1if0
IPR1if0
IPR2if0

if1

if0

R1

if0

if1

R5

if0

if0

R2

if1

if2

if0

if1
if2

R4

R3

if1

Fragmentación y reensamblado - ICMP

25/30

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

inalcanzable (… …)

ICMP de Error Puerto destino

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

Fragmentación y reensamblado - ICMP

26/30

Traceroute (Ejemplo)

daniel% traceroute www.berkeley.edu
traceroute to arachne.berkeley.edu (169.229.131.109), 30 hops max, 40 byte packets
1 arce-un.red.unavarra.es (130.206.160.1) 1.691 ms 0.438 ms 0.417 ms
2 ss-in (130.206.15
  • Links de descarga
http://lwp-l.com/pdf839

Comentarios de: Clase 9 Fragmentación y Reensamblado 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