Control de Flujo: ¿Qué es? Mecanismos y más

El control de flujo, es una de las cosas con las que lidiamos sin saberlo, en especial si trabajamos con computadoras, Internet, redes y otros parecidos. Es por eso que en el siguiente resumen estaremos mostrando cierta información sobre el mismo para que pueda saber de qué se trata esto. No deje de leer este resumen que le será de gran utilidad.

Control de flujo

Definición de control de flujo

El nombre de control de flujo se le da al procedimiento que se lleva a cabo para hacer una sincronización al momento hacer el envío de datos entre 2 computadoras o equipos. De forma individual cada equipo se ocupará del procesamiento de la información con unas velocidades que no son de tipo regular, por esta razón es totalmente necesario que haya un control de flujo para cada dato que se utilizará al momento de la transmisión.

Existe un protocolo llamado TCP el cual ofrece la opción de control de flujo a cualquiera de las aplicaciones que tenga instaladas y se encarguen de transmitir datos con la finalidad de evitar que la computadora emisora haga que la capacidad de la receptora llegue a su nivel máximo lo que podría traer un colapso de esta.

El Bus de datos es algo que podrá ayudarle a aclarar ciertas dudas.

El proceso de parada y espera

El control de flujo es la alternativa más accesible para controlar el tráfico de datos. Gracias a este, un receptor muestra que tanta disponibilidad tiene para recibir los datos, este mensaje será enviado al emisor el cual se mantendrá en período de espera para hacer un reconocimiento de esta instrucción. Tras un breve momento el receptor asegura haber recibido correctamente los datos y así se va repitiendo este proceso con cada uno de los que se desee enviar.

Para simplificar las cosas, explicaremos como trabaja el control de flujo de la siguiente manera:

  • El remitente: Este se encarga de transmitir cada cuadro uno a la vez.
  • El receptor: Este se encarga de notificar que ha recibido la información cada vez que la misma le llegue.
  • El remitente: Luego de los dos pasos nombrados tiene que recibir la notificación del receptor, todo en el tiempo de espera que toma cada acción.

Si ocurre alguna eventualidad al enviar la notificación de recibido la cual se conoce como ACK. El procedimiento a seguir es que el remitente vuelva a iniciar el proceso cuyo nombre es Retransmisión ARQ. Un problema que puede presentarse es que en el caso de los fotogramas estos pueden ser transmitidos de uno en uno, muy seguido ocurre que la transmisión no es muy eficiente ya que si no se recibe el ACK del receptor no puede transmitirse otra cosa.

Te puede interesar:  Cómo Abrir Consola de Windows

https://www.youtube.com/watch?v=msS9vT0EUjc

Ejemplo

Supongamos un caso donde existe un servidor de muy grandes capacidades y este se encarga de enviar un paquete de datos extremadamente grande con una velocidad demasiado rápida, el receptor en este caso será una computadora con poca velocidad y capacidades que es la que debe recibir toda esta información. En ese momento será necesario hacer un control de flujo y es cuando el emisor enviará la misma hasta que el receptor tenga capacidad.

En algún momento de la transferencia de archivos el receptor va a llegar a su límite por lo que se espera que el mismo colapse. Es ahí cuando el mandará un mensaje al emisor diciendo que está al máximo de su capacidad y que debe detener el envío, en el momento en que el receptor vuelva a tener espacio para la recepción, enviará un mensaje al emisor notificando que puede seguir la transferencia y el emisor enviará lo que estaba pendiente o bajará un poco lo que va a mandar.

¿Cuál es la herramienta que se utiliza para el control de flujo?

Esto se lleva a cabo con el protocolo TCP y este trabaja con una opción que se llama Ventana Deslizante, también se conoce como Parada y Espera, esto significa que el emisor suspenderá el envío de la información hasta que el receptor manifieste que está en capacidad de seguir recibiendo. He aquí la deficiencia de este sistema ya que, si el receptor no envía la señal al emisor, este no enviará más nada así el receptor ya se encuentre en capacidad de seguir recibiendo la información.

Control de flujo

¿Cómo es el funcionamiento de la ventana deslizante?

Esta se encuentra formada por dos ventanas, la primera de estas es conocida como Ventana de Recepción, como su nombre refleja esta va ubicada en el receptor. Esta tiene como función mostrar la cantidad de bytes disponibles para la transmisión. Existe una segunda ventana que se llama Ventana de Envío, la misma se encarga de indicar la cantidad de bytes que pueden ser enviados sin necesidad de recibir una confirmación por parte del receptor.

