Controllo di flusso
Può capitare che una sorgente sia in grado di trasmettere ad un tasso più alto della capacità di ricevere a destinazione
- senza controllo la destinazione inizierebbe a scartare frame trasmessi correttamente per mancanza di risorse
- il protocollo deve prevedere meccanismi per rallentare la trasmissione
- frame di controllo con cui il ricevente può inibire e riabilitare la trasmissione di frame
Implementazione
- interfaccia con livelli adiacenti
- ad esempio due procedure per scambiare dati con il livello superiore e due con lo strato fisico
- procedura per mettere il data link layer in attesa di un evento (segnalazione che sono disponibili dei dati)
- procedure per il trattamento dei dati
Buffer
- in ricezione il DLL viene svegliato per prelevare dati dallo strato fisico, processarli e passarli allo strato di rete
- tra la chiamata e la fine delle procedure i dati in arrivo vengono messi in un buffer, in attesa di essere processati
- si deve gestire l’eventualità che i dati arrivino troppo velocemente
Controllo di flusso a priori
- valutare i tempi di risposta del ricevente ed inserire dei ritardi nel processo di trasmissione per adattarlo alla capacità di ricezione
- problema: il tempo di processamento in ricezione non è una costante e può dipendere dal numero di linee che il nodo ricevitore deve gestire
- basarsi sul caso peggiore comporta un grosso limite di efficienza
- → controllo a flusso di complessità crescente per utilizzare al meglio la banda