robot de la enciclopedia para niños

Protocolo de control de transmisión para niños

Enciclopedia para niños
Datos para niños
Protocolo de control de transmisión
Familia Familia de protocolos de Internet
Función Transporte fiable y bidireccional de datos
Ubicación en la pila de protocolos
Aplicación FTP, HTTP, SNMP, DNS, ...
Transporte TCP
Red IP
Enlace Ethernet, Token Ring,
FDDI, ...
Estándares

RFC 793 (1981)

RFC 1323 (1992)

El Protocolo de control de transmisión, más conocido como TCP (por sus siglas en inglés Transmission Control Protocol), es uno de los pilares de Internet. Fue creado entre 1973 y 1974 por Vint Cerf y Robert Kahn.

TCP es un protocolo de Internet que se encuentra en la capa de transporte del modelo OSI. Su principal objetivo es establecer conexiones seguras entre computadoras para que puedan intercambiar información. Además, se asegura de que los datos lleguen a su destino sin errores y en el orden correcto. También permite que diferentes programas en una misma computadora usen la red al mismo tiempo, gracias a los puertos.

Este protocolo es fundamental para muchas de las aplicaciones que usas a diario en Internet. Por ejemplo, los navegadores web, los programas para compartir archivos y los clientes de correo electrónico dependen de TCP.

¿Qué es el Protocolo TCP?

El Protocolo de control de transmisión (TCP) es como un servicio de mensajería muy confiable en Internet. Imagina que envías un paquete importante: TCP se asegura de que llegue completo, en el orden correcto y sin daños.

¿Para qué sirve TCP?

TCP permite que las aplicaciones se comuniquen de forma segura, sin importar cómo se muevan los datos por la red. Los dispositivos que dirigen el tráfico (llamados routers) solo necesitan enviar los datos. TCP se encarga de verificar que todo llegue bien.

¿Cómo funciona TCP?

TCP es una parte clave de la "pila de protocolos" TCP/IP. Se sitúa entre el protocolo de red (IP) y las aplicaciones. Muchas aplicaciones necesitan que la comunicación sea muy confiable. TCP garantiza que los datos enviados por un programa lleguen al otro sin errores y en el mismo orden.

Es un protocolo "orientado a la conexión". Esto significa que, antes de enviar datos, el programa que envía y el que recibe deben "saludarse" y aceptar la conexión.

Establecimiento de la conexión: El "saludo de tres pasos"

Archivo:Tcp-handshake
Negociación en tres pasos o Three-way handshake

Para iniciar una conexión, TCP usa un proceso llamado "saludo de tres pasos" (3-way handshake). Normalmente, un programa (el servidor) espera a que otro (el cliente) se conecte.

1. El cliente envía un mensaje especial (llamado SYN) al servidor. 2. El servidor, si está listo, responde con otro mensaje (SYN/ACK). 3. Finalmente, el cliente envía una confirmación (ACK) al servidor.

¡Y listo! La conexión está establecida y pueden empezar a intercambiar datos. Este proceso ayuda a que las conexiones sean seguras.

Transferencia de datos: Asegurando la entrega

Una vez que la conexión está lista, TCP tiene varias formas de asegurar que los datos viajen bien:

  • Números de secuencia: Ayudan a ordenar los datos y a detectar si falta alguno o si hay duplicados.
  • Sumas de verificación (Checksums): Son como códigos de seguridad que detectan si los datos se dañaron en el camino.
  • Confirmaciones (ACK): El receptor envía mensajes para confirmar que ha recibido los datos.
  • Temporizadores: Si no llega una confirmación a tiempo, TCP reenvía los datos.
  • Ventanas deslizantes: Controlan la velocidad para que el emisor no envíe datos más rápido de lo que el receptor puede manejar.

Finalización de la conexión

Para cerrar una conexión, TCP usa un proceso similar, pero con cuatro pasos. Cada lado de la conexión indica que ha terminado de enviar datos y el otro lado lo confirma. Es como decir "adiós" de forma ordenada.

