Buffer overflow (telecomunicazioni): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Fix link
 
(4 versioni intermedie di 4 utenti non mostrate)
Riga 1:
{{S|telecomunicazioni|telematica}}
In [[telecomunicazioni]] con il termine '''buffer overflow''' si fa riferimento ad una condizione in cui il [[buffer]] di un apparato di comunicazione diviene saturo di dati informativi. Esso tipicamente si verifica quando la velocità con cui i dati pervengono ad un [[nodoNodo (informaticatelecomunicazioni)|nodo]] supera (temporaneamente o permanentemente) la capacità trasmissiva del nodo stesso. In questo caso, non è detto che l'overflow rappresenti un errore di programmazione. Infatti, in molte [[reti di telecomunicazioni]] risulta impossibile conoscere a priori lo stato di tutti i nodi costituenti il sistema di comunicazione e, pertanto, l'evento di buffer overflow viene considerato fisiologico. Ad ogni modo, per ovviare alla perdita di dati che ne consegue, sono usualmente adottati [[protocolli di rete]] in grado di recuperare i dati persi a mezzo di ritrasmissione degli stessi (si veda ad esempio si rimanda allail problematicaproblema del [[controllo della congestione in TCP]]).
 
==Descrizione==
 
In particolare, in una rete di telecomunicazioni a [[commutazione di pacchetto]], i buffer rappresentano memorie in cui memorizzare temporanemante i [[pachettoPacchetto (reti)|pacchetti]] dati in attesa di essere inoltrati su una o più [[portePorta (informatica)|porta]] di uscita. Infatti, ciascun nodo è tipicamente interconnesso ad un certo numero di nodi limitrofi attraverso uno o più collegamenti (o [[canale di comunicazione|canali di comunicazione]], o ''link''), in funzione della [[topologia di rete]].
 
I canali di comunicazione sono caratterizzati da una massima capacità di trasmissione, che limita la quantità di dati che nell'unità di tempo puàpuò transitare attraverso essi, e sono tipicamente alimentati da un ''buffer'' che contiene i dati in attesa di essere trasmessi. In generale, i nodi sono in grado di scambiarsi messaggi sulla base di un approccio di tipo [[store and forward]] ma non possono conoscere in anticipo quale sarà il traffico complessivamente smaltito nelle varie porzioni della rete. Questo implica che possono verificarsi delle saturazioni della capacità di alcuni ''link'' che comportano un accrescimento della quantità di dati contenuta nei relativi ''buffer'' di trasmissione, sino al raggiungimento della massima dimensione del ''buffer'' stesso. Un evento di questo tipo prende il nome di ''buffer oveflow''.
 
Un ''buffer overflow'' comporta in primo luogo una perdiata di dati e, secondariamente, un incremento delle latenze di accodamento. Infatti, quando un ''buffer'' si riempie, crescono di conseguenza i [[ritardi di accodamento]]. Questo effetto può risultare particolarmente dannoso per le applicazioni multimediali in tempo reale e/o interattive quali ad esempio, [[VoIP]], [[videoconferenza|videoconferenze]] e [[streaming]].