Definición
Mecanismo de retroalimentación extremo a extremo o salto a salto por el cual un receptor limita las transmisiones de un emisor (por ejemplo mediante ventanas, créditos o señales de pausa) para evitar que los buffers o la capacidad de procesamiento del receptor se saturen.
Principio
Principio
Mediante feedback explícito, a menudo basado en créditos o ventanas, el control de flujo alinea el rendimiento del emisor con la tasa de consumo del receptor para evitar el desbordamiento de buffers en el extremo consumidor.
Demostración
Demostración
Escenario ilustrativo → Un receptor anuncia una ventana de recepción de N bytes en los encabezados del protocolo; el emisor limita los bytes pendientes sin acuse a esa ventana; consecuencia → la ocupación del buffer se mantiene dentro de la capacidad y el receptor procesa los datos sin desbordarse.
Aplicación incorrecta
Aplicación incorrecta
Confundir control de flujo con control de congestión: asumir que el fenestrado orientado al receptor evita también la congestión en la red (el control de flujo protege recursos del receptor, pero no garantiza por sí mismo que las colas compartidas de la red no se congestionen).
Consecuencia
Consecuencia
Aplicado correctamente, el control de flujo evita el desbordamiento de buffers y la pérdida de paquetes en el receptor; un control excesivamente conservador reduce el rendimiento y aumenta el tiempo de transferencia, mientras que su ausencia puede provocar agotamiento de recursos y fallos de aplicación.
Inversión
Inversión
En algunos sistemas en tiempo real o con pérdidas, desechar paquetes excedentes puede ser preferible al buffering (por ejemplo para mantener frescura o cumplir latencias), de modo que el control de flujo basado en buffering puede resultar contraproducente; además, middleboxes o rutas asimétricas pueden hacer insuficiente el control de flujo extremo a extremo sin soporte de red.
Límite
Límite
Dentro de la definición: interacciones emisor‑receptor que usan ventanas anunciadas, esquemas de crédito o tramas de pausa. Caso límite: control de flujo aplicado en saltos intermedios (buffers de switches) donde políticas locales interactúan con ventanas extremo a extremo. Fuera de la definición: policing o shaping en el borde de la red que limita la tasa independientemente de la capacidad del receptor.
Tensión semántica
Tensión semántica
Tensión entre maximizar el rendimiento y prevenir la sobrecarga del receptor: ventanas mayores aumentan la utilización pero arriesgan desbordos si el receptor no vacía con rapidez; ventanas menores protegen al receptor pero pueden infrautilizar la capacidad.
Síntesis
Síntesis
El control de flujo es una disciplina de retroalimentación centrada en el receptor: limita los datos en vuelo para evitar la sobrecarga del extremo y debe coordinarse con control de congestión y gestión de buffers para un rendimiento extremo a extremo.