0% encontró este documento útil (0 votos)
24 vistas11 páginas

GP32 2023 24

La práctica TCP consiste en analizar el comportamiento del protocolo TCP mediante Wireshark, enfocándose en la transferencia de un archivo y el uso de números de secuencia y reconocimiento para asegurar la fiabilidad. Se revisan aspectos como el control de flujo, la congestión y el rendimiento de la conexión, además de realizar preguntas específicas sobre la captura de datos. Finalmente, se proporciona una guía para capturar datos TCP y analizar el throughput de la conexión.

Cargado por

xesaxic421
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas11 páginas

GP32 2023 24

La práctica TCP consiste en analizar el comportamiento del protocolo TCP mediante Wireshark, enfocándose en la transferencia de un archivo y el uso de números de secuencia y reconocimiento para asegurar la fiabilidad. Se revisan aspectos como el control de flujo, la congestión y el rendimiento de la conexión, además de realizar preguntas específicas sobre la captura de datos. Finalmente, se proporciona una guía para capturar datos TCP y analizar el throughput de la conexión.

Cargado por

xesaxic421
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PRÁCTICA TCP

GP32 Protocolo TCP

Revisión del protocolo TCP mediante el uso de Wireshark.

Evaluable en el examen de laboratorio.


PRÁCTICA TCP

PROTOCOLO TCP
En esta práctica, vamos a analizar el comportamiento del protocolo TCP. Lo haremos mediante el análisis de
una captura de los segmentos TCP enviados y recibidos durante la transferencia de un archivo de unos 150
KB desde un ordenador a un servidor remoto.

Se va a estudiar el uso de los números de secuencia y de reconocimiento (ACK) para proporcionar una
transferencia de datos fiable en TCP. También se introduce el algoritmo de control de flujo y se muestra
brevemente el funcionamiento del control de la congestión en TCP. Además, se revisan la configuración de la
conexión TCP y el rendimiento (concretamente el rendimiento y el tiempo de ida y vuelta) de la conexión TCP
entre el ordenador y el servidor.

Puesto que el funcionamiento del protocolo TCP depende en gran medida de la implementación concreta con
la que se esté trabajando, vamos a utilizar para el análisis la captura que se proporciona junto a este
enunciado. Sin embargo, resulta de gran interés que compare el resultado obtenido al responder a las
cuestiones planteadas en la práctica con el resultado que se obtendría trabajando con una captura que
realizara usted. Para hacerlo siga las instrucciones que se dan en el Anexo incluido al final de este enunciado.

Un primer vistazo a las trazas capturadas


Antes de analizar el comportamiento de la conexión TCP en detalle, vamos a realizar una revisión a alto nivel
de la traza.

En primer lugar, se filtran los paquetes que se muestran en la ventana Wireshark introduciendo "tcp" (en
minúsculas, sin comillas) en la ventana del filtro, en la parte superior de la ventana de Wireshark y pulsando el
botón “Apply”. Por otro lado, compruebe que la resolución de puertos que hace Wireshark está deshabilitada,
desmarcando la siguiente casilla:

View àName resolution àResolve Transport Addresses

Para que este cambio se haga efectivo, debe hacer View àReload.

Por otro lado, compruebe que está deshabilitado el reensamblado a nivel de visualización que realiza
Wireshark para observar el intercambio de segmentos con mayor claridad del siguiente modo:

Edit àPreferences àProtocols àHTTP


Desde ese menú, las siguientes casillas deben estar desmarcadas:

Reassemble HTTP headers spanning multiple TCP segments


Reassemble HTTP bodies spanning multiple TCP segments

Ahora, lo que usted debe ver es la serie de mensajes TCP y HTTP que se intercambian el ordenador y
[Link]. Se debe ver el saludo inicial de tres mensajes que comienza con un mensaje SYN. A
continuación deben aparecer los segmentos que contienen la información intercambiada. Verá como el primer
segmento que va desde el cliente hacia el servidor tras la apertura de la conexión contiene el mensaje HTTP
POST. Posteriormente verá una serie de segmentos que contienen el archivo que se está enviando a
[Link] y las respectivas confirmaciones que devuelve el servidor [Link].

Página 1
PRÁCTICA TCP

Conteste a las siguientes preguntas:

1. Indique el/los números de trama capturadas por Wireshark que contienen:

a. Apertura de conexión TCP:

Tramas 1,2 y 3

