Práctica 7 - Capa de transporte II#
El objetivo de esta práctica es estudiar las diferencias entre los
protocolos de transporte UDP y TCP, tanto en los aspectos de
rendimiento como de confiabilidad. Para ello se utilizará la
herramienta nc para la transferencia de algunos ficheros, así como
la herramienta Wireshark para realizar las capturas correspondientes a
las transmisiones.
Más específicamente, durante esta sesión vas a enviar varios ficheros desde tu equipo (el cliente) a un servidor remoto (el servidor), que los recibirá y devolverá un eco de los mismos. Los ficheros serán dos, uno de texto y otro que será una imagen. Se van a utilizar en ambos casos los dos protocolos de transporte estudiados: UDP y TCP.
Importante
La IP del servidor remoto se proporcionará durante la sesión.
Evaluación#
Esta práctica es evaluable (0.5 puntos sobre los 3.0 puntos totales de las prácticas), por lo que deberás acceder al cuestionario correspondiente en Campus Virtual. El cuestionario se cerrará al acabar la sesión. Cada respuesta errónea se penalizará con un 1/3 del valor asignado a cada pregunta.
Preparación#
Para la realización de la práctica es necesario que la conexión de red esté configurada correctamente:
Se suponen conocidos aspectos ya vistos en prácticas anteriores, por ejemplo, el comando para conocer la propia IP y el manejo de Wireshark.
Prepara tu directorio de trabajo:
En
/home/alumnocrea un directorio llamadop7. Asumiendo que tu directorio actual es/home/alumno, el comando sería:mkdir p7Si ya existe, bórralo y créalo de nuevo:
rm -rf p7 mkdir p7
Ve al directorio y realiza la práctica desde allí:
cd p7Comprueba que estás en el directorio adecuado con:
pwdDebe devolver:
/home/alumno/p7
Asegúrate que la interfaz de red de la máquina virtual tiene una dirección IP del tipo
172.24.21x.xxx.Debes comprobar que puedes llegar al servidor remoto:
ping -c 3 <IP-servidor-remoto>Esto debe proporcionar un resultado similar a:
3 packets transmitted, 3 received, 0% packet loss, time XXXms
Abre un navegador dentro de la máquina virtual y ten a mano estas instrucciones así como el formulario de Campus Virtual. Así te será más fácil seguirlas y descargar los archivos necesarios.
Importante
No almacenes tu contraseña de Campus Virtual en la máquina virtual.
UDP#
Para el análisis del funcionamiento del protocolo UDP se van a transmitir dos ficheros entre tu equipo y un servidor remoto. El primero será un pequeño fichero de texto y el segundo corresponderá a una imagen en formato BMP. Tendrás que realizar la captura del tráfico con Wireshark que generan ambas transmisiones y responder a las preguntas.
Importante
Antes de comenzar las capturas de esta sección, debemos desactivar el
protocolo WOL para evitar que Wireshark muestre algunos paquetes UDP
como tales, ya que su contenido es similar. Selecciona desde el menú
principal Analizar y después Protocolos activados. Busca WOL y
desactívalo, si aún no lo está.
udp-me.pcapng#
Descarga el archivo de texto
me.txtcon:wget https://uclm-esi.github.io/redes1-lab/assets/me.txtComprueba que lo tienes descargado correctamente con:
ls -l me.txtDeben salir exactamente
41caracteres (40 y el carácter de nueva línea) como tamaño de archivo.Prepara en un terminal la orden en la línea de comandos (no pulses Enter todavía):
nc -u <IP-servidor-remoto> 5020 < me.txt > me-udp.txtAhora ve a Wireshark y comienza a capturar tráfico.
Pulsa Enter en la línea de comandos con la orden que has preparado.
Finaliza la orden tecleando Ctrl c.
Detén la captura y la guardas con el nombre
udp-me.pcapng.Responde a las preguntas asociadas a esta captura utilizando como filtro de visualización
ip.addr == <IP-servidor-remoto>.
udp-bmp.pcapng#
Descarga la imagen BMP. El fichero se debe llamar
p7barras.bmp:wget https://uclm-esi.github.io/redes1-lab/assets/p7barras.bmpPrepara en un terminal la orden en la línea de comandos (no pulses Enter todavía):
nc -u <IP-servidor-remoto> 5020 < p7barras.bmp > p7barras-udp.bmpVe de nuevo a Wireshark y comienza a capturar tráfico de nuevo.
Pulsa Enter en la línea de comandos con la orden que has preparado.
Finaliza la orden tecleando Ctrl c.
Detén la captura y la guardas con el nombre
udp-bmp.pcapng.Responde a las preguntas asociadas a esta captura utilizando como filtro de visualización
ip.addr == <IP-servidor-remoto>.
TCP#
Esta parte es totalmente equivalente a la realizada anteriormente,
pero en TCP. La única diferencia es que en las órdenes dadas en el
terminal se suprime la opción -u, ya que por defecto el protocolo
usado es TCP. También vamos a cambiar el número de puerto, que ahora
será el 5010. Además, vamos a usar la opción -q2 que obliga a
terminar la conexión pasados 2 segundos.
Importante
Antes de comenzar las capturas de esta sección, debemos desactivar el
protocolo IPSICTL para evitar que Wireshark muestre algunos paquetes TCP
como tales, ya que su contenido es similar. Selecciona desde el menú
principal Analizar y después Protocolos activados. Busca IPSICTL y
desactívalo, si aún no lo está.
tcp-me.pcapng#
Prepara en una terminal la orden en la línea de comandos (no pulses Enter todavía):
nc -q2 <IP-servidor-remoto> 5010 < me.txt > me-tcp.txtEn Wireshark, comienza a capturar.
Pulsa Enter en la línea de comandos con la orden que has preparado y espera a que finalice el proceso.
Detén la captura y la guardas con el nombre
tcp-me.pcapng.Responde a las preguntas asociadas a esta captura utilizando como filtro de visualización
ip.addr == <IP-servidor-remoto>.
tcp-bmp.pcapng#
Prepara en una terminal la orden en la línea de comandos (no pulses Enter todavía):
nc -q2 <IP-servidor-remoto> 5010 < p7barras.bmp > p7barras-tcp.bmpEn Wireshark, comienza a capturar.
Pulsa Enter en la línea de comandos con la orden que has preparado y espera a que finalice el proceso.
Detén la captura y la guardas con el nombre
tcp-bmp.pcapng.Responde a las preguntas asociadas a esta captura utilizando como filtro de visualización
ip.addr == <IP-servidor-remoto>.
Finalización#
Finalmente, borra el directorio generado /home/alumno/p7 con:
rm -rf /home/alumno/p7