You are on page 1of 11

Practica #3: Protocolo TCP

Mario P. Llerena M.

January 8, 2017

1 RESUMEN.

En esta prctica se hace se hace el anlisis del protocolo TCP sobre FTP, este
anlisis consta de cmo se estructura el encabezado, como establece conexin,
cual es el tamao de ventana para el paquete enviado, etc. FTP solo es un
medio para crear una conexion TCP y poder analizarla.

2 OBJETIVOS.

Generar una conexion TCP mediante, FTP, Telnet, etc.

Obtener protocolo TCP.

Capturar paquetes TCP sobre aplicacion.

Analizar Paquetes TCP obtenidos por la captura de Wireshark.

3 INTRODUCCION.

El n de TCP es proveer un ujo de bytes conable de extremo a extremo


sobre una internet no conable. TCP puede adaptarse dinmicamente a las
propiedades de la internet y manejar fallas de muchas clases. Muchos programas
dentro de una red de datos compuesta por redes de computadoras, pueden usar
TCP para crear conexiones entre s a travs de las cuales puede enviarse un
ujo de datos. El protocolo garantiza que los datos sern entregados en su
destino sin errores y en el mismo orden en que se transmitieron. Tambin
proporciona un mecanismo para distinguir distintas aplicaciones dentro de una
misma mquina, a travs del concepto de puerto. TCP da soporte a muchas de
las aplicaciones ms populares de Internet (navegadores, intercambio de cheros,
clientes FTP, etc.) y protocolos de aplicacin HTTP, SMTP, SSH y FTP.

1
3.1 Qu signica TCP?
Transmission Control Protocol (TCP) o Protocolo de Control de Transmisin,
es uno de los protocolos fundamentales en Internet.

Figure 1: Conexion cliente servidor.

3.2 TCP.
La direccin de un socket es la direccin de IP del host y un nmero de 16 bits
que es local al host (la puerta). Se identica una conexin con las direcciones de
socket de cada extremo; se puede usar un socket para conexiones mltiples a la
vez. Los nmeros de puerta bajo 256 son puertas bien conocidas para servicios
comunes (como FTP). Las conexiones de TCP son punto-a-punto y full dplex.
No preservan los lmites de mensajes. Cuando una aplicacin manda datos
a TCP, TCP puede mandarlos inmediatamente o almacenarlos (para acumular
ms). Una aplicacin puede solicitar que TCP manda los datos inmediatamente
a travs del ag de PUSH (empujar). TCP tambin apoya los datos urgentes.
TCP manda datos con el ag URGENT inmediatamente. En el destino TCP
interrumpe la aplicacin (la manda una seal), que permite que la aplicacin
pueda encontrar los datos urgentes.

2
Figure 2: Encabezado protocolo TCP.

3.3 Objetivos de TCP


Con el uso de protocolo TCP, las aplicaciones pueden comunicarse en forma
segura (gracias al de acuse de recibo -ACK- del protocolo TCP) independiente-
mente de las capas inferiores. Esto signica que los routers (que funcionan en
la capa de Internet) slo tiene que enviar los datos en forma de datagrama, sin
preocuparse con el monitoreo de datos porque esta funcin la cumple la capa
de transporte (o ms especcamente el protocolo TCP).

3.4 Caractersticas del TCP


Permite colocar los datagramas nuevamente en orden cuando vienen del
protocolo IP.

Permite el monitoreo del ujo de los datos y as evita la saturacin de la


red.

Permite que los datos se formen en segmentos de longitud variada para


"entregarlos" al protocolo IP.

Permite multiplexar los datos, es decir, que la informacin que viene de


diferentes fuentes (por ejemplo, aplicaciones) en la misma lnea pueda
circular simultneamente.

Por ltimo, permite comenzar y nalizar la comunicacin amablemente.

3
4 DESARROLLO.

En esta parte de la practica utilizaremos un servidor FTP para transferir un


archivo ya que TCP funciona dentro de FTP y asi podremos analizar TCP con
los paquetes capturados de FTP con wireshark.

4.1 Analisis del Segemento TCP.

Figure 3: Segmento de Analisis TCP.

Captura de protocolos FTP.

4
Figure 4: Capturas FTP con Wireshark.

La salida hexadecimal que vamos a analizar es la del protocolo TCP:

Figure 5: Segmento TCP de servido FTP

Semento hexadecimal a analizar del protocolo TCP.

5
Figure 6: Segmento Hexadecimal a analizar.

4.2 Analisis Hexadecimal protocolo TCP.


e0b8: Puerto origen. En este caso 57528 como se puede analizar, si este
numero lo transofrmamos en binario 1110000010111000 tenemos los 16
bits de puerto orgin que compone la cabecera TCP.

Figure 7: Puerto Origen

0015: En este caso este valor nos quiere dar a conocer el puerto destino.
En este caso 21.

Figure 8: Puerto Destino.

4d6ef574: Nmero de secuencia. (32 bits). Indica el nmero de secuencia


del primer byte que trasporta el segmento.

Figure 9: Numero de Secuencia

6
fd743ec0: Nmero de acuse de recibo. (32 bits). Indica el nmero de
secuencia del siguiente byte que se espera recibir. Con este campo se indica
al otro extremo de la conexin que los bytes anteriores se han recibido
correctamente.

Figure 10: Numero de ACK.

80: Posicin de los datos (Data Oset). (4 bits). Longitud de la cabecera


medida en mltiplos de 32 bits (4 bytes). El valor mnimo de este campo
es 5, que corresponde a un segmento sin datos (20 bytes).

Figure 11: Longitud de Encabezado

018: Campo reservado (para un posible uso futuro) + Bits de cdigo o


