Control de flujo (datos)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Gestión de la tasa de transmisión de datos

En las comunicaciones de datos, el control de flujo es el proceso de gestionar la velocidad de transmisión de datos entre dos nodos para evitar que un remitente rápido abrume a un receptor lento. El control de flujo debe distinguirse del control de congestión, que se utiliza para controlar el flujo de datos cuando realmente se ha producido una congestión. Los mecanismos de control de flujo se pueden clasificar según si el nodo receptor envía o no retroalimentación al nodo emisor.

El control de flujo es importante porque es posible que una computadora emisora transmita información a una velocidad más rápida que la que la computadora de destino puede recibir y procesar. Esto puede suceder si las computadoras receptoras tienen una gran carga de tráfico en comparación con la computadora emisora, o si la computadora receptora tiene menos potencia de procesamiento que la computadora emisora.

Parar y esperar

El control de flujo de parada y espera es la forma más simple de control de flujo. En este método, el mensaje se divide en varios fotogramas y el receptor indica que está preparado para recibir un fotograma de datos. El remitente espera un acuse de recibo (ACK) después de cada fotograma durante un tiempo específico (lo que se denomina tiempo de espera). El receptor envía el ACK para informarle al remitente que la trama de datos se recibió correctamente. El remitente enviará la siguiente trama sólo después del ACK.

Operaciones

  1. Sender: Transmite un solo marco a la vez.
  2. El remitente espera recibir ACK dentro del tiempo fuera.
  3. Receptor: Transmite el reconocimiento (ACK) ya que recibe un marco.
  4. Ir al paso 1 cuando se recibe ACK, o el tiempo fuera es alcanzado.

Si una trama o ACK se pierde durante la transmisión, la trama se retransmite. Este proceso de retransmisión se conoce como ARQ (solicitud de repetición automática).

El problema con Stop-and-wait es que sólo se puede transmitir una trama a la vez, y eso a menudo conduce a una transmisión ineficiente, porque hasta que el remitente reciba el ACK no puede transmitir ningún paquete nuevo. Durante este tiempo, tanto el remitente como el canal quedan inutilizados.

Pros y contras de detenerse y esperar

Ventajas

La única ventaja de este método de control de flujo es su simplicidad.

Desventajas

El remitente debe esperar el ACK después de cada cuadro que transmite. Esto es una fuente de ineficiencia y es particularmente malo cuando el retraso de propagación es mucho mayor que el retraso de transmisión.

Detenerse y esperar también puede generar ineficiencias al enviar transmisiones más largas. Cuando se envían transmisiones más largas, es más probable que se produzcan errores en este protocolo. Si los mensajes son breves, es más probable que los errores se detecten a tiempo. Se crea más ineficiencia cuando los mensajes individuales se dividen en marcos separados porque esto hace que la transmisión sea más larga.

Ventana corredera

Un método de control de flujo en el que un receptor le da permiso a un transmisor para transmitir datos hasta que se llena una ventana. Cuando la ventana está llena, el transmisor debe dejar de transmitir hasta que el receptor anuncie una ventana más grande.

El control de flujo de ventana deslizante se utiliza mejor cuando el tamaño del buffer es limitado y preestablecido. Durante una comunicación típica entre un remitente y un receptor, el receptor asigna espacio de búfer para n fotogramas (n es el tamaño del búfer en fotogramas). El remitente puede enviar y el receptor puede aceptar n tramas sin tener que esperar un acuse de recibo. Se asigna un número de secuencia a las tramas para ayudar a realizar un seguimiento de aquellas tramas que recibieron un acuse de recibo. El receptor reconoce una trama enviando un acuse de recibo que incluye el número de secuencia de la siguiente trama esperada. Este reconocimiento anuncia que el receptor está listo para recibir n tramas, comenzando con el número especificado. Tanto el remitente como el receptor mantienen lo que se llama una ventana. El tamaño de la ventana es menor o igual que el tamaño del búfer.

El control de flujo de ventana deslizante tiene un rendimiento mucho mejor que el control de flujo de parada y espera. Por ejemplo, en un entorno inalámbrico, si las velocidades de datos son bajas y el nivel de ruido es muy alto, no es muy factible esperar un reconocimiento por cada paquete que se transfiere. Por lo tanto, la transferencia de datos de forma masiva produciría un mejor rendimiento en términos de mayor rendimiento.