b. Primer segmento que de la petición HTTP POST:

Trama 4

c. Reconocimiento del primer segmento que de la petición HTTP POST:

Tramas 5 y 6

2.a. ¿Cuál es la dirección IP y el número de puerto TCP utilizados por el equipo cliente (origen) que se
emplea en la transferencia del archivo a [Link]?

IP [Link] y puerto 1161

2.b. Analizando el contenido en hexadecimal de un segmento TCP (panel inferior de Wireshark), ¿cuántos bits
se utilizan para especificar el número de puerto origen en TCP?

16 bits

2.c. Dado el número de bits obtenido en el apartado anterior, ¿cuántos posibles puertos se podrán emplear
entonces en una misma máquina?
2¹ = 65536 puertos en una misma máquina

3.a. ¿Cuál es la dirección IP del servidor [Link]?

La IP es [Link]

Página 2
PRÁCTICA TCP

3.b. ¿En qué número de puerto está enviando y recibiendo los segmentos TCP dicho servidor?

En el puerto 80

Finalmente, para centrar nuestra atención en TCP y que Wireshark no decodifique los mensajes HTTP que
contienen los segmentos TCP, debe hacer lo siguiente:

Analyze àEnabled Protocols

Una vez en ese menú, desmarque la casilla correspondiente a HTTP para que Wireshark no lo decodifique.
Su captura debe ser parecida a la mostrada en la siguiente imagen:

Esto es lo que estamos buscando: una serie de segmentos TCP enviados entre el ordenador local y
[Link].

Página 3
PRÁCTICA TCP

Conceptos básicos de TCP

Conteste a las siguientes preguntas sobre los segmentos TCP:

4.a. ¿Cuál es el número de secuencia del segmento TCP SYN que se utiliza para iniciar la conexión TCP,
entre el equipo cliente y [Link]?

El valor es 0

4.b. ¿Cómo identifica TCP que este segmento se trata de un segmento SYN?

Porque el Flag SYN de la cebecera TCP tiene el valor 1

5.a. ¿Cuál es el número de secuencia del segmento SYN_ACK enviado por [Link] al equipo
cliente en respuesta al SYN?

Es 0 también

5.b. ¿Cuál es el valor del campo de Reconocimiento en el segmento de SYN_ACK?


El valor es 1

5.c. ¿Cómo determina [Link] este valor?

Determina el valor mediante el SYN enviado por el cliente

5.d. ¿Cómo puede determinarse que este segmento se trata de un segmento SYN_ACK?

EL Flag SYN y el Flag ACK valen 1 en la cabecera TCP

6. ¿Cuál es el número de secuencia del segmento TCP que contiene el mensaje HTTP POST?

Página 4
PRÁCTICA TCP

Es 1

7. Llegados a este punto, puede que encuentre una contradicción sobre el número de secuencia con el que
se inicia una conexión TCP, entre la teoría explicada en clase y lo que se observa en Wireshark. ¿Puede
indicar cuál es esa diferencia?

La diferencia es que en clase el número de secuencia es aleatorio y en wireshark


es fijo, o 1 o 0

A continuación, desde el siguiente panel de Wireshark:

Edit àPreferences àProtocols àTCP

Desmarque la siguiente casilla:

Relative sequence numbers and window scaling

8. Vuelva a comprobar los números de secuencia analizados en los apartados anteriores y explique a qué se
deben los cambios observados.

Ahora ya los valores si son aleatorios y no unos o ceros como antes

Una vez entendido, vuelva a habilitar la casilla “Relative sequence numbers” del menú Edit àPreferences à
Protocols àTCP.

Página 5
PRÁCTICA TCP

9. Considere el segmento TCP que contiene el mensaje HTTP POST como el primer segmento de la conexión
TCP.

a. ¿Cuáles son los números de secuencia de los seis primeros segmentos de datos (sin incluir
segmentos de reconocimiento sin datos) en la conexión TCP?

1, 566, 2026, 3486, 4946, 6406

b. ¿En qué instante de tiempo se envió cada segmento?

0.026477, 0.041737, 0.054026, 0.054690, 0.077405, 0.078157

c. ¿Cuál es el número de trama que contiene el ACK para cada segmento anterior?

Las tramas 6,9 y 12

d. ¿Cuál es la longitud de cada uno de los primeros seis segmentos TCP?

536B el primero y los demás 1460B

