jueves, 9 de mayo de 2019

PROTOCOLO TCP






* Protocolo de control de transmisión (en inglés Transmisión Control Protocolo o TCP) es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn.




Resultado de imagen para protocolo tcp



* Muchos programas dentro de una red de datos compuesta por redes de computadoras, pueden usar TCP para crear “conexiones” entre sí a través de las cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto. 




Resultado de imagen para protocolo tcp





* Las conexiones TCP se componen de tres etapas:
  1. Establecimiento de conexión (3-way handshake)
  2. Transferencia de datos
  3. Fin de la conexión.
Para establecer la conexión se usa el procedimiento llamado “negociación en tres pasos” (3-way handshake). Para la desconexión se usa una “negociación en cuatro pasos” (4-way handshake). Durante el establecimiento de la conexión, se configuran algunos parámetros tales como el número de secuencia con el fin de asegurar la entrega ordenada de los datos y la robustez de la comunicación. 


* Características del TCP

  • Permite colocar los segmentos nuevamente en orden cuando vienen del protocolo IP.
  • Permite el monitoreo del flujo de los datos y así evita la saturación 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 información que viene de diferentes fuentes (por ejemplo, aplicaciones) en la misma línea pueda circular simultáneamente.
  • Por último, permite comenzar y finalizar la comunicación amablemente.



El formato de los datos en TCP

Un segmento TCP está formado de la siguiente manera














* Puertos TCP

Puerto de origen (16 bits): puerto relacionado con la aplicación en curso en la máquina origen. 
Puerto de destino (16 bits): puerto relacionado con la aplicación en curso en la máquina destino. 
Número de secuencia (32 bits): cuando el indicador SYN está fijado en 0, el número de secuencia es el de la primera palabra del segmento actual. 
Cuando SYN está fijado en 1, el número de secuencia es igual al número de secuencia inicial utilizado para sincronizar los números de secuencia (ISN).


Número de acuse de recibo (32 bits): el número de acuse de recibo, también llamado número de descargo se relaciona con el número (secuencia) del último segmento esperado y no el número del último segmento recibido. 
Margen de datos (4 bits): esto permite ubicar el inicio de los datos en el paquete. Aquí, el margen es fundamental porque el campo opción es de tamaño variable. 
Reservado (6 bits): un campo que actualmente no está en uso pero se proporciona para el uso futuro. 
Indicadores (6x1 bit): los indicadores representan información adicional: 
URG: si este indicador está fijado en 1, el paquete se debe procesar en forma urgente.


ACK: si este indicador está fijado en 1, el paquete es un acuse de recibo. 
PSH (PUSH): si este indicador está fijado en 1, el paquete opera de acuerdo con el método PUSH. 
RST: si este indicador está fijado en 1, se restablece la conexión. 
SYN: el indicador SYN de TCP indica un pedido para establecer una conexión. 
FIN: si este indicador está fijado en 1, se interrumpe la conexión. 
Ventana (16 bits): campo que permite saber la cantidad de bytes que el receptor desea recibir sin 
acuse de recibo. 
Suma de control (CRC): la suma de control se realiza tomando la suma del campo de datos del encabezado para poder verificar la integridad del encabezado.


Puntero urgente (16 bits): indica el número de secuencia después del cual la información se torna urgente. 
Opciones (tamaño variable): diversas opciones 
Relleno: espacio restante después de que las opciones se rellenan con ceros para tener una longitud que sea múltiplo de 32 bits. 







* Transferencia de datos

Durante la etapa de transferencia de datos, una serie de mecanismos claves determinan la fiabilidad y robustez del protocolo. Entre ellos están incluidos el uso del número de secuencia para ordenar los segmentos TCP recibidos y detectar paquetes duplicados, checksums para detectar errores, asentimientos y temporizadores para detectar pérdidas o retrasos y ventanas deslizantes para el control de flujo de datos. 























PROTOCOLO TCP

* Protocolo de control de transmisión (en inglés  Transmisión Control Protocolo  o TCP ) es uno de los protocolos fundamenta...