El control de flujo de ventana deslizante es un protocolo punto a punto que asume que ninguna otra entidad intenta comunicarse hasta que se complete la transferencia de datos actual. La ventana mantenida por el remitente indica qué fotogramas puede enviar. El remitente envía todos los fotogramas de la ventana y espera una confirmación (en lugar de confirmar después de cada fotograma). Luego, el remitente cambia la ventana al número de secuencia correspondiente, indicando así que se pueden enviar fotogramas dentro de la ventana a partir del número de secuencia actual.

Regresar N

Un algoritmo de solicitud de repetición automática (ARQ), utilizado para la corrección de errores, en el que un reconocimiento negativo (NACK) provoca la retransmisión de la palabra errónea, así como de las siguientes N–1 palabras. El valor de N generalmente se elige de modo que el tiempo necesario para transmitir las N palabras sea menor que el retardo de ida y vuelta desde el transmisor al receptor y viceversa. Por lo tanto, no se necesita un buffer en el receptor.

El retardo de propagación normalizado (a) = tiempo de propagación (Tp)tiempo de transmisión (Tt) , donde Tp = longitud (L) sobre la velocidad de propagación (V) y Tt = tasa de bits (r) sobre la velocidad de fotogramas (F). De modo que a =LFVr.

Para obtener la utilización debe definir un tamaño de ventana (N). Si N es mayor o igual a 2a + 1 entonces la utilización es 1 (utilización total) para el canal de transmisión. Si es menor que 2a + 1, entonces la ecuación N1+2a debe usarse para calcular la utilización.

Repetición selectiva

Repetición selectiva es un protocolo orientado a conexión en el que tanto el transmisor como el receptor tienen una ventana de números de secuencia. El protocolo tiene un número máximo de mensajes que se pueden enviar sin acuse de recibo. Si esta ventana se llena, el protocolo se bloquea hasta que se reciba un acuse de recibo del primer mensaje pendiente. En este punto el transmisor está listo para enviar más mensajes.

Comparación

Esta sección está orientada a la idea de comparar detener y esperar, ventana deslizante con los subconjuntos de retroceso N y repetición selectiva.

Parar y esperar

Gratis: 12a+1{displaystyle {frac}{2a+1}}.

