Tabla de Contenido
1. ¿Qué es TCP?
TCP (Protocolo de control de transmisión) es un estándar que define cómo establecer y mantener una’ conversación’ de red a través de la cual los programas de aplicación pueden intercambiar datos. TCP funciona con el Protocolo de Internet (IP), que define cómo las computadoras envían paquetes de datos entre sí. Juntos, TCP e IP son las reglas básicas que definen Internet. El Grupo de trabajo de ingeniería de Internet (IETF) define TCP en el documento de normas de solicitud de comentarios (RFC) número 793.
2. ¿Cómo funciona TCP?
TCP es un protocolo orientado a la conexión, lo que significa que se establece y mantiene una conexión hasta que los programas de aplicación en cada extremo hayan terminado de intercambiar mensajes. Determina cómo dividir los datos de la aplicación en paquetes que las redes pueden entregar, envía paquetes y acepta paquetes de la capa de red, gestiona el control de flujo y, debido a que está destinado a proporcionar una transmisión de datos sin errores, maneja la retransmisión de datos caídos o paquetes ilegibles, así como el reconocimiento de todos los paquetes que llegan. En el modelo de comunicación de interconexión de sistemas abiertos (OSI), TCP cubre partes de la capa 4, la capa de transporte y partes de la capa 5, la capa de sesión.
Por ejemplo, cuando un servidor web envía un archivo HTML a un cliente, utiliza el protocolo de transferencia de hipertexto (HTTP) para hacerlo. La capa del programa HTTP le pide a la capa TCP que configure la conexión y envíe el archivo. La pila TCP divide el archivo en paquetes de datos, los numera y luego los reenvía individualmente a la capa IP para su entrega. Aunque cada paquete en la transmisión tiene la misma dirección IP de origen y destino, los paquetes pueden enviarse a lo largo de múltiples rutas. La capa de programa TCP en la computadora cliente espera hasta que todos los paquetes hayan llegado, luego reconoce los que recibe y solicita la retransmisión de los que no recibe, en función de los números de paquetes faltantes. La capa TCP luego ensambla los paquetes en un archivo y entrega el archivo a la aplicación receptora.
Características del protocolo de control de transmisión
- Establece una sesión: TCP es un protocolo orientado a la conexión. Un protocolo orientado a la conexión es aquel que negocia y establece una conexión permanente (o sesión) entre los dispositivos de origen y destino antes de reenviar cualquier tráfico. A través del establecimiento de la sesión, los dispositivos negocian la cantidad de tráfico que se puede reenviar en un momento dado, y los datos de comunicación entre los dos se pueden administrar de cerca.
- Entrega confiable: En términos de redes, la fiabilidad significa garantizar que cada segmento que envía la fuente llegue al destino. Por muchas razones, es posible que un segmento se corrompa o se pierda por completo, ya que se transmite a través de la red.
- Entrega en el mismo orden: Debido a que las redes pueden proporcionar múltiples rutas que pueden tener diferentes velocidades de transmisión, los datos pueden llegar en el orden incorrecto. Al numerar y secuenciar los segmentos, TCP puede garantizar que estos segmentos se vuelvan a ensamblar en el orden correcto.
- Control de flujo: Los hosts de red tienen recursos limitados, como memoria y potencia de procesamiento. Cuando TCP es consciente de que estos recursos están sobrecargados, puede solicitar que la aplicación de envío reduzca la velocidad del flujo de datos. Esto se hace mediante TCP que regula la cantidad de datos que transmite la fuente. El control de flujo puede evitar la necesidad de retransmitir los datos cuando los recursos del host receptor se ven abrumados.
TCP Vs UDP
Este proceso de detección de errores (hacer retransmisiones y reordenar paquetes después de que lleguen) puede introducir latencia en una secuencia TCP. Las aplicaciones altamente sensibles al tiempo como la voz sobre IP (VoIP), la transmisión de video y los juegos generalmente dependen de un proceso de transporte como el Protocolo de datagramas de usuario (UDP) porque reduce la latencia y la fluctuación de fase (variación en la latencia) al no preocuparse por reordenar paquetes o obtener datos faltantes retransmitidos.
TE PUEDE INTERESAR:
- Redes: ¿Cuáles son las diferencias entre el protocolo TCP y UDP?
- TCP y UDP: Explicación y Comparación
- UDP (User Datagram Protocol)
3. Para qué se utiliza TCP
TCP se utiliza para organizar los datos de una manera que garantice la transmisión segura entre el servidor y el cliente. Garantiza la integridad de los datos enviados a través de la red, independientemente de la cantidad. Por esta razón, se utiliza para transmitir datos de otros protocolos de nivel superior que requieren que lleguen todos los datos transmitidos. Ejemplos incluyen:
- Secure Shell (SSH), Protocolo de transferencia de archivos (FTP), Telnet: para compartir archivos punto a punto y, en el caso de Telnet, iniciar sesión en la computadora de otro usuario para acceder a un archivo.
- Protocolo transferencia simple de correo (SMTP), Protocolo de oficina postal (POP), Protocolo de acceso a mensajes de Internet (IMAP): para enviar y recibir correo electrónico
- HTTP: para acceso web
Todos estos ejemplos existen en la capa de aplicación de la pila TCP/IP y envían datos hacia abajo hacia TCP en la capa de transporte.
4. Por qué es importante el TCP
TCP es importante porque establece las reglas y los procedimientos estándar para la forma en que la información se comunica a través de Internet. Es la base de Internet tal como existe hoy y garantiza que la transmisión de datos se lleve a cabo de manera uniforme, independientemente de la ubicación, el hardware o el software involucrado. Por esta razón, es flexible y altamente escalable, lo que significa que se le pueden introducir nuevos protocolos y los acomodará. Tampoco es de propiedad, lo que significa que ninguna persona o empresa es propietaria.
5. Ubicación en la pila TCP/IP
- TE PUEDE INTERESAR: DETALLES SOBRE TCP/IP
La pila TCP/IP es un modelo que representa cómo se organizan e intercambian los datos a través de redes utilizando el protocolo TCP/IP. Representa una serie de capas que representan la forma en que los datos son manejados y empaquetados por una serie de protocolos a medida que avanza del cliente al servidor y viceversa.
Al igual que el modelo OSI, es un modelo conceptual para los estándares de intercambio de datos, y los datos se vuelven a empaquetar en cada capa según su funcionalidad y protocolos de transporte.
La diferencia entre los dos modelos es el nivel de especificidad. El modelo OSI es una representación más abstracta de la forma en que se intercambian los datos, y no es específico de ningún protocolo. Es un framework para sistemas de redes generales. La pila TCP/IP es más específica y se compone del conjunto dominante de protocolos utilizados para intercambiar datos. El OSI es abstracto y está más basado en la funcionalidad, mientras que la pila TCP/IP es concreta y basada en protocolos. El modelo OSI tiene siete capas, mientras que el modelo TCP/IP solo tiene cuatro.
Las solicitudes llegan al servidor a través de la pila, comenzando en la capa de aplicación como datos. A partir de ahí, la información se divide en paquetes de diferentes tipos en cada capa. Los datos se mueven:
- desde la aplicación hasta la capa de transporte donde se clasifica en segmentos TCP;
- a la capa de internet donde se convierte en un datagrama;
- a la capa de interfaz de red donde se divide nuevamente en bits y tramas; y
- finalmente, el servidor responde y la información viaja a través de la pila para llegar a la capa de aplicación como datos.
TCP existe en la capa de transporte con otros protocolos como UDP. Los protocolos en esta capa aseguran la transmisión de datos sin errores al origen, excepto UDP porque tiene una capacidad de verificación de errores más limitada. El encabezado de un datagrama UDP contiene mucha menos información que un encabezado de segmento TCP y pasa por mucho menos procesamiento en la capa de transporte a fin de una latencia reducida.
Puedes consultar más términos en mi diccionario de redes de computadoras.
Si tienes alguna otra duda o término, déjala en los comentarios… 🙂