Protocolo de Control de Transmisión


El Protocolo de control de transmisión ( TCP ) es uno de los principales protocolos del conjunto de protocolos de Internet . Se originó en la implementación inicial de la red en la que complementaba el Protocolo de Internet (IP). Por lo tanto, la suite completa se conoce comúnmente como TCP / IP . TCP proporciona una entrega confiable , ordenada y con verificación de errores de un flujo de octetos (bytes) entre aplicaciones que se ejecutan en hosts que se comunican a través de una red IP. Las principales aplicaciones de Internet, como la World Wide Web , el correo electrónico , la administración remota yla transferencia de archivos se basa en TCP, que es parte de la capa de transporte de la suite TCP / IP. SSL / TLS a menudo se ejecuta sobre TCP.

TCP está orientado a la conexión y se establece una conexión entre el cliente y el servidor antes de que se puedan enviar los datos. El servidor debe estar escuchando (pasivo abierto) las solicitudes de conexión de los clientes antes de que se establezca una conexión. El protocolo de enlace de tres vías (activo abierto), la retransmisión y la detección de errores aumentan la confiabilidad pero prolongan la latencia . Las aplicaciones que no requieren un servicio de flujo de datos confiable pueden usar el Protocolo de datagramas de usuario (UDP), que proporciona un servicio de datagramas sin conexión que prioriza el tiempo sobre la confiabilidad. TCP emplea la prevención de la congestión de la red . Sin embargo, existen vulnerabilidades en TCP que incluyendenegación de servicio , secuestro de conexión , veto de TCP y ataque de reinicio .

En mayo de 1974, Vint Cerf y Bob Kahn describieron un protocolo de interconexión de redes para compartir recursos mediante la conmutación de paquetes entre nodos de red . [1] Los autores habían estado trabajando con Gérard Le Lann para incorporar conceptos del proyecto francés CYCLADES en la nueva red. [2] La especificación del protocolo resultante, RFC 675 ( Especificación del programa de control de transmisión de Internet ), fue redactada por Vint Cerf, Yogen Dalal y Carl Sunshine, y publicada en diciembre de 1974. Contiene el primer uso comprobado del término Internet . , como abreviatura de internetwork . [3]

Un componente de control central de este modelo fue el Programa de Control de Transmisión que incorporó enlaces orientados a la conexión y servicios de datagramas entre hosts. El Programa de Control de Transmisión monolítico se dividió posteriormente en una arquitectura modular que constaba del Protocolo de Control de Transmisión y el Protocolo de Internet . Esto dio como resultado un modelo de red que se conoció informalmente como TCP / IP , aunque formalmente se lo conoció como el modelo del Departamento de Defensa (DOD) y el modelo ARPANET y, finalmente, también como la Suite de Protocolo de Internet .

En 2004, Vint Cerf y Bob Kahn recibieron el premio Turing por su trabajo fundamental en TCP / IP. [4] [5]

El Protocolo de control de transmisión proporciona un servicio de comunicación a un nivel intermedio entre un programa de aplicación y el Protocolo de Internet. Proporciona conectividad de host a host en la capa de transporte del modelo de Internet . Una aplicación no necesita conocer los mecanismos particulares para enviar datos a través de un enlace a otro host, como la fragmentación de IP requerida para acomodar la unidad de transmisión máxima del medio de transmisión. En la capa de transporte, TCP maneja todos los detalles de intercambio y transmisión y presenta una abstracción de la conexión de red a la aplicación, típicamente a través de una interfaz de conexión de red .


Un diagrama de estado de TCP simplificado. Consulte el diagrama de TCP EFSM para obtener un diagrama de estado más detallado que incluye los estados dentro del estado ESTABLECIDO.
Terminación de la conexión
Los números de secuencia TCP y las ventanas de recepción se comportan de manera muy similar a un reloj. La ventana de recepción cambia cada vez que el receptor recibe y reconoce un nuevo segmento de datos. Una vez que se agotan los números de secuencia, el número de secuencia vuelve a 0.