Está en la página 1de 8

Machine Translated by Google

Laboratorio Wireshark: TCP v7.0


Suplemento a las redes de computadoras: un enfoque de arriba
hacia abajo, 7.ª ed., JF Kurose y KW Ross

“Dímelo y lo olvido. Muéstramelo y lo recuerdo. Involúcrame y lo


entiendo”. Proverbio chino

© 2005­2016, JF Kurose y KW Ross, Todos los derechos reservados

En esta práctica de laboratorio, investigaremos en detalle el comportamiento del célebre protocolo TCP. Lo
haremos analizando un rastro de los segmentos TCP enviados y recibidos al transferir un archivo de 150 KB (que
contiene el texto de Alicia en el país de las maravillas de Lewis Carrol) desde su computadora a un servidor
remoto. Estudiaremos el uso de números de secuencia y acuse de recibo por parte de TCP para proporcionar
una transferencia de datos confiable; veremos el algoritmo de control de congestión de TCP (inicio
lento y evitación de congestión) en acción; y veremos el mecanismo de control de flujo anunciado por el
receptor de TCP. También consideraremos brevemente la configuración de la conexión TCP e investigaremos el
rendimiento (rendimiento y tiempo de ida y vuelta) de la conexión TCP entre su computadora y el servidor.

Antes de comenzar esta práctica de laboratorio, probablemente desee revisar las secciones 3.5 y 3.7 del
texto1 .

1. Capturar una transferencia TCP masiva desde su computadora a un control remoto


servidor

Antes de comenzar nuestra exploración de TCP, necesitaremos usar Wireshark para obtener un seguimiento de
paquetes de la transferencia TCP de un archivo desde su computadora a un servidor remoto. Lo hará accediendo
a una página web que le permitirá ingresar el nombre de un archivo almacenado en su computadora
(que contiene el texto ASCII de Alicia en el país de las maravillas) y luego transferir el archivo a un servidor
web usando HTTP POST. método (ver sección 2.2.3 en el texto). Estamos utilizando el método POST en lugar
del método GET porque nos gustaría transferir una gran cantidad de datos de su computadora a otra
computadora. Por supuesto, estaremos corriendo
Wireshark durante este tiempo para obtener el seguimiento de los segmentos TCP enviados y recibidos
desde su computadora.

1
Las referencias a figuras y secciones corresponden a la séptima edición de nuestro texto, Computer Networks,
A Top­down Approach, 7.ª ed., JF Kurose y KW Ross, Addison­Wesley/Pearson, 2016.
Machine Translated by Google

Haz lo siguiente:
• Inicie su navegador web. Vaya a http://gaia.cs.umass.edu/wireshark­
labs/alice.txt y recuperar una copia ASCII de Alicia en el país de las maravillas. Guarde este archivo
en algún lugar de su computadora.
• Luego vaya a http://gaia.cs.umass.edu/wireshark­labs/TCP­wireshark­file1.html.
• Deberías ver una pantalla similar a:

• Utilice el botón Examinar en este formulario para ingresar el nombre del archivo (nombre de ruta
completo) en su computadora que contiene Alicia en el País de las Maravillas (o hágalo manualmente).
No presione todavía el botón "Subir archivo alice.txt" .
• Ahora inicie Wireshark y comience la captura de paquetes (Capturar­>Iniciar) y luego presione OK en la
pantalla Opciones de captura de paquetes de Wireshark (no necesitaremos seleccionar ninguna
opción aquí).
• Volviendo a su navegador, presione el botón “Cargar archivo alice.txt” para cargar el archivo al servidor
gaia.cs.umass.edu. Una vez que se haya cargado el archivo, se mostrará un breve mensaje de
felicitación en la ventana de su navegador.
• Detener la captura de paquetes de Wireshark. Su ventana de Wireshark debería verse similar a
la ventana que se muestra a continuación.
Machine Translated by Google