10. ¿Cuál es el valor mínimo de la ventana de recepción anunciada por el receptor a lo largo de la conexión?
Para comprobar este valor puede revisar cada uno de los segmentos, o acceder a la gráfica que representa
dicho valor a lo largo del tiempo en Statistics àTCP Stream Graph àWindow Scaling

EL tamaño mínimo de la ventana es de 6780

Página 6
PRÁCTICA TCP

11. ¿Hay segmentos retransmitidos en el archivo de la captura? Para responder, puede ayudarse en la
gráfica que representa el número de secuencia de los segmentos a lo largo del tiempo en Statistics àTCP
Stream Graph àTime Sequence (Stevens)

Si los hay

12. En ocasiones, es posible que en su traza exista algún ACK duplicado una única vez. Para identificar un
ACK duplicado, Wireshark lo destaca y además podrá ver como se repite el mismo número de
reconocimiento. Sea su caso o no, ¿a qué puede deberse la existencia de esos ACKs duplicados?
Puede deberse a pérdida de paquetes, retransmisiones, congestión en la red y mecanismos
de control de flujo

13. ¿Cuántos datos reconoce el receptor en cada ACK? Indique la cantidad de bytes que está reconociendo
cada uno de los 8 primeros ACKs.

1. 566-1 8. 10473-9013
2. 2026-566
3. 3486-2026
4. 4946-3486
5. 6406-4946
6. 7866-6406
7. 9013-7866

14. ¿Cuál es el caudal medio (octetos transferidos por unidad de tiempo) para el total de la conexión TCP?
Explique cómo ha calculado este valor.

Tenemos 164091B y 5,651141s, por lo que si los dividimos tenemos 29036,79 B/s

Página 7
PRÁCTICA TCP

Control de la congestión TCP

Aunque en el ejercicio anterior ha calculado el throughput medio, es obvio que este no será constante a lo
largo de la duración de una conexión TCP. Por eso, y aunque todavía no se ha estudiado el control de
congestión en TCP, se va a ver, mediante el uso de Wireshark, cómo evoluciona el throughput de una
conexión TCP. Seleccione un segmento de TCP en la lista de los paquetes capturados que se enviaron desde
el cliente al servidor [Link] y, a continuación, seleccione

Statistics àTCP Stream Graph àThroughput Graph

Como puede observar la velocidad se ha ido incrementando desde el principio hasta que ha llegado a un
punto en el cual toma una forma de diente de sierra, es decir, aumenta y cuando llega a cierta cantidad cae
de golpe para volver a aumentar lentamente de nuevo.

ANEXO. Captura de una transferencia de datos TCP


Necesitaremos usar Wireshark para obtener una captura de paquetes de una transferencia TCP, en este caso
la correspondiente al envío de un fichero desde el ordenador del laboratorio a un servidor remoto. Se deberá
hacer mediante el acceso a una página Web que le permitirá introducir el nombre del archivo, almacenado en
su ordenador (que contiene el texto en ASCII de un fragmento del libro “Alicia en el País de las Maravillas”), y
luego transferirlo al servidor Web mediante el método POST de HTTP (véase la sección 2.2.3 del libro texto).
Para capturar todo el tráfico debemos estar ejecutando Wireshark durante todo el tiempo que dure la
trasferencia para, así, obtener la traza de la captura de los segmentos TCP enviados y recibidos desde el
ordenador.

Para ello haga lo siguiente:

• Arranque el navegador web. Vaya a [Link] y descargue una


copia ASCII de “Alicia en el País de las Maravillas”. Guarde este fichero en su equipo.
• Luego vaya a [Link]
• Usted debería ver una pantalla parecida a:

Página 8
PRÁCTICA TCP

• Utilice el botón “Examinar” para introducir el nombre del fichero (cadena con la dirección completa) en el
equipo que contenga el libro en cuestión. Todavía no «presione» el botón “Upload [Link] file”.
• Ahora inicie Wireshark y comience la captura de paquetes por la interfaz de red conectada que da acceso
a Internet.
• Vuelva a su navegador y pulse el botón “Upload [Link] file”, para subir el archivo al servidor
[Link]. Una vez que el archivo se ha cargado, se mostrará en la ventana del navegador un
mensaje que lo indica.
• Detenga la captura de paquetes de Wireshark. La ventana de Wireshark debe ser similar a la siguiente
ventana:

Página 9
PRÁCTICA TCP

Página 10

También podría gustarte