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 emisor rápido sature 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 se ha producido una congestión. [ 1 ] 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 un ordenador emisor transmita información a una velocidad mayor de la que el ordenador receptor puede recibirla y procesarla. Esto puede ocurrir si los ordenadores receptores tienen una carga de tráfico elevada en comparación con el ordenador emisor, o si el ordenador receptor tiene menor capacidad de procesamiento que el emisor.
Parar y esperar
El control de flujo de parada y espera es la forma más sencilla de control de flujo. En este método, el mensaje se divide en múltiples tramas, y el receptor indica que está listo para recibir una trama de datos. El emisor espera una confirmación de recepción (ACK) después de cada trama durante un tiempo determinado (denominado tiempo de espera). El receptor envía la ACK para informar al emisor de que la trama de datos se ha recibido correctamente. El emisor enviará la siguiente trama solo después de recibir la ACK.
Operaciones
- Emisor: Transmite un solo fotograma a la vez.
- El remitente espera a recibir la confirmación (ACK) dentro del tiempo de espera.
- Receptor: Transmite una confirmación (ACK) al recibir una trama.
- Cuando se reciba la confirmación (ACK) o se agote el tiempo de espera, vuelva al paso 1.
Si se pierde una trama o un ACK 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 el protocolo Stop-and-wait es que solo se puede transmitir una trama a la vez, lo que suele resultar en una transmisión ineficiente, ya que hasta que el emisor recibe la confirmación (ACK) no puede transmitir ningún paquete nuevo. Durante este tiempo, tanto el emisor como el canal quedan inactivos.
Ventajas e inconvenientes del sistema de parada y espera.
Ventajas
La única ventaja de este método de control de flujo es su simplicidad.
Desventajas
El remitente necesita esperar el ACK después de cada trama que transmite. Esto es una fuente de ineficiencia, y es particularmente malo cuando el retardo de propagación es mucho mayor que el retardo de transmisión . [ 2 ]
La técnica de parada y espera también puede generar ineficiencias al enviar transmisiones largas. [ 3 ] Al enviar transmisiones largas, aumenta la probabilidad de errores en este protocolo. Si los mensajes son cortos, es más probable que los errores se detecten con anticipación. Se genera mayor ineficiencia cuando los mensajes individuales se dividen en tramas separadas, ya que esto alarga la transmisión. [ 4 ]
Ventana corrediza
Método de control de flujo en el que un receptor autoriza a un transmisor a transmitir datos hasta que se llene una ventana. Cuando la ventana se llena, el transmisor debe dejar de transmitir hasta que el receptor anuncie una ventana más grande. [ 5 ]
El control de flujo de ventana deslizante se utiliza mejor cuando el tamaño del búfer es limitado y preestablecido. Durante una comunicación típica entre un emisor y un receptor, el receptor asigna espacio de búfer para n tramas ( donde n es el tamaño del búfer en tramas). El emisor puede enviar y el receptor puede recibir n tramas sin tener que esperar una confirmación. Se asigna un número de secuencia a las tramas para facilitar el seguimiento de aquellas que sí recibieron una confirmación. El receptor confirma una trama enviando una confirmación que incluye el número de secuencia de la siguiente trama esperada. Esta confirmación indica que el receptor está listo para recibir n tramas, comenzando con el número especificado. Tanto el emisor como el receptor mantienen lo que se denomina una ventana. El tamaño de la ventana es menor o igual al tamaño del búfer.
El control de flujo de ventana deslizante ofrece un rendimiento muy superior al control de flujo de parada y espera. Por ejemplo, en un entorno inalámbrico, si las tasas de datos son bajas y el nivel de ruido es muy alto, esperar una confirmación para cada paquete transferido resulta inviable. Por lo tanto, la transferencia de datos en bloque ofrece un mejor rendimiento en términos de mayor velocidad de transmisión.
El control de flujo de ventana deslizante es un protocolo punto a punto que presupone que ninguna otra entidad intenta comunicarse hasta que se complete la transferencia de datos actual. La ventana que mantiene el remitente indica qué tramas puede enviar. El remitente envía todas las tramas dentro de la ventana y espera una confirmación (en lugar de confirmar después de cada trama). A continuación, el remitente desplaza la ventana al número de secuencia correspondiente, indicando así que se pueden enviar las tramas dentro de la ventana a partir del número de secuencia actual.
Regresa N
El algoritmo de solicitud de repetición automática (ARQ), utilizado para la corrección de errores, consiste en que una confirmación negativa (NACK) provoca la retransmisión de la palabra errónea, así como de las N–1 palabras siguientes. El valor de N se suele elegir de forma que el tiempo necesario para transmitir las N palabras sea menor que el retardo de ida y vuelta entre el transmisor y el receptor. Por lo tanto, no se requiere un búfer en el receptor.
El retardo de propagación normalizado (a) = tiempo de propagación (Tp) / tiempo de transmisión (Tt) , donde Tp = longitud (L) dividida por la velocidad de propagación (V) y Tt = tasa de bits (r) dividida por la velocidad de fotogramas (F). Por lo tanto, a = LF / Vr .
Para obtener la utilización, debe definir un tamaño de ventana (N). Si N es mayor o igual a 2a + 1, la utilización es 1 (utilización completa) para el canal de transmisión. Si es menor que 2a + 1, debe utilizarse la ecuación N / 1 + 2a para calcular la utilización. [ 6 ]
Repetición selectiva
La repetición selectiva es un protocolo orientado a la conexión en el que tanto el transmisor como el receptor disponen de 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 recibe un acuse de recibo para el mensaje pendiente más antiguo. En ese momento, el transmisor puede enviar más mensajes. [ 7 ]
Comparación
Esta sección está orientada a la idea de comparar stop-and-wait , slider window con los subconjuntos go back N y selective repeat .
Parar y esperar
Sin errores:.
Con errores:.
Repetición selectiva
Definimos el rendimiento T como el número 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 a partir de la ecuación..
Control de flujo de transmisión
Puede producirse un control del flujo de transmisión:
- entre el equipo terminal de datos (DTE) y un centro de conmutación , a través del equipo de terminación de circuito de datos (DCE), los tipos opuestos interconectados directamente,
- o entre dos dispositivos del mismo tipo (dos DTE o dos DCE), interconectados mediante un cable cruzado .
La tasa de transmisión puede controlarse debido a los requisitos de la red o del DTE. El control del flujo de transmisión puede ocurrir de forma independiente en las dos direcciones de transferencia de datos, lo que permite 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
- ya sea detenerse y esperar ,
- o utilice una ventana corredera .
Se puede realizar el 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 dentro de la banda para indicar el inicio y la parada del flujo (como los códigos ASCII para XON/XOFF ).
Control de flujo de hardware
En el protocolo RS-232 común existen pares de líneas de control que generalmente se denominan control de flujo por hardware :
- RTS (solicitud de envío) y CTS (autorización de envío), utilizados en el control de flujo RTS.
- DTR ( terminal de datos listo ) y DSR ( conjunto de datos listo ), utilizados en el control de flujo DTR.
El control de flujo del hardware normalmente lo gestiona el DTE o "extremo maestro", ya que es el primero en activar o establecer su línea para dar órdenes al otro lado:
- En el caso del flujo de control RTS , el DTE activa su RTS, lo que indica al extremo opuesto (el extremo esclavo, como un DCE) que comience a monitorizar su línea de entrada de datos. Cuando esté listo para recibir datos, el extremo esclavo activará su línea complementaria, CTS en este ejemplo, lo que indica al maestro que comience a enviar datos y que este comience a monitorizar la línea de salida de datos del esclavo. Si alguno de los extremos necesita detener la transmisión de datos, desactiva su respectiva línea de "disponibilidad de datos".
- Para enlaces de PC a módem y similares, en el caso del control de flujo DTR, se activan DTR/DSR para toda la sesión del módem (por ejemplo, una llamada a Internet por línea conmutada donde se activa DTR para indicarle al módem que marque, y DSR es activado por el módem cuando la conexión se completa), y se activan RTS/CTS para cada bloque de datos.
Un ejemplo de control de flujo por hardware es la interfaz entre un módem de radio semidúplex y una computadora. En este caso, el software de control del módem y la computadora puede estar programado para dar prioridad a las señales de radio entrantes, de modo que la transmisión de datos desde la computadora se pause reduciendo el nivel de señal de control (CTS) si el módem detecta una recepción.
- Polaridad:
- Las señales de nivel RS-232 son invertidas por los circuitos integrados del controlador, por lo que la polaridad de la línea es TxD-, RxD-, CTS+, RTS+ (listo para enviar cuando HI, el dato 1 es LO).
- Para los pines del microprocesador, las señales son TxD+, RxD+, CTS-, RTS- (listo para enviar cuando LO, el dato 1 es un HI).
Control de flujo de software
Por el contrario, XON / XOFF se suele denominar control de flujo de software y utiliza los caracteres hexadecimales 0x11 y 0x13 .
Control de flujo en lazo abierto
El mecanismo de control de flujo de lazo abierto se caracteriza por la ausencia de retroalimentación entre el receptor y el transmisor. Este sencillo método de control es ampliamente utilizado. La asignación de recursos debe ser de tipo "reserva previa" o "salto a salto".
El control de flujo de bucle abierto presenta problemas inherentes para maximizar la utilización de los recursos de la red. La asignación de recursos se realiza al establecer la conexión mediante un CAC ( control de admisión de conexión ) y se basa en información que ya está desactualizada durante la vida útil de la conexión. A menudo se produce una sobreasignación 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 (véase contrato de tráfico y control de congestión ). [ 1 ]
El control de flujo en lazo abierto incorpora dos controles: el controlador y el regulador. El regulador puede modificar la variable de entrada en respuesta a la señal del controlador. Un sistema en lazo abierto carece de mecanismos de retroalimentación o anticipación, por lo que las señales de entrada y salida no están directamente relacionadas, lo que genera una mayor variabilidad en el tráfico. Además, presenta una menor tasa de llegada y una mayor tasa de pérdida. En un sistema de control abierto, los controladores pueden operar los reguladores a intervalos regulares, pero no hay garantía de que la variable de salida se mantenga en el nivel deseado. Si bien este modelo puede resultar más económico, el modelo en lazo abierto puede ser inestable.
Control de flujo en bucle cerrado
El mecanismo de control de flujo de bucle cerrado se caracteriza por la capacidad de la red para informar al transmisor sobre la congestión inminente. Esta información es utilizada por el transmisor de diversas maneras para adaptar su actividad a las condiciones existentes de la red. El control de flujo de bucle cerrado es utilizado por ABR (véase contrato de tráfico y control de congestión ). [ 1 ] El control de flujo de transmisión descrito anteriormente es una forma de control de flujo de bucle cerrado.
Este sistema incorpora todos los elementos de control básicos, como el sensor, el transmisor, el controlador y el regulador. El sensor se utiliza para capturar una variable de proceso . Esta variable se envía a un transmisor que la traduce al controlador. El controlador examina la información con respecto a un valor deseado e inicia una acción correctiva si es necesario. A continuación, el controlador comunica al regulador la acción necesaria para asegurar que el valor de la variable de salida coincida con el valor deseado. Por lo tanto, existe un alto grado de certeza de que la variable de salida se puede mantener en el nivel deseado. El sistema de control de lazo cerrado puede ser de realimentación o de anticipación.
Un sistema de retroalimentación de lazo cerrado cuenta con un mecanismo de retroalimentación que relaciona directamente las señales de entrada y salida. Este mecanismo monitorea la variable de salida y determina si se requiere una corrección adicional. El valor de la variable de salida que se retroalimenta se utiliza para iniciar la acción correctiva en un regulador. La mayoría de los lazos de control en la industria son de tipo retroalimentación.
En un sistema de lazo cerrado de alimentación directa, la variable de proceso medida es una variable de entrada. La señal medida se utiliza entonces de la misma manera que en un sistema de realimentación.
El modelo de bucle cerrado produce menores tasas de pérdida y retrasos en las colas, además de generar un tráfico que responde a la congestión. El modelo de bucle cerrado siempre es estable, ya que el número de niveles bajos activos es limitado.
Véase también
Referencias
- 1 2 3 Soluciones de pruebas de red, Gestión de tráfico ATM. Libro blanco consultado por última vez el 15 de marzo de 2005.
- ↑ "CONTROL DE ERRORES" (PDF) . 28 de septiembre de 2005. Consultado el 10 de noviembre de 2018 .
- ↑ arun (20 de noviembre de 2012). "Técnicas de control de flujo" . Angelfire . Recuperado el 10 de noviembre de 2018 .
- ↑ "último acceso: 1 de diciembre de 2012" . people.bridgewater.edu . 1 de diciembre de 2012. Consultado el 10 de noviembre de 2018 .
- ↑ Definición del diccionario Webster consultada por última vez el 3 de diciembre de 2012.
- ↑ Diccionario Focal de Telecomunicaciones, Focal Press, consultado por última vez el 3 de diciembre de 2012.
- ↑ Transmisión de datos a través de sistemas de comunicación por radio HF adaptativos mediante protocolo de repetición selectiva. Último acceso: 3 de diciembre de 2012.
Ventana corrediza:
- Último acceso: 27 de noviembre de 2012.
Enlaces externos
- Control de flujo y protocolo de enlace RS-232
- Control de flujo (datos)
- Rendimiento de la red
- Control de enlace lógico
- Transmisión de datos