¿Que es TCP?
El protocolo de Control de Transmisión proporciona una cantidad considerable de servicios a la capa IP y a las capas superiores. De mayor importancia, proporciona un protocolo orientado hacia la conexión para las capas superiores, que permite a una aplicación estar segura de que un datagrama enviado por la red fue recibido íntegro.
En este papel, el TCP actúa como un protocolo de validación del mensaje que proporciona comunicaciones confiables. Si un datagrama se altera o pierde, por lo general el TCP maneja la retransmisión, en lugar de las aplicaciones de las capas superiores.
El TCP no es una pieza de software, sino un protocolo de comunicaciones. Cuando se instala una pila TCP en la máquina, se está instalando la capa TCP y, por lo general, más software para proporcionar el resto de los servicios TCP/IP. En muchos casos TCP se usa como una abreviatura del TCP/IP.
El TCP maneja el flujo de datagramas desde las capas superiores hasta la capa IP, así como los datagramas que llegan desde la capa IP hacia los protocolos de niveles superiores. El TCP tiene que asegurar que las prioridades y la seguridad se respeten de manera apropiada.
El TCP debe ser capaz de manejar la terminación de una aplicación superior, que estaba esperando la llegada de datagramas, al igual que las fallas en las capas inferiores. El TCP también debe mantener una tabla de estado de todas las series de datos que entran y salen de la capa TCP.
El aislamiento de todos estos servicios en una capa separada permite que las aplicaciones se diseñen sin importar el control del flujo o la confiabilidad del mensaje. Sin la capa TCP, cada aplicación tendría que aplicar los servicios por sí misma, lo cual es un desperdicio de recursos.
El TCP reside en la capa de transporte, ubicada encima de IP pero debajo de las capas superiores y sus aplicaciones. El TCP reside sólo en dispositivos que en realidad procesan datagramas, asegurando que el datagrama ha ido desde la máquina fuente hasta la máquina meta.
No reside en un dispositivo que tan sólo enruta datagramas, de ahí que por lo general no haya una capa TCP en un gateway. Esto tiene sentido, debido a que en un gateway el datagrama no tiene necesidad de ir más arriba de la capa IP en el modelo en capas.
Debido a que el TCP es un protocolo orientado hacia la conexión responsable de asegurar la transferencia de un datagrama, desde la máquina fuente hasta la máquina de destino(comunicaciones de extremo a extremo), el TCP debe recibir mensajes de comunicaciones desde la máquina de destino para acusar recibo del datagrama.
El término circuito virtual por lo general se usa para referirse a las comunicaciones entre las dos máquinas en los extremos, la mayor parte de las cuales son sólo mensajes de acuse de recibo(ya sea de confirmación del recibo o de una falla en el código) y números de secuencia de datagrama.