Con errores: 1− − P2a+1{displaystyle {frac {1-P}{2a+1}}.

Repetición selectiva

Definimos el rendimiento T como el promedio de bloques comunicados por bloque transmitido. Es más conveniente calcular el número promedio de transmisiones necesarias para comunicar un bloque, una cantidad que denotamos por 0, y luego determinar T de la ecuación T=1b{displaystyle T={frac {1}{b}}.

Transmitir control de flujo

Puede ocurrir control del flujo de transmisión:

  • entre el equipo terminal de datos (DTE) y un centro de conmutación, a través de equipos de determinación de circuitos de datos (DCE), los tipos opuestos interconectados directamente,
  • o entre dos dispositivos del mismo tipo (dos DTE, o dos DCEs), interconectados por un cable crossover.

La velocidad de transmisión puede controlarse debido a los requisitos de la red o del DTE. El control del flujo de transmisión puede ocurrir independientemente en las dos direcciones de transferencia de datos, permitiendo así que las tasas de transferencia en una dirección sean diferentes de las tasas de transferencia en la otra dirección. El control del flujo de transmisión puede ser

  • o parar y esperar,
  • o usar una ventana corredera.

Se puede realizar control de flujo

  • ya sea mediante líneas de señal de control en una interfaz de comunicación de datos (ver puerto serie y RS-232),
  • o reservando caracteres de control en banda para iniciar y detener el flujo de señalización (como los códigos ASCII para XON/XOFF).

Control de flujo de hardware

En RS-232 común hay pares de líneas de control que generalmente se denominan control de flujo de hardware:

  • RTS (Solicitud de enviar) y CTS (claro para enviar), utilizados en el control de flujo RTS
  • DTR (con terminal de datos listo) y DSR (preparado de datos), utilizado en el control de flujo DTR

El control de flujo de hardware normalmente lo maneja el DTE o el "extremo maestro", ya que primero genera o afirma su línea para comandar el otro lado:

  • En el caso del flujo de control RTS, DTE establece su RTS, que indica el extremo opuesto (el extremo de esclavo como un DCE) para comenzar a monitorear su línea de entrada de datos. Cuando esté listo para los datos, el fin de esclavos elevará su línea complementaria, CTS en este ejemplo, lo que indica al maestro para comenzar a enviar datos, y para que el maestro comience a monitorear la línea de salida de datos del esclavo. Si uno de los extremos necesita parar los datos, baja su línea de "preparación de datos" respectiva.
  • Para los enlaces PC-a-modem y similares, en el caso de control de flujo DTR, DTR/DSR se elevan para toda la sesión de módem (dise una llamada a Internet de marcado donde se eleva DTR para indicar el módem a marcar, y DSR se eleva por el módem cuando la conexión está completa), y RTS/CTS se elevan para cada bloque de datos.

Un ejemplo de control de flujo de hardware es una interfaz de módem de radio semidúplex a computadora. En este caso, el software de control en el módem y la computadora puede escribirse para dar prioridad a las señales de radio entrantes, de modo que los datos salientes de la computadora se detengan reduciendo el CTS si el módem detecta una recepción.

  • Polaridad:
    • Las señales de nivel RS-232 son invertidas por los IC controladores, por lo que la polaridad de línea es TxD-, RxD-, CTS+, RTS+ (claro para enviar cuando HI, datos 1 es un LO)
    • para microprocesadores pins las señales son TxD+, RxD+, CTS-, RTS- (claro para enviar cuando LO, los datos 1 es un HI)

Control de flujo de software

Por el contrario, XON/XOFF suele denominarse control de flujo de software.

Control de flujo de circuito abierto

El mecanismo de control de flujo de bucle abierto se caracteriza por no tener retroalimentación entre el receptor y el transmisor. Este sencillo medio de control se utiliza ampliamente. La asignación de recursos debe ser una "reserva previa" o "saltar a saltar" tipo.

El control de flujo de bucle abierto tiene problemas inherentes a la hora de maximizar la utilización de los recursos de la red. La asignación de recursos se realiza en la configuración de la conexión utilizando un CAC (control de admisión de conexión) y esta asignación se realiza utilizando información que ya es una "noticia antigua" durante la vida de la conexión. A menudo hay una asignación excesiva de recursos y se desperdician capacidades reservadas pero no utilizadas. ATM utiliza el control de flujo de bucle abierto en sus servicios CBR, VBR y UBR (ver contrato de tráfico y control de congestión).

El control de flujo de circuito abierto incorpora dos controles; el controlador y un regulador. El regulador puede alterar la variable de entrada en respuesta a la señal del controlador. Un sistema de circuito abierto no tiene mecanismo de retroalimentación o avance, por lo que las señales de entrada y salida no están directamente relacionadas y existe una mayor variabilidad del tráfico. También hay una tasa de llegada más baja en dicho sistema y una tasa de pérdidas más alta. En un sistema de control abierto, los controladores pueden operar los reguladores a intervalos regulares, pero no hay seguridad de que la variable de salida pueda mantenerse en el nivel deseado. Si bien puede resultar más económico utilizar este modelo, el modelo de bucle abierto puede ser inestable.

Control de flujo de circuito cerrado

El mecanismo de control de flujo de circuito cerrado se caracteriza por la capacidad de la red de informar la congestión pendiente de la red al transmisor. Luego, el transmisor utiliza esta información de diversas maneras para adaptar su actividad a las condiciones de la red existente. ABR utiliza el control de flujo de circuito cerrado (ver contrato de tráfico y control de congestión). El control de flujo de transmisión descrito anteriormente es una forma de control de flujo de circuito cerrado.

Este sistema incorpora todos los elementos básicos de control, como son, el sensor, transmisor, controlador y regulador. El sensor se utiliza para capturar una variable de proceso. La variable de proceso se envía a un transmisor que traduce la variable al controlador. El controlador examina la información con respecto a un valor deseado e inicia una acción de corrección si es necesario. Luego, el controlador comunica al regulador qué acción se necesita para garantizar que el valor de la variable de salida coincida con el valor deseado. Por lo tanto, existe un alto grado de seguridad de que la variable de salida se puede mantener en el nivel deseado. El sistema de control de circuito cerrado puede ser un sistema de retroalimentación o de avance:

Un sistema de retroalimentación de circuito cerrado tiene un mecanismo de retroalimentación que relaciona directamente las señales de entrada y salida. El mecanismo de retroalimentación monitorea la variable de salida y determina si se requiere corrección adicional. El valor de la variable de salida que se retroalimenta se utiliza para iniciar esa acción correctiva en un regulador. La mayoría de los bucles de control de la industria son del tipo retroalimentación.

En un sistema de circuito cerrado de alimentación anticipada, la variable de proceso medida es una variable de entrada. Luego, la señal medida se utiliza de la misma manera que en un sistema de retroalimentación.

El modelo de circuito cerrado produce una menor tasa de pérdida y retrasos en las colas, además de generar tráfico que responde a la congestión. El modelo de circuito cerrado siempre es estable, ya que el número de mínimos activos está limitado.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save