Laboratorio Cinco - Procesos de Fragmentacion-Ver 1.1
Laboratorio Cinco - Procesos de Fragmentacion-Ver 1.1
Laboratorio Cinco - Procesos de Fragmentacion-Ver 1.1
Práctica de laboratorio No 5
Nombres, Apellidos y
No de carnet
----------------
Objetivos
Trabajo previo
• Leer los temas relacionados al mecanismo de arranque lento y control de congestión, al igual que el algoritmo
de Nagle y la solución de Clark de la clase teórica.
• Leer en la VM de Linux usando el comando man, la aplicación ping y sus opciones posibles a utilizar
• Estudiar sobre la herramienta open source nuttcp y su uso en esta práctica (requisito necesario)
Medios y equipos
Introducción
Del trabajo previo asignado sobre la herramienta nuttcp se debe tener a mano lo investigado, ya que será la
herramienta que se empleará para observar el efecto de la fragmentación de IP en el tráfico UDP y TCP. La
fragmentación se produce cuando la capa de transporte envía un paquete de datos a la capa IP el cual excede a
la Unidad de Transmisión Máxima (MTU) de la red de enlace de datos subyacente. Por ejemplo, en las redes
Ethernet II (conocidas como Ethernet DIX), la MTU es de 1500 bytes. Si un datagrama IP excede el tamaño de la
MTU, el datagrama se fragmenta en múltiples datagramas o, si el indicador No Fragmentar (DF) se establece en
el encabezado IP, se descarta el datagrama y se devuelve un mensaje ICMP al remitente indicando el problema
que se tiene al no poder fragmentar dicho envío.
-1- Elaborado por: Prof. Jairo Fúnez Lira, ver 1.1, 2023
Guía de laboratorio #5 – Procesos de fragmentación en la capa de transporte
Como un buen hábito, se debe realizar en el cuaderno de experimentos, una tabla en donde se reflejen las
IP de cada una de las interfaces de cada enrutador y/o computadora usada en el escenario:
Cuando un datagrama IP está fragmentado, su carga útil se divide a través de varios datagramas, cada uno
cumpliendo el límite impuesto por el MTU que se va encontrando en el camino, desde su origen hasta su destino.
Cada fragmento es un datagrama IP independiente y se enruta en la red independientemente de los otros frag-
mentos. La fragmentación puede ocurrir en el host de envío o en enrutadores intermedios. Los fragmentos se re-
ensamblan solamente en el host de destino.
Aunque la fragmentación de IP proporciona flexibilidad, ésta, puede ocultar las diferencias de tecnologías de
enlace de datos a las capas superiores, so pena a incurrir en gastos extras considerables para los equipos que
intervienen en su proceso y, por lo tanto, debe evitarse. TCP intenta evitar fragmentación con un esquema de
descubrimiento MTU de ruta de acceso que determina un tamaño de segmento máximo (MSS), que no da lugar
a fragmentación.
En esta parte, se va a exploran los problemas con la fragmentación IP de las transmisiones TCP y UDP en la
configuración de red mostrada en el inicio de la práctica, con WSK-NORTE como host de envío, WSK-SUR como
host receptor y R1 y R2 como enrutadores intermedios.
Lo primero que se hará será probar hacer fragmentación de UDP para ello se hace uso del comando de red ping,
para ello, se harán envío de paquetes en donde se irá incrementando el tamaño de los segmentos UDP hasta
que ocurra la fragmentación, luego se observará el header IP, el primer envio se hace con el tamaño por defecto
del ping, el cual es 56 bytes a nivel MAC.
root@WSK-NORTE:~$ping -c 5 30.3.5.5
root@WSK-NORTE:~$ping -c 5 -s 1000 30.3.5.5
root@WSK-NORTE:~$ping -c 5 –s 10000 30.3.5.5
root@WSK-NORTE:~$ping -c 5 –s 60000 30.3.5.5
- Explique en su reporte, el motivo del porqué el comando ping indica un valor de 64 byte y también 84
bytes para el mismo primer envío realizado. Además, explique en su reporte porqué se le suma 8 bytes
a los valores que se han declarado para los tamaños de envíos hechos.
Continuando con el experimento, lo que se hará ahora es usar a nuttcp con un tamaño que se irá incremen-
tando de poco a poco el tamaño en bytes del paquete declarado en la opción –l xxx (en donde xxxx lo debe-
rás sustituir por:256, 512, 1024, 2048 …) (es una letra ele para definir la palabra LOAD).
- Inicie Wireshark en el emulador GNS3, justamente en el enlace entre el HUB1 y la WSK-NORTE, inmedia-
tamente comience la transmisión de paquetes desde la WSK-NORTE hacia la WSK-SUR usando la siguiente
configuración (el puerto predeterminado de escucha es 5000):
root@WSK-SUR:~$nuttcp –S
A partir de los datos de Wireshark guardados, seleccione un datagrama IP que esté fragmentado. Observe el
datagrama completo antes de la fragmentación e incluya todos los fragmentos después de la fragmentación.
Para cada fragmento de este datagrama, determine los valores de los campos del encabezado IP que se utilizan
para la fragmentación (identificación, desfragmentación de fragmentos, no fragmento de bits, más fragmentos
de bits).
• Cuando se establece una conexión TCP, se negocia el tamaño máximo de segmento (MSS) que se va a utilizar.
Tanto el cliente TCP como el servidor envían el MSS como una opción en el encabezado TCP del primer seg-
mento TCP transmitido. Cada lado establece el MSS para que no ocurre ninguna fragmentación en la interfaz de
red saliente, cuando éste transmite segmentos. El valor menor se adopta como valor MSS para la conexión.
• El intercambio de los MSS se dirige sólo en los hosts, no se aplica en los routers intermedios. Para determinar
la MTU más pequeña en la ruta desde el emisor al receptor, TCP emplea un método conocido como Path MTU
Discovery, que funciona de la siguiente manera. El remitente siempre establece el bit DF en todos los datagramas
IP. Cuando un enrutador necesita fragmentar un paquete IP con el conjunto de bit DF, descarta el paquete y
genera un mensaje de error ICMP de tipo "destino inaccesible; fragmentación necesaria”. Al recibir un mensaje
de error ICMP, el emisor TCP reduce el tamaño del segmento. Esto, continúa hasta que se determina un tamaño
de segmento que no activa un mensaje de error.
Ya que en los enrutadores intermedios no se negocian los MSS, se procede a hacer un primer envío usando el
MSS que por defecto emplea Ethernet (1500 bytes)
- Detenga la captura de wireshark justo después de finalizare la transmisión y analice cual fue el valor
de MTU aplicado a dicha transmisión.
Ahora vamos a modificar los valores de MTU dentro de los enrutadores R1 y R2, para ello hacemos:
R1#configure terminal
R1(config)#interface serial 0/0
R1(config-if)#mtu 500
R1(config)#end
R2#configure terminal
R2(config)#interface serial 0/0
R2(config-if)#mtu 500
R2(config)#end
Repita el paso anterior, incrementando el tamaño del segmento a: 256, 512, 1024 ... hasta que hayas ob-
servado la segmentación.
- Detenga la captura de Wireshark , guarde lo capturado y proceda a colocar el MTU de los enrutado-
res en 1500 bytes (tienes que apagarlos y volverlos a encender en el emulador).
- Has logrado observar la fragmentación? ¿Si fue así, donde ocurrió? Explique sus observaciones
- Si has observado el mensaje de error ICMP, describe como fue usado el Path MTU Discovery, mira el
primer segmento que se envió desde que WSK-NORTE recibió el mensaje de error.
Puede investigar un poco más sobre los protocolos que se cumplen en la realización de esta práctica como son: