logo

¿Qué es el Protocolo de control de transmisión (TCP)?

TCP significa Protocolo de Control de Transmisión . Es un protocolo de capa de transporte que facilita la transmisión de paquetes desde el origen al destino. Es un protocolo orientado a la conexión, lo que significa que establece la conexión antes de la comunicación que ocurre entre los dispositivos informáticos en una red. Este protocolo se utiliza con un protocolo IP, por lo que juntos se denominan TCP/IP.

La principal funcionalidad del TCP es tomar los datos de la capa de aplicación. Luego divide los datos en varios paquetes, les proporciona numeración y finalmente los transmite al destino. El TCP, por otro lado, volverá a ensamblar los paquetes y los transmitirá a la capa de aplicación. Como sabemos, TCP es un protocolo orientado a la conexión, por lo que la conexión permanecerá establecida hasta que se complete la comunicación entre el remitente y el receptor.

cómo salir de un bucle while java

Características del protocolo TCP

Las siguientes son las características de un protocolo TCP:

    Protocolo de capa de transporte

TCP es un protocolo de capa de transporte que se utiliza para transmitir datos del remitente al receptor.

    Confiable

TCP es un protocolo confiable ya que sigue el mecanismo de control de flujo y errores. También admite el mecanismo de reconocimiento, que comprueba el estado y la llegada sonora de los datos. En el mecanismo de acuse de recibo, el receptor envía un acuse de recibo positivo o negativo al remitente para que éste pueda saber si el paquete de datos se ha recibido o si es necesario reenviarlo.

    Se mantiene el orden de los datos.

Este protocolo garantiza que los datos lleguen al receptor previsto en el mismo orden en que se envían. Ordena y numera cada segmento para que la capa TCP en el lado de destino pueda volver a ensamblarlos según su orden.

    Orientado a la conexión

Es un servicio orientado a la conexión, lo que significa que el intercambio de datos se produce sólo después del establecimiento de la conexión. Cuando se complete la transferencia de datos, se finalizará la conexión.

    Duplex completo

Es full-duplex, lo que significa que los datos se pueden transferir en ambas direcciones al mismo tiempo.

    Orientado a la corriente

TCP es un protocolo orientado a flujos, ya que permite al remitente enviar los datos en forma de un flujo de bytes y también permite al receptor aceptar los datos en forma de un flujo de bytes. TCP crea un entorno en el que tanto el emisor como el receptor están conectados por un tubo imaginario conocido como circuito virtual. Este circuito virtual transporta el flujo de bytes a través de Internet.

Necesidad de un protocolo de control del transporte

En la arquitectura en capas de un modelo de red, toda la tarea se divide en tareas más pequeñas. Cada tarea se asigna a una capa particular que procesa la tarea. En el Modelo TCP/IP , cinco capas son capa de aplicación, capa de transporte, capa de red , capa de enlace de datos y capa física. La capa de transporte tiene un papel fundamental al proporcionar comunicación de un extremo a otro a los procesos de aplicación directa. Crea 65.000 puertos para que se pueda acceder a múltiples aplicaciones al mismo tiempo. Toma los datos de la capa superior, los divide en paquetes más pequeños y luego los transmite a la capa de red.

tcp

Funcionamiento de TCP

En TCP, la conexión se establece mediante un protocolo de enlace de tres vías. El cliente envía el segmento con su número de secuencia. El servidor, a cambio, envía su segmento con su propio número de secuencia así como la secuencia de acuse de recibo, que es uno más que el número de secuencia del cliente. Cuando el cliente recibe el acuse de recibo de su segmento, envía el acuse de recibo al servidor. De esta forma se establece la conexión entre el cliente y el servidor.

tcp

Ventajas de TCP

  • Proporciona un servicio confiable orientado a la conexión, lo que significa que garantiza la entrega de paquetes de datos. Si el paquete de datos se pierde en la red, TCP reenviará los paquetes perdidos.
  • Proporciona un mecanismo de control de flujo mediante un protocolo de ventana deslizante.
  • Proporciona detección de errores mediante el uso de suma de comprobación y control de errores mediante el protocolo Regresar o ARP.
  • Elimina la congestión mediante el uso de un algoritmo para evitar la congestión de la red que incluye varios esquemas, como aumento aditivo/disminución multiplicativa (AIMD), inicio lento y ventana de congestión.

Desventaja de TCP

Aumenta una gran cantidad de gastos generales ya que cada segmento obtiene su propio encabezado TCP, por lo que la fragmentación por parte del enrutador aumenta los gastos generales.

mapa de árbol

Formato de encabezado TCP

tcp
    Puerto de origen:Define el puerto de la aplicación que envía los datos. Entonces, este campo contiene la dirección del puerto de origen, que es de 16 bits.Puerto de destino:Define el puerto de la aplicación en el lado receptor. Entonces, este campo contiene la dirección del puerto de destino, que es de 16 bits.Secuencia de números:Este campo contiene el número de secuencia de bytes de datos en una sesión particular.Número de acuse de recibo:Cuando se establece el indicador ACK, contiene el siguiente número de secuencia del byte de datos y funciona como un reconocimiento de los datos anteriores recibidos. Por ejemplo, si el receptor recibe el número de segmento 'x', responde 'x+1' como número de acuse de recibo.HLEN:Especifica la longitud del encabezado indicada por las palabras de 4 bytes en el encabezado. El tamaño del encabezado oscila entre 20 y 60 bytes. Por tanto, el valor de este campo estaría entre 5 y 15.Reservado:Es un campo de 4 bits reservado para uso futuro y, de forma predeterminada, todos están configurados en cero.Banderas
    Hay seis bits de control o banderas:
      URGO:Representa un indicador urgente. Si está configurado, los datos se procesan con urgencia.RECONOCIMIENTO:Si el ACK se establece en 0, significa que el paquete de datos no contiene un acuse de recibo.PSH:Si este campo está configurado, solicita al dispositivo receptor que envíe los datos a la aplicación receptora sin almacenarlos en el búfer.PRIMERO:Si está configurado, solicita reiniciar una conexión.SINCRONIZACIÓN:Se utiliza para establecer una conexión entre los hosts.FIN:Se utiliza para liberar una conexión y no se producirá ningún intercambio adicional de datos.
    Tamaño de ventana
    Es un campo de 16 bits. Contiene el tamaño de datos que el receptor puede aceptar. Este campo se utiliza para el control de flujo entre el remitente y el receptor y también determina la cantidad de búfer asignado por el receptor para un segmento. El valor de este campo lo determina el receptor.Suma de comprobación
    Es un campo de 16 bits. Este campo es opcional en UDP, pero en el caso de TCP/IP, este campo es obligatorio.puntero urgente
    Es un puntero que apunta al byte de datos urgentes si el indicador URG está establecido en 1. Define un valor que se agregará al número de secuencia para obtener el número de secuencia del último byte urgente.Opciones
    Proporciona opciones adicionales. El campo opcional se representa en 32 bits. Si este campo contiene datos de menos de 32 bits, entonces se requiere relleno para obtener los bits restantes.