indicadores. (6 + 6 bits.).

Figure 12: Flags 018.

7
Bits de cdigo o indicadores. (6 bits). Los bits de cdigo determinan el
propsito y contenido del segmento. A continuacin se explica el signi-
cado de cada uno de estos bits (mostrados de izquierda a derecha) si est
a 1:

URG. El campo Puntero de urgencia contiene informacin vlida.

ACK. El campo Nmero de acuse de recibo contiene informacin vlida,


es decir, el segmento actual lleva un ACK. Observemos que un mismo
segmento puede transportar los datos de un sentido y las conrmaciones
del otro sentido de la comunicacin.

PSH. La aplicacin ha solicitado una operacin push (enviar los datos


existentes en la memoria temporal sin esperar a completar el segmento).

RST. Interrupcin de la conexin actual.

SYN. Sincronizacin de los nmeros de secuencia. Se utiliza al crear una


conexin para indicar al otro extremo cual va a ser el primer nmero de
secuencia con el que va a comenzar a transmitir (veremos que no tiene
porqu ser el cero).

FIN. Indica al otro extremo que la aplicacin ya no tiene ms datos para


enviar. Se utiliza para solicitar el cierre de la conexin actual.

Figure 13: Flags 018.

02ad: Window (ventana). (16 bits). Nmero de bytes que el emisor del
segmento est dispuesto a aceptar por parte del destino. En este caso 685.

8
Figure 14: Tamao de Ventana

4.3 TCP y la Congestin.


Cuando se deni e implement TCP, las redes existentes presentaban como
problema principal una baja abilidad, es decir, la presencia de errores era la
caracterstica limitante del comportamiento eciente de la red. Las situaciones
de congestin, causa principal del deterioro del comportamiento de las redes
actuales, no fueron tenidas en cuenta y, por ello, no se especic mecanismo
alguno para su control.

TCP conecta dispositivos con prestaciones muy diferentes. Es posible que


un servidor pueda transmitir datos a una velocidad mayor de lo que el
sistema donde los recibe un navegador pueda procesarlos.

Para eso TCP implementa el control de ujo.

Cada parte informa a la otra en cada ACK de su propia ventana de re-


cepcin (rwnd) que viene a ser el tamao en bytes del espacio de buer
disponible para la recepcin

En el transcurso de la conexin el rwnd puede ir variando e incluso llegar a


cero, en cuyo caso la otra parte detiene el envo de datos pero manteniendo
la conexin hasta que la ventana de recepcin vuelva a incrementarse.

En este caso para saber la congestion que tiene nuestra transmision con una
pagina web tenemos los siguiente:

Nos conectaremos con facebook para analizar el comportamiento del con-


trol de ujo de congestion.

La herramienta que utilizaremos es la siguiente.

9
Figure 15: Control de ujo de congestion.

Para ejecutar una prueba de velocidad a un sitio web gratuito desde varias
ubicaciones en todo el mundo el uso de navegadores reales (IE y Chrome)
a una velocidad de conexin baja de consumo. Se puede ejecutar prue-
bas simples o avanzadas incluyendo las transacciones de mltiples pasos,
captura de vdeo, el bloqueo de contenido y mucho ms. Sus resulta-
dos proporcionarn informacin de diagnstico alta incluyendo grcos de
cantidad de recursos cascada, controles de optimizacin de Page Speed y
sugerencias de mejora.

Ingresamos la Pagina www.wextensible.com y obtendremos la siguiente


graca.

Figure 16: Graca de control de ujo.

Aqui se puede ver las barras de color naranja que son las seis conexiones

10
TCP en paralelo por dominio que puede hacer el navegador para recuperar
ms rpido los recursos de la pgina. En la primera se consulta el DNS y
se recupera el HTML y, con la misma conexin, el JS. Las otras conexiones
recuperan dos o incluso hasta tres archivos por conexin. Esto es posible
por el keep-alive de la conexin.

5 CONCLUSIONES.

Como conclusin se puede decir que TCP es como el lenguaje que utilizan
la mayoria de las maquinas para conectarse a internet como por ejemplo
este protocolo lo usan las maquinas w98 en adelante, tambien se puede
decir que es un conjunto de protocolos de red en la que se basa Inter-
net y que permiten transmitir datos entre redes de computadoras y lo
podemos denominar conjunto de protocolos TCP/IP, en referencia a los
dos protocolos ms importantes que la componen: Protocolo de Control
de Transmisin (TCP) y Protocolo de Internet (IP), que fueron los dos
primeros en denirse, y que son los ms utilizados de la familia.

Se puede decir que el problema de la congestin se da por la capacidad de


la red y la capacidad del receptor entonces se puede llegar a la solucin de
manejar por separado los segmentos enviados, cada emisor manteniendo
conexiones diferentes para optimizar y mantener equilibro en el ujo de
paquetes.

References

[1] CISCO. (2015). Uso de prtocolo TCP en sistemas operativos. En TCP(8).


5 Cisco Systems Inc. Todos los Derechos Reservados.: 5 Cisco Systems Inc.
Todos los Derechos Reservados.

[2] admininternet. (2015). EL PROTOCOLO TCP: QU ES Y PARA QU


SIRVE?. 10/5/2016, de internet.com Sitio web: http://internet.com.co/tcp-
y-protocolo-que-es-y-para-que-sirve/

[3] Soluciones y Tecnologia. (2010). Cmo usar el proto-


colo TCP. 10/5/2016, de tecnologiahechapalabra Sitio web:
http://tecnologiahechapalabra.com/datos/soluciones/implementacion/articulo.asp?i=4999
5

11

You might also like