junio 09, 2022

Protocolos a nivel de Transporte

El término Protocolo en la DRAE se refiere  al conjunto de reglas que se establecen en el proceso de comunicación entre dos sistemas. Un protocolo esta conformado por dos partes:

  • una especificación de la secuencia de mensajes que deben intercambiarse
  • una especificación del formato de los datos en los mensaje 

La capa de transporte o el nivel de transporte , en el modelo OSI,  representa el cuarto nivel , y es la encargada de la transferencia de los datos entre emisor y receptor.

El Protocolo a nivel de Transporte [1] transmite mensajes de cualquier longitud  desde el proceso que hace el envío hasta el proceso receptor.  Un proceso que desea transmitir un mensaje a otro proceso emite una llamada a un módulo del protocolo de transporte, pasándole un mensaje en el formato especificado. Luego, el software de transporte se ocupa de la transmisión del mensaje a su destino, subdividiéndolo en paquetes de un tamaño y formato específicos que pueden transmitirse al destino a través del protocolo de red.  El módulo de protocolo de transporte correspondiente en la computadora receptora recibe el paquete a través del módulo de protocolo de nivel de red y realiza transformaciones inversas para regenerar el mensaje antes de pasarlo a un proceso de recepción.

Entre los protocolos de transporte se encuentran UDP y TCP, y son los que se van a detallar a continuación.

UDP

UDP  (Protocolo Universal Datagram) es casi una réplica a nivel de transporte de IP. Un datagrama UDP se encapsula dentro de un paquete IP: el datagrama contiene  un encabezado corto que incluye los números de puerto de origen y de destino (las direcciones del host correspondientes están  en el encabezado IP), un campo  longitud y una suma de comprobación (checksum), se detalla en la siguiente tabla. 

Definiciones de campos de cabecera de UDP

Item Descripción
Número de puerto de origen Dirección del puerto de protocolo que envía la información
Número de puerto de destino Dirección del puerto de protocolo que recibe la información.
Longitud Longitud en octetos del datagrama UDP.
CHECKSUM Proporciona una comprobación en el datagrama UDP utilizando el mismo algoritmo que IP.

 Las características de UDP:

  • Trabaja sin conexión: no emplea sincronización entre el origen y el destino del mensaje
  • No ofrece ninguna garantía de entrega de mensajes: los paquetes IP pueden perderse debido a la congestión o a un error de la red. 
  • No tiene mecanismos de confiabilidad adicionales, excepto la suma de verificación, que es opcional: los paquetes que no coinciden con el valor de verificación se descartan. 
  • Proporciona un medio para transmitir mensajes de hasta 64 kbytes de tamaño entre pares de procesos (o desde uno).
  • Su gran ventaja es que provoca poca carga adicional en la red ya que es sencillo y emplea cabeceras muy simples.

TCP

TCP (Protocolo para el Control de Transmisiones) presenta las siguientes característica [1] :
  • Entrega confiable de secuencias de bytes arbitrariamente largas a través de la abstracción de programación basada en flujo (PBF): la garantía de confiabilidad implica la entrega al proceso de recepción de todos los datos presentados al software TCP por el proceso de envío, en el mismo orden.
  •  Orientado a la conexión: antes de transferir cualquier dato, el remitente y el  receptor de procesos deben cooperar en el establecimiento de un canal de comunicación bidireccional.
  • Incluye mecanismos adicionales (implementados sobre IP) para cumplir con las garantías de confiabilidad. Estos son:
    • Secuenciación: un proceso de envío TCP divide el flujo en una secuencia de segmentos de datos y los transmite como paquetes IP. Se agrega un número de secuencia a cada segmento TCP.  El receptor usa los números de secuencia para ordenar los segmentos recibidos antes de colocarlos en el flujo de entrada del proceso de recepción. Todo segmento recibido con números superiores se mantienen en el bufer hasta que lleguen  los predecesores.  
    • Control de flujo:  esto se logra mediante un sistema de acuses de recibo de  los segmentos. 
    • Retransmisión: el remitente registra los números de secuencia de los segmentos que envía. Cuando recibe un acuse de recibo, observa que los segmentos se recibieron con éxito y luego puede eliminarlos del bufer salientes. Si algún segmento no recibe reconocimiento del acuse de recibo dentro de un tiempo de espera especificado, el remitente lo retransmite.
    • Almacenamiento en búfer: el búfer entrante en el receptor se utiliza para equilibrar flujo de datos entre remitente y receptor. Si el proceso receptor emite operaciones de recepción más lentamente que el remitente emite operaciones de envío, la cantidad de datos en el búfer aumentará. El búfer puede desbordarse, y cuando  sucede, los segmentos entrantes  se eliminan sin registrar su llegada. Por lo tanto, no se envía acuse recibo de su llegada y el remitente está obligado a retransmitirlos.
    • Checksum: cada segmento lleva una suma de verificación que cubre el encabezado y los datos en el segmento. Si un segmento recibido no coincide con el checksum, el segmento se descarta.

Referencias
  1. Coulouris, George F. Distributed Systems: Concepts and Design. Boston: Addison-Wesley, 2012.
  2. Tanenbaum, Andrew S., and Maarten van Steen. Distributed Systems: Principles and Paradigms. Upper Saddle River, NJ: Pearson Prentice Hall, 2007. 




No hay comentarios.:

Publicar un comentario