Si no puede ejecutar Wireshark en una conexión de red activa, puede descargar un archivo de
seguimiento de paquetes que se capturó mientras seguía los pasos anteriores en una de las
computadoras del autor2 . Es posible que le resulte valioso descargar este seguimiento
incluso si ha capturado su propio seguimiento y lo ha utilizado, así como su propio seguimiento,
cuando explore las preguntas siguientes.

2. Un primer vistazo al rastro capturado

Antes de analizar en detalle el comportamiento de la conexión TCP, echemos un vistazo de alto


nivel al seguimiento.
• Primero, filtre los paquetes que se muestran en la ventana de Wireshark ingresando
“tcp” (minúsculas, sin comillas, ¡y no olvide presionar Intro después de ingresar!) en la
ventana de especificación del filtro de visualización en la parte superior de la ventana de Wireshark.

Lo que debería ver es una serie de mensajes TCP y HTTP entre su computadora y gaia.cs.umass.edu.
Debería ver el protocolo de enlace inicial de tres vías que contiene un mensaje SYN. Deberías ver
un mensaje HTTP POST. Dependiendo de la versión de

2
Descargue el archivo zip http://gaia.cs.umass.edu/wireshark­labs/wireshark­traces.zip y extraiga el archivo tcp­ethereal­
trace­1. Los rastros en este archivo zip fueron recopilados por Wireshark ejecutándose en una de las computadoras
del autor, mientras se realizaban los pasos indicados en el laboratorio de Wireshark. Una vez que haya descargado
el seguimiento, puede cargarlo en Wireshark y verlo usando el menú desplegable Archivo , eligiendo Abrir y luego
seleccionando el archivo de seguimiento tcp­ethereal­trace­1.
Machine Translated by Google

Wireshark que está utilizando, es posible que vea una serie de mensajes de "Continuación HTTP" que se
envían desde su computadora a gaia.cs.umass.edu. Recuerde de nuestra discusión en el laboratorio
anterior de HTTP Wireshark, que no existe un mensaje de continuación HTTP; esta es la forma en que
Wireshark indica que se están utilizando múltiples segmentos TCP para transportar un solo mensaje HTTP.
En versiones más recientes de Wireshark, verá "[segmento TCP de una PDU reensamblada]" en la
columna Información de la pantalla de Wireshark para indicar que este segmento TCP contenía datos
que pertenecían a un mensaje de protocolo de capa superior (en nuestro caso aquí , HTTP). También
debería ver segmentos TCP ACK devueltos desde gaia.cs.umass.edu a su computadora.

Responda las siguientes preguntas abriendo el archivo de paquete capturado de Wireshark tcp­
ethereal­trace­1 en http://gaia.cs.umass.edu/wireshark­labs/wireshark­traces.zip (es decir, descargue el
seguimiento y ábralo traza en Wireshark; ver nota al pie 2). Siempre que sea posible, al responder una
pregunta, debe entregar una copia impresa del paquete (s) dentro del rastro que utilizó para responder la
pregunta formulada. Anota la copia impresa3 para explicar tu respuesta. Para imprimir un paquete,
use Archivo­>Imprimir, elija Solo paquete seleccionado, elija Línea de resumen del paquete y seleccione
la cantidad mínima de detalles del paquete que necesita para responder la pregunta.

1. ¿Cuál es la dirección IP y el número de puerto TCP utilizados por la computadora cliente (fuente)
que transfiere el archivo a gaia.cs.umass.edu? Para responder a esta pregunta,
probablemente sea más fácil seleccionar un mensaje HTTP y explorar los detalles del paquete
TCP utilizado para transportar este mensaje HTTP, utilizando los "detalles de la ventana del
encabezado del paquete seleccionado" (consulte la Figura 2 en la sección "Cómo comenzar con
Wireshark” Lab si no está seguro acerca de las ventanas de Wireshark.
2. ¿Cuál es la dirección IP de gaia.cs.umass.edu? ¿En qué número de puerto envía y recibe
segmentos TCP para esta conexión?

Si has podido crear tu propio rastro, responde la siguiente pregunta:

3. ¿Cuál es la dirección IP y el número de puerto TCP utilizados por su computadora cliente


(fuente) para transferir el archivo a gaia.cs.umass.edu?

Dado que esta práctica de laboratorio trata sobre TCP en lugar de HTTP, cambiemos la ventana
"listado de paquetes capturados" de Wireshark para que muestre información sobre los
segmentos TCP que contienen los mensajes HTTP, en lugar de sobre los mensajes HTTP.
Para que Wireshark haga esto, seleccione Analizar­>Protocolos habilitados. Luego desmarque la casilla
HTTP y seleccione Aceptar. Ahora deberías ver una ventana de Wireshark similar a la siguiente:

3
¿Qué queremos decir con "anotar"? Si entrega una copia en papel, resalte en qué parte de la copia
impresa encontró la respuesta y agregue algo de texto (preferiblemente con un bolígrafo de color) anotando
lo que encontró en lo que destacó. Si entrega una copia electrónica, sería fantástico si también pudiera
resaltar y anotar.
Machine Translated by Google

Esto es lo que estamos buscando: una serie de segmentos TCP enviados entre su computadora y
gaia.cs.umass.edu. Usaremos el seguimiento del paquete que ha capturado (y/o el seguimiento del
paquete tcp­ethereal­trace­1 en http://gaia.cs.umass.edu/wireshark­labs/wireshark­traces.zip; consulte la
nota al pie anterior ) para estudiar el comportamiento de TCP en el resto de esta práctica de laboratorio.

3. Conceptos básicos de TCP

Responda las siguientes preguntas para los segmentos TCP:

4. ¿Cuál es el número de secuencia del segmento TCP SYN que se utiliza para iniciar la conexión TCP
entre la computadora cliente y gaia.cs.umass.edu? ¿Qué hay en el segmento que identifica al
segmento como un segmento SYN?
5. ¿Cuál es el número de secuencia del segmento SYNACK enviado por gaia.cs.umass.edu a la
computadora cliente en respuesta al SYN? ¿Cuál es el valor del campo Acuse de
recibo en el segmento SYNACK? ¿Cómo determinó gaia.cs.umass.edu ese valor? ¿Qué hay en
el segmento que identifica el segmento como un segmento SYNACK?

6. ¿Cuál es el número de secuencia del segmento TCP que contiene el HTTP POST?
¿dominio? Tenga en cuenta que para encontrar el comando POST, deberá profundizar en el
campo de contenido del paquete en la parte inferior de la ventana de Wireshark, buscando un
segmento con "POST" dentro de su campo DATOS.
7. Considere el segmento TCP que contiene HTTP POST como el primer segmento de la conexión
TCP. ¿Cuáles son los números de secuencia de los primeros seis segmentos de la
Machine Translated by Google

¿Conexión TCP (incluido el segmento que contiene HTTP POST)? ¿A qué hora se envió cada segmento?
¿Cuándo se recibió el ACK de cada segmento?
Dada la diferencia entre el momento en que se envió cada segmento TCP y el momento en que se
recibió su acuse de recibo, ¿cuál es el valor RTT para cada uno de los seis segmentos? ¿Cuál es
el valor RTT estimado (consulte la Sección 3.5.3, página 242 en el texto) después de recibir cada ACK?
Supongamos que el valor del RTT estimado es igual al RTT medido para el primer
segmento y luego se calcula utilizando la ecuación del RTT estimado en la página 242 para todos los
segmentos posteriores.

Nota: Wireshark tiene una característica interesante que le permite trazar el RTT para cada
uno de los segmentos TCP enviados. Seleccione un segmento TCP en la ventana "listado de
paquetes capturados" que se envía desde el cliente al servidor gaia.cs.umass.edu.
Luego seleccione: Estadísticas­>TCP Stream Graph­
>Gráfico de tiempo de ida y vuelta.
8. ¿Cuál es la longitud de cada uno de los primeros seis segmentos TCP?4
9. ¿Cuál es la cantidad mínima de espacio de búfer disponible anunciada en el momento de la recepción para
todo el seguimiento? ¿La falta de espacio en el buffer del receptor alguna vez acelera al remitente?