Características importantes de TCP

  • Ordena los datos: Si los datos llegan desordenados, TCP los vuelve a poner en su lugar.
  • Evita la saturación: Controla el flujo de datos para que la red no se sobrecargue.
  • Divide los datos: Parte la información en "segmentos" de diferentes tamaños para enviarlos.
  • Multiplexación: Permite que varios programas usen la misma conexión de red al mismo tiempo.
  • Inicio y fin amigable: Se asegura de que las conexiones comiencen y terminen de forma correcta.

Números de secuencia y confirmaciones

Al iniciar una conexión, los programas intercambian "números de secuencia iniciales". Estos números ayudan a TCP a identificar y contar cada parte de los datos. Cada mensaje TCP incluye un número de secuencia (del que envía) y un número de confirmación (del que recibe).

Cuando un programa recibe datos, envía una confirmación (ACK) para decir que los recibió. Esto asegura que el emisor sepa que sus datos llegaron.

Sumas de verificación (Checksums)

Cada segmento TCP lleva un "checksum" de 16 bits. Es un cálculo que el emisor hace con los datos y lo incluye en el mensaje. El receptor vuelve a hacer el mismo cálculo. Si el resultado es el mismo, significa que los datos llegaron sin errores.

Aunque el checksum de TCP es simple, es muy útil. Ayuda a detectar errores causados por problemas de software o hardware en la red.

Control de flujo: Ventanas deslizantes

TCP usa un sistema llamado "ventana deslizante" para controlar la velocidad de los datos. El receptor le dice al emisor cuántos datos puede recibir en su "búfer" (un espacio de almacenamiento temporal). El emisor solo puede enviar esa cantidad. Para enviar más, debe esperar una nueva confirmación del receptor.

Esto es importante para que una computadora rápida no sature a una más lenta. La "ventana" se ajusta para que los datos fluyan de manera eficiente.

Puertos TCP: Las "puertas" de las aplicaciones

TCP usa "números de puerto" para saber qué programa está enviando o recibiendo datos. Cada conexión TCP tiene un número de puerto (del 0 al 65535).

Los puertos se dividen en tres tipos:

  • Puertos bien conocidos: Del 0 al 1023. Son usados por servicios muy comunes, como HTTP (para páginas web, puerto 80) o FTP (para transferir archivos, puerto 21).
  • Puertos registrados: Del 1024 al 49151. Usados por programas de usuario o servicios específicos.
  • Puertos dinámicos/privados: Del 49152 al 65535. Usados temporalmente por los programas cuando se conectan.

TCP vs. UDP: ¿Cuál es la diferencia?

Existen dos protocolos principales en la capa de transporte: TCP y UDP.

  • UDP (Protocolo de datagramas de usuario): Es como enviar una carta sin acuse de recibo. Es más rápido porque no se preocupa por confirmar la entrega ni el orden. Se usa para cosas donde la velocidad es más importante que la fiabilidad, como la transmisión de video o juegos en línea.
  • TCP: Es como enviar un paquete certificado con seguimiento. Es más lento porque añade información para asegurar que todo llegue bien (retransmisiones, orden, etc.). Se usa cuando la fiabilidad es crucial, como al navegar por la web, enviar correos electrónicos o descargar archivos.

Desarrollo e importancia de TCP

TCP es un protocolo muy robusto y complejo. Aunque ha mejorado con el tiempo, sus principios básicos no han cambiado mucho desde 1981. Hoy en día, TCP se usa en la mayoría de los paquetes de datos que viajan por Internet.

Aplicaciones como la World Wide Web (HTTP/HTTPS), el correo electrónico (SMTP/POP3/IMAP) y la transferencia de archivos (FTP) dependen de TCP. Su éxito demuestra lo bien diseñado que fue por sus creadores.

Galería de imágenes

Véase también

Kids robot.svg En inglés: Transmission Control Protocol Facts for Kids

  • Implementaciones de TCP
  • SCTP
  • UDP
  • Ruido de fondo de internet
kids search engine
Protocolo de control de transmisión para Niños. Enciclopedia Kiddle.