> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/networking-for-juniors/tcp-transmission-control-protocol.md).

# TCP (Transmission Control Protocol)

TCP es un protocolo de la capa de transporte que proporciona una comunicación fiable, ordenada y basada en conexión. Las características principales de TCP incluyen:

1. <mark style="color:green;">**Orientado a la Conexión**</mark><mark style="color:green;">:</mark> Antes de la transmisión de datos, TCP establece una conexión a través de un proceso llamado "handshake" de tres pasos.
2. <mark style="color:green;">**Control de Flujo y Congestión**</mark><mark style="color:green;">:</mark> Gestiona el tamaño de los paquetes y la tasa de transmisión para evitar la saturación de la red.
3. <mark style="color:green;">**Fiabilidad**</mark><mark style="color:green;">:</mark> Asegura la entrega correcta de los paquetes retransmitiendo los perdidos y reordenando los recibidos fuera de secuencia.
4. <mark style="color:green;">**Control de Errores**</mark><mark style="color:green;">:</mark> Utiliza sumas de comprobación para verificar la integridad de los datos transmitidos.

En otras palabras:

* <mark style="color:green;">**Transferencia de Archivos**</mark><mark style="color:green;">:</mark> Cuando descargas un archivo de Internet, como una actualización de software, se utiliza TCP para asegurar que todos los datos se transmitan de manera fiable y en orden.
* <mark style="color:green;">**Carga de Páginas Web**</mark><mark style="color:green;">:</mark> Al visitar una página web, TCP se usa para cargar la página de manera confiable, asegurando que todos los elementos (texto, imágenes, scripts) lleguen correctamente.