10. ¿Hay segmentos retransmitidos en el archivo de seguimiento? ¿Qué comprobaste (en


el rastro) para responder a esta pregunta?
11. ¿Cuántos datos reconoce normalmente el receptor en un ACK? ¿Puede identificar casos en los que el
receptor confirma cada dos segmentos recibidos (consulte la Tabla 3.2 en la página 250 del texto)?

12. ¿Cuál es el rendimiento (bytes transferidos por unidad de tiempo) de la conexión TCP?
Explica cómo calculaste este valor.

4
Los segmentos TCP en el archivo de seguimiento tcp­ethereal­trace­1 tienen menos de 1460 bytes. Esto se debe a que
la computadora en la que se recopiló el seguimiento tiene una tarjeta Ethernet que limita la longitud del paquete IP
máximo a 1500 bytes (40 bytes de datos de encabezado TCP/IP y 1460 bytes de carga útil TCP). Este valor de 1500
bytes es la longitud máxima estándar permitida por Ethernet. Si su seguimiento indica una longitud de TCP superior a
1500 bytes y su computadora está utilizando una conexión Ethernet, entonces Wireshark informa una longitud de segmento
TCP incorrecta; probablemente también mostrará sólo un segmento TCP grande en lugar de varios segmentos más
pequeños. De hecho, es probable que su computadora esté enviando múltiples segmentos más pequeños, como lo indican
los ACK que recibe. Esta inconsistencia en las longitudes de los segmentos reportados se debe a la interacción entre el
controlador Ethernet y el software Wireshark. Le recomendamos que, si tiene esta inconsistencia, realice esta práctica de
laboratorio utilizando el archivo de seguimiento proporcionado.
Machine Translated by Google

4. Control de congestión de TCP en acción

Examinemos ahora la cantidad de datos enviados por unidad de tiempo desde el cliente al servidor.
En lugar de (¡tediosamente!) calcular esto a partir de los datos sin procesar en la ventana de Wireshark,
usaremos una de las utilidades de gráficos TCP de Wireshark, Time­Sequence­Graph(Stevens) , para trazar
los datos.
• Seleccione un segmento TCP en la ventana “listado de paquetes capturados” de Wireshark.
Luego seleccione el menú: Estadísticas­>Gráfico de flujo TCP­>Gráfico de secuencia de
tiempo (Stevens). Debería ver un gráfico similar al siguiente, que se creó a partir de los paquetes
capturados en el seguimiento de paquetes tcp­ethereal­trace­1 en http://gaia.cs.umass.edu/
wireshark­labs/wireshark­ traces.zip (ver nota al pie anterior):

Aquí, cada punto representa un segmento TCP enviado, lo que representa el número de
secuencia del segmento versus el momento en que se envió. Tenga en cuenta que un conjunto
de puntos apilados uno encima del otro representa una serie de paquetes que el remitente envió
uno detrás del otro.
Machine Translated by Google

Responda las siguientes preguntas para los segmentos TCP del seguimiento del paquete tcp­
ethereal­trace­1 en http://gaia.cs.umass.edu/wireshark­labs/wireshark­traces.zip
13. Utilice la herramienta de trazado Time­Sequence­Graph (Stevens) para ver el gráfico
de número de secuencia versus tiempo de los segmentos que se envían desde
el cliente al servidor gaia.cs.umass.edu. ¿Puede identificar dónde comienza y termina la fase
de inicio lento de TCP y dónde se hace cargo la prevención de la congestión? Comente
las formas en que los datos medidos difieren del comportamiento idealizado de TCP que
hemos estudiado en el texto.
14. Responda cada una de las dos preguntas anteriores sobre el rastro que recopiló cuando
transfirió un archivo desde su computadora a gaia.cs.umass.edu.

También podría gustarte