Debe tener en cuenta que en control de flujo una ventana de envío jamás podrá ser más grande que una de recepción. Un breve ejemplo de esto se muestra a continuación:

  • Se inicia el envío de información, cuando llega al receptor este va a confirmar con un ACK1, esto significa que la información llegó correctamente. Cuando el emisor recibe el ACK1 está seguro que el envío fue un éxito y empieza a deslizar la ventana que corresponde al espacio del primer envío de información o paquete 1. Luego envía las dos partes siguientes (paquetes 2 y 3) en cuanto le llegan al receptor este enviará un ACK2 y un ACK3. Inmediatamente después el emisor desliza la primera ventana por una en torno al ACK2 y una más por ACK3.
  • También se puede observar que el emisor realizará el envío del paquete 4, 5 y el 6. Pero aún no se recibirá respuesta del receptor por lo que debe esperar un poco. Inmediatamente estará la ventana disponible, es la Ventana Deslizante número 3 ya que para este momento se ha realizado el trabajo con el paquete 3. Se puede apreciar esto con un ejemplo de análisis a continuación:
Te puede interesar:  Cómo Descargar un Código QR

Paquete 1, 2 y 3 se han reconocido y fueron enviados correctamente.

Paquete 4, 5 y 6 ya han sido enviados sin embargo no se han reconocido aún. Esto significa que el emisor no ha recibido el ACK 4, 5 y 6 en su orden adecuado. Por esta razón no está desplegada la ventana.

Debido a que dicha ventana tiene un tamaño 6 y para el momento se han enviado 3 paquetes no reconocidos, el emisor no requiere de autorización para enviar 3 paquetes más.

Si se realiza el envío de un décimo paquete sin que se haya hecho el reconocimiento de los últimos 6, este envío no se llevará a cabo ya que se estará asumiendo que el receptor no está en capacidad de recibir. En algunos casos el receptor informa de inmediato y en otros casos no lo hace, el emisor debe mantenerse en espera hasta recibir una autorización por la información anterior.

Si se da el caso de otro paquete después de la última Ventana Deslizante es decir un paquete 10 u 11, este envío no se llevará a cabo hasta que estos se encuentren dentro de la ventana deslizante.

Un control de flujo puede realizarse tanto por una señal de control de líneas de interfaz (Puertos en serie o RS 232), también a través de una de las reservas de caracteres de control que van “Dentro de la banda de la señal de inicio de flujo”, es algo así como en código ACII, pero refiriéndonos a XON y también a XOFF.

El control de flujo en el hardware

Para saber sobre esto, tal vez leer sobre los Componentes del hardware pueda ayudarle a refrescar información sobre el tema. Existen ciertas líneas de control que son típicas del RS 232 las cuales son tomadas en cuenta para el control de flujo en temas de hardware, estas líneas se describen a continuación:

  • RTS (Request to Send)
  • CTS (Clear to Send)
  • RTS DTR (Data terminal Ready) Esta línea se utiliza como opción secundaria.
  • DSR (Data set Ready) Es una línea utilizada para control de flujo DTR, puede ser manejada también por DTE ya que es la primera línea que se utiliza para respuestas afirmativas.
Te puede interesar:  Cómo Forzar el Cierre de una Aplicación

Si nos referimos a un control de flujo por RTS o DTE se establecen los RTS que tendrán como función señalar el otro extremo en la transmisión y así empezar a seguir la línea por donde se dará la entrada de datos. Cuando estén listos todos los protocolos se realizará el envío de la información esperada para el hardware. Si por alguna razón el hardware no está en capacidad de recibir toda esta cantidad de datos desde el equipo emisor, de inmediato se enviará una notificación.

En este caso el emisor deberá igualmente esperar a que el hardware receptor esté listo para continuar recibiendo los datos solicitados. El receptor tendrá que buscar la forma si necesita toda la información, evaluando si el hardware tiene el espacio necesario o si debe recurrir a otro de mayor capacidad con la finalidad de que la tarea de envío pueda realizarse completamente, lo más seguro es que tendrá que confirmar mediante un aviso para que se reanude la transferencia nuevamente.

Control de flujo

El beneficio que aporta el control de flujo

Tal vez en este punto se sientan un poco perdidos con el control de flujo, pero estos ejemplos solamente indican como funciona, esto es algo que muchos ponen en práctica si trabajan con computadoras ya que un ejemplo más claro para quienes no dominan el lenguaje informático podría ser el de una red de computadoras donde una envía información a la hora y en el caso de control de flujo de hardware, es como si mandaran información de una computadora a un pendrive o disco duro externo.

El beneficio de todo esto es que no se va a dañar el equipo por exceso de datos enviados, el control de flujo permitirá que el receptor notifique si está al máximo en capacidades y así evitar un colapso que pueda dañar la unidad o equipo receptor.

También puede interesarte este contenido relacionado:

Deja un comentario