You are on page 1of 4

Unidad 4.

Protocolos
Redes de computadoras

Prctica
La capa de transporte se encarga, entre otras cosas, de empaquetar la informacin en paquetes de
tamao adecuado, de verificar que todos los paquetes de una comunicacin han llegado a su destino
(dependiendo del protocolo que usemos) y de comprobar que los paquetes no estn corruptos, entre
otras funciones
Los dos protocolos principales de la capa de transporte son TCP (Transmission Control Protocol) y UDP
(User Datagram Protocol).
La capa de red o de Internet es la que nos permite interconectar diversas redes independientes y que
pueden tener distintas estructuras. Entre los protocolos que componen esta capa podemos encontrar
IPv4 IPv6 (Internet Protocol, versin 4 6) o ICMP (Internet Control Message Protocol).
Antes de empezar, vamos a descargar e instalar en tu computadora un programa para monitorizar el
trfico de red (http://www.wireshark.org/). Ejectalo, y dentro del men Capture, en la opcin
Interfaces, elige la interfaz de red activa (Network Connection).
Ejecuta cmd y recupera y anota la IP de tu computadora por medio del comando ipconfig (de las
distintas interfaces de red que aparezcan debes seleccionar la correspondiente a Adaptador de Ethernet
Conexin de rea local).
Ahora crea un filtro en Wireshark, como el siguiente, para conseguir aislar slo el trfico que tiene como
origen o destino tu mquina:
ip.addr eq la_ip_de_tu_maquina
A lo largo de la prctica, a medida que Wireshark capture ms paquetes, es probable que su
comportamiento se ralentice. En ese caso puedes detenerlo (Capture -> Stop) y reiniciarlo (Capture ->
Interfaces -> Network Connection) slo al realizar los distintos ejercicios (ten en cuenta que empezar
una nueva sesin o captura cada vez que lo arranques y se perdern los paquetes ya capturados).
Abre 3 pestaas en tu navegador. Trata de acceder con l a las siguientes direcciones:
206.190.36.45
131.253.13.21
168.255.254.59
Qu pginas se han abierto?

Unidad 4. Protocolos
Redes de computadoras

Filtra en Wireshark toda la actividad DNS que ha habido al abrir las pginas anteriores (escribe dns en
la ventana Filter:). El protocolo DNS es el que permite, a partir de una direccin URL, resolver su IP para
que las cabeceras de la capa de red se puedan formar correctamente.
Ha necesitado tu computadora conectarse a los servidores DNS para resolver las anteriores direcciones?
Se ha conectado antes o despus de hacer las solicitudes HTTP?
Vamos ahora a ver cmo funciona la capa de transporte. Dentro de la misma podemos encontrar
principalmente dos protocolos, TCP y UDP. Filtra en Wireshark la comunicacin que ha tenido lugar entre
tu computadora y la pgina web en 168.255.254.59. Puedes crear un filtro como:
ip.addr eq la_ip_de_tu_maquina and ip.addr eq 168.255.254.59
Observa la lista de paquetes que has recuperado. A qu protocolos pertenecen?
Recupera el mensaje de protocolo HTTP cuya info sea exactamente GET / HTTP/1.1 y brelo (botn
derecho sobre el mismo, opcin Show Packet in New Window).
Observa las cabeceras TCP. Anota el valor de los puertos Src (puerto de tu mquina) y Dst (puerto del
servidor).
La comunicacin entre mquinas siempre se hace a travs de puertos de las mismas. Mientras dura una
comunicacin, cada mquina mantiene el mismo puerto escuchando y mandando mensajes. Algunos
protocolos tienen un puerto asignado por defecto; por ejemplo, cuando te conectes a un servidor a travs
del protocolo http, lo normal es que el servidor utilice su puerto 80 para esa comunicacin (es cierto en
este caso?). Si te conectas por ftp, por defecto el servidor utilizar el puerto 21.
Vamos a observar ahora la comunicacin que ha habido a travs del puerto de tu computadora. En primer
lugar, vamos a filtrar los paquetes de los que hemos sido origen (o src). Utiliza el siguiente filtro de
Wireshark:
tcp.srcport eq puerto_de_tu_maquina
Cul es la IP de origen de dichas comunicaciones? Y la de destino? Qu recursos web se han solicitado
por HTTP a travs de ese puerto?
Veamos ahora los paquetes de los que hemos sido destinatarios (dst). Utiliza el filtro:
tcp.dstport eq puerto_de_tu_maquina
Cul es la IP de origen de dichas comunicaciones? Y la de destino? Qu mensajes HTTP se han enviad o
a travs de ese puerto?

Unidad 4. Protocolos
Redes de computadoras

Aparte de la informacin sobre los puertos, las cabeceras TCP contienen informacin que nos va a
permitir asegurar la correcta recepcin de los paquetes. Copia los nmeros Sequence number y Next
Sequence Number dentro de la cabecera TCP del mensaje GET / HTTP/1.1.
Ahora crea el siguiente filtro:
tcp.ack eq next_sequence_number
Qu mensajes contienen el nmero next_sequence_number? La respuesta del servidor HTTP/1.1 200
OK contiene el next_sequence_number?
Pulsa el botn derecho sobre el mensaje cuya info es HTTP/1.1 200 OK, opcin Show Packet in New
Window y trata de comprobar, en la seccin de cabeceras de Reassembled TCP Segments, qu
paquetes han sido reensamblados para construir el mensaje de respuesta HTTP. Anota sus nmeros y
comprueba si aparecen tambin entre los mensajes filtrados por la regla tcp.ack eq
next_sequence_number.
Tratemos de dar una explicacin al anterior hecho. Cuando tu computadora hace una solicitud a un
servidor, genera nmeros Sequence Number y Next Sequence Number. Estos nmeros son generados
de forma aleatoria.
Cuando el servidor responda a tu mensaje, siempre incluir un campo Acknowledgment number en el
que enviar el nmero que nuestra computadora le envi como Next Sequence Number. As nuestra
computadora consigue distinguir las respuestas a las distintas solicitudes que le haya hecho a ese
servidor.
De no existir los nmeros Sequence y Acknowledgment, nos sera imposible distinguir las distintas
comunicaciones con una misma mquina, y por tanto no podramos reconstruir sus mensajes.
El protocolo TCP tiene an ms funciones. Veamos otra de ellas. Selecciona uno de los mensajes de la
comunicacin con 168.255.254.59 y pulsa sobre el mismo el botn derecho. Selecciona la opcin Follow
TCP Stream.
Observa los tres ltimos mensajes de la comunicacin. Si observas su info, vers que dos de ellos
contienen la orden [FIN, ...].
En qu orden se ha puesto fin a la comunicacin? Quin es el que manda el primer mensaje avisando
del fin de la misma?
Abre uno de los mensajes conteniendo [FIN,...] y trata de ver, en sus cabeceras TCP, dnde se ha
especificado que el mismo pona fin a la comunicacin (porque ya haba recibido todos los paquetes TCP
de la misma, y haba reconstruido adecuadamente el mensaje recibido).

Unidad 4. Protocolos
Redes de computadoras

Puedes observar algo parecido en los dos primeros mensajes de la comunicacin, que contienen la
etiqueta [SYN, ...] en su campo info. En primer lugar un mensaje TCP con la etiqueta [SYN] por parte
de nuestra computadora solicitando la conexin. A continuacin, un mensaje [SYN,ACK] del servidor,
respondiendo a la solicitud y solicitando Acknowlegdement a nuestra computadora. En tercer lugar, el
mensaje con el flag [ACK] por parte de nuestra computadora, en el que anuncia al servidor que est
esperando el inicio de la comunicacin. Esto es lo que se conoce como negociacin en tres pasos de la
conexin.
Como has podido observar, son mensajes TCP los que se encargan de establecer la conexin [SYN] y de
terminarla [FIN]. Ya para terminar con el protocolo TCP, recapitulamos alguna de las limitaciones
fsicas del protocolo. Los mensajes TCP tienen una limitacin de tamao debido a los distintos protocolos
de red que interactan. Investiga en algunas fuentes de consulta el lmite de la unidad mxima de
transferencia para redes Ethernet. Recupera algunos de los paquetes TCP de tus comunicaciones con
168.255.254.59 y comprueba que este lmite se cumple. Anota los lmites correspondientes y el tamao
de los paquetes que has comprobado.

You might also like