Está en la página 1de 5

Actividad en Clase 4: Redes de Computadores

Tema: Programación de Sockets UDP - TCP

Wilmer S. Guaillas Q. Andres Gonzales

Universidad de Cuenca, Cuenca, Ecuador


wilmers.guaillasq@ucuenca.edu.ec

Resumen. - Ya que los sockets son un concepto abstracto, puesto en contexto con la teoría
de redes, son la base de las conexiones entre dos ordenadores distintos. En esta práctica se
implementará un código el cual ejemplifica la programación y el funcionamiento de los
sockets usando diferentes protocolos como son los protocolos UDP y TCP. También se cap-
tura el tráfico y comprueba el intercambio de mensajes mediante los protocolos a analizar
mediante Wireshark.

1 Desarrollo de la Actividad

1.1 Sockets implementados en Python


El docente proporciona los scripts en este caso programados en lenguaje Python. Para
el uso de los mismos, se debe previamente tener instalado Python. Luego de esto, se
puede editar las líneas de código, para este caso se necesita editar el socket cliente, ya
que este tiene como parámetro la IP del otro ordenador, que en este caso actúa como un
servidor, el cual brinda el servicio de convertir cualquier texto enviado por el socket
cliente a mayúsculas y devolverlo al cliente. Existen cuatro sockets para esta práctica,
un servidor – cliente, cada conexión con un protocolo diferente, TCP y UDP respecti-
vamente. Como ejemplo se muestran las líneas de código de los sockets cliente usando
los protocolos TCP Y UDP. (Figura 1,2)
2

Figura 1. Líneas de código de un Socket cliente, usando el protocolo TCP

Figura 2. Líneas de código de un Socket cliente, usando el protocolo UDP


3

1.2 Prueba de Conexión


Ya editados los diferentes scripts, se procede a realizar la prueba mediante la terminal,
basta con ejecutar los scripts de los sockets servidor – cliente en diferentes ordenadores.
Algo a tomar en cuenta es que los ordenadores deben estar conectador a una misma red.

Figura 2. Conexión TCP mediante la ejecución de socket cliente en la terminal de Linux

Figura 3. Conexión TCP mediante la ejecución de socket servidor en la terminal de Linux

Figura 4. Conexión UDP mediante la ejecución de socket cliente en la terminal de Linux

Figura 5. Conexión UDP mediante la ejecución de socket servidor en la terminal de Linux

Tal como se aprecia en la figura 2 y 3, que se usan como ejemplo al momento de eje-
cutar estos programas el socket servidor entrará a la espera de algún mensaje enviado
por el cliente, por otro lado, en el cliente se pedirá una entrada, para él envió. Esto se
puede hacer mediante la terminal en el sistema Linux (recomendado) y mediante el
protocolo TCP para este ejemplo. Como se aprecia a continuación de la entrada en la
terminal del cliente rápidamente aparece el mensaje de respuesta del servidor, el cual
brindado el servicio de convertir la entrada a mayúsculas. La figura 4 y 5 hacen refe-
rencia a la conexión de los sockets mediante el protocolo UDP.

1.3 Análisis en Wireshark

Ya que Wireshark captura cualquier paquete que esté en el tráfico de red en ese mo-
mento, este ayuda a comprobar que los sockets han funcionado de la manera correcta
4

utilizando sus respectivos protocolos de comunicación. Esto se evidencia al filtrar los


paquetes capturados mediante las direcciones IP, las cuales ayudan a saber el origen y
destinos de los paquetes. En este caso estos, están definidos por las direcciones IP de
los ordenadores usados en las pruebas y desglosando el mensaje en el paquete se puede
visualizar el texto enviado en cada uno de los sockets con sus respectivos protocolos.
Tal como se aprecia en la figura 6 y 7.

Figura 6. Captura de paquetes TCP mediante Wireshark

Figura 7. Captura de paquetes UDP mediante Wireshark

A diferencia del socket con protocolo TCP, en UDP Wireshark no logra filtrar directa-
mente algún paquete con el parámetro UDP, sino que en este caso el protocolo hace
referencia a LLC, que es una subcapa la cual toma los datos del protocolo de la red, que
5

generalmente, y agrega información de control para ayudar a entregar el paquete al


nodo de destino. Esto es de esperarse ya que UDP no agrega el servicio de control de
errores por si solo.

2 Conclusiones

Los protocolos UDP y TCP implementados en Python funcionaron correctamente, tanto


el servidor como el cliente establecieron comunicación mediante intercambio de men-
sajes.

Durante la conexión se activó la captura de paquetes de Wireshark durante toda la co-


municación de los protocolos, así se comprobó que los sockets funcionaron sin errores,
esto en cuanto a su funcionamiento, en cambio los errores en la transmisión de datos
no se pudo apreciar ningún error, todos los mensajes llegaban al servidor y al cliente,
esto puede ser porque el servidor no tiene sobrecarga de peticiones, si las tuviera y
estuvieran usando el protocolo UDP para la comunicación el número de errores en la
comunicación seria alta, en cambio con TCP ya que está orientada a conexión intenta
corregir los errores en la transmisión.

Los paquetes capturados se pudo filtrar directamente los paquetes para TCP, en cambio
para UDP no se filtro directamente, se opto por recurrir a las direcciones IP del servidor
y cliente para encontrar los paquetes. Al abrir estos paquetes se observa que el mensaje
viaja sin seguridad pudiendo ser legible por terceros, esto es porque en la programación
de los sockets no se uso ningún algoritmo de encriptación de datos.

También podría gustarte