lunes, 29 de marzo de 2010

Práctica 2. Cuestión 2: Sobre la fragmentación de datagramas ip



Empleando el programa Monitor de Red de la misma forma que en la situación anterior, ejecutar:

C:\>ping –n 1 –l 2000 172.20.43.230 (...la opción –l especifica la cantidad de datos a enviar)

2.a. Filtra los paquetes en los que esté involucrada tu dirección IP. A continuación, describe el número total de fragmentos correspondientes al datagrama IP lanzado al medio, tanto en la petición de ping como en la respuesta. ¿Cómo están identificados en el Monitor de Red todos estos paquetes (ICMP, IP, HTTP, TCP...)? ¿qué aparece en la columna ‘info” del Monitor de Red?

Tenemos dos paquetes ICMP correspondientes a la petición (echo request) y a la respuesta (echo reply) respectivamente. Y otros dos con protocolo IP identificados como fragmented ip protocol, que corresponden a la petición y respuesta de ICMP realizada.

2.b.¿En cuantos fragmentos se ha “dividido” el datagrama original?

Tenemos dos fragmentos, uno el ICMP y otro el IP fragment. Como el ping tiene 2000 bytes entre cabecera y datos y Ethernet tan sólo soporta 1500 bytes tiene que fragmentar el datagrama.

El primer fragmento ICMP tiene 1500 bytes y el segundo IP tiene 548 bytes.

2.c. Analiza la cabecera de cada datagrama IP de los paquetes relacionados con el “ping” anterior. Observa el campo “identificación”, “Flags” y “Fragment offset” de los datagramas. ¿Qué valor tienen en estos campos en los datagramas anteriores? Indica en la columna “dirección” si son de petición o respuesta. Muestra los datagramas en el orden de aparición del Monitor de Red.

Datagrama nº

Protocolo

Dirección

Flags

Frag. Offset

Identificación

1-36

ICMP

172.20.43.230 (petición)

0x01(more fragments)

0

0x37ea (14314)

2-37

IP

172.20.43.230 (petición)

0x00

1480

0x37ea (14314)

3-38

ICMP

172.20.43.209 (respuesta)

0x01(more fragments)

0

0x37ea (14314)

4-39

IP

172.20.43.209 (respuesta)

0x00

1480


0x37ea (14314)

2.d. ¿Qué ocurre en la visualización de los fragmentos de datagramas si introduces un filtro para ver únicamente paquetes de “icmp” en el Monitor de Red? ¿qué fragmentos visualizas ahora?


En el campo filter ponemos ip.addr==172.20.43.209 && icmp para filtrar lo que entra y sale de nuestra máquina y para quedarnos con los paquetes ICMP.

Sólo se visualizan los paquetes ICMP y por tanto no ves los 548 bytes correspondientes al IP fragment.

Esto es debido a que los IP fragment no conservan la cabecera ICMP sólo la IP.

2.e.¿Para qué se pueden emplear los campos “Identificación”, “Flags” y “Fragment offset” de los datagramas IP?

El campo “Identificación” indica cada fragmento al datagrama que le corresponde, el campo “Flags” nos indica el número de fragmentos que nos faltan para completar el datagrama y la posición en la que se encuentra el mismo.

El campo Offset indica a partir de dónde se cogen los datos. Esta información será útil para el posterior reensamblado del mensaje. Offset sólo será ‘0’ en el primer fragmento.

2.f. A continuación, se pretende observar que los datagramas pueden fragmentarse en unidades más pequeñas si tienen que atravesar redes en las que la MTU es menor a la red inicial en la que se lanzaron los paquetes originales. Inicia el Monitor de Red y captura los paquetes IP relacionados con el siguiente comando:

C:\>ping –n 1 –l 1600 10.3.7.0

(antes de contestar debes confirmar que en MSDOS el resultado del ping es correcto: paquetes enviados:1 , paquetes recibidos:1)

Indica el número total de datagramas en la red e identifica si son de petición o de respuesta (dirección):

Aparecen desordenados porque el router los ha procesado y nos manda primero el últimpo que le ha llegado

Datagrama nº

Protocolo

Dirección

Flags

Frag. Offset

Identificación

1

ICMP

Petición

0x01(more fragments)

0

0x411b (16667)

2

IP

Petición

0x00

1480

0x411b (16667)

3

IP

Respuesta

0x00

1440

0x009e (158)

4

IP

Respuesta

0x01(more fragments)

960

0x009e (158)

5

IP

Respuesta

0x01(more fragments)

480

0x009e (158)

6

ICMP

Respuesta

0x01(more fragments)

0

0x009e (158)

No hay comentarios:

Publicar un comentario