Il controllo del flusso di rete è un mezzo per le reti di comunicazione per gestire la congestione del traffico sulla rete. Varie tecniche possono essere utilizzate sia per le reti basate su circuiti che per le reti a commutazione di pacchetto come quelle utilizzate su Internet. Attraverso l’uso di tecniche di controllo del flusso, la rete è in grado di fornire una migliore qualità complessiva del servizio e ridurre la frequenza delle comunicazioni interrotte.
Le reti di circuiti, come le reti multiplexing a divisione di tempo per alcuni tipi di comunicazione digitale, utilizzano tipicamente circuiti dedicati per la comunicazione. In questi casi, la rete potrebbe perdere l’utilizzo di tutti i suoi canali disponibili per la larghezza di banda. Se un canale è inattivo mentre altro traffico è in attesa di essere trasmesso, è possibile implementare tecniche di controllo del flusso di rete per bilanciare l’array di circuiti di comunicazione disponibili.
Con tali reti di circuiti, viene utilizzata una tecnica nota come controllo di ammissione alla connessione (CAC) per un corretto controllo del flusso di rete. Gli algoritmi vengono utilizzati per osservare la rete e prendere decisioni sull’utilizzo delle risorse disponibili. In generale, gli algoritmi lavorano per consentire l’utilizzo di un circuito in funzione della valutazione di alcune variabili, come il tipo di servizio necessario, la qualità del servizio da soddisfare e altre informazioni sul traffico come le tariffe di punta e le tariffe sostenibili. Uno svantaggio è che alcuni metodi CAC danno la priorità anche ai circuiti disponibili, riservando così alcuni circuiti a connessioni occasionali ad alta priorità, il che vanifica lo scopo poiché tali circuiti rimangono ancora inattivi se non ci sono comunicazioni ad alta priorità in transito.
Con le reti a commutazione di pacchetto, è possibile implementare una miriade di possibili tecniche di controllo del flusso di rete a seconda del tipo di rete o del software o hardware disponibile. Nella maggior parte dei casi, una rete a commutazione di pacchetto utilizzerà una sorta di buffer, che è un meccanismo di archiviazione per acquisire i pacchetti di dati non appena ricevuti da un mittente. I pacchetti vanno nel buffer e l’applicazione ricevente li estrae per l’uso. Se la trasmissione di invio è più veloce della capacità del destinatario di elaborare i dati dal buffer, può riempirsi rapidamente.
Nelle reti TCP (Transmission Control Protocol), il controllo del flusso di rete può essere gestito tramite una tecnica nota come ridimensionamento della finestra. L’handshaking a tre vie che avviene durante una connessione TCP consente di trasmettere informazioni sulla dimensione della finestra del destinatario. In questo modo, il destinatario può far sapere al mittente quanto spazio buffer è disponibile in modo che il mittente possa evitare di inviare troppi dati.
L’articolo sulle telecomunicazioni standard 232 (RS-232) consigliato discute anche le disposizioni per gestire il controllo del flusso di rete nelle reti serializzate. Con RS-232, si suddivide in una soluzione basata su software o una soluzione basata su hardware. La tecnica software è anche nota come controllo di flusso XON-XOFF, in cui un segnale XON viene inviato dal destinatario che dichiara di essere in grado di ricevere dati e XOFF quando ha un buffer pieno. Possono verificarsi errori se il segnale di comunicazione è cattivo, per cui il mittente potrebbe non ricevere correttamente un segnale XOFF e continuare a inviare pacchetti al destinatario. I segnali di controllo del flusso vengono inviati anche sullo stesso canale della comunicazione dati, che utilizza una piccola quantità di larghezza di banda.
Il controllo del flusso di rete basato su hardware, d’altra parte, è molto più affidabile a spese aggiuntive dell’implementazione di linee fisiche aggiuntive. In questo caso, vengono impostate linee di controllo della trasmissione separate: una è chiamata linea di richiesta di invio (RTS) e l’altra è la linea di chiaro invio (CTS). L’estremità mittente annuncia la sua intenzione di trasmettere sulla linea RTS e il destinatario annuncia la sua capacità di ricevere sulla linea CTS.