Algoritmo di backoff esponenziale binarioIn telecomunicazioni l'algoritmo di backoff esponenziale è un algoritmo utilizzato nel protocollo di accesso multiplo CSMA/CD per decidere il tempo di subentro in trasmissione su mezzo condiviso da parte di una o più stazioni (host) trasmittenti una volta che è stata riscontrata una collisione. L'algoritmo si applica in seguito alla ricezione della sequenza di jamming che definisce il messaggio di interruzione della trasmissione del pacchetto. Come è ben noto Ethernet utilizza il protocollo CSMA/CD, cioè il canale sul quale vengono trasmessi i frame viene condiviso da più stazioni (Multiple Access) che sono in grado di vedere quando il canale è libero o meno (rilevamento della portante o Carrier Sense) e di rilevare le collisioni (Collision Detection). La caratteristica principale del protocollo CSMA/CD è che una volta rilevata una collisione, si attende un intervallo casuale prima di ritrasmettere, questo intervallo viene calcolato ogni volta tramite l'algoritmo di backoff esponenziale. L'algoritmo
Tutte le trasmissioni vengono effettuate a intervalli di 2τ (Round Trip Delay). Come si può notare dall'algoritmo, cresce esponenzialmente con il numero di collisioni avvenute, questo garantisce che il tempo di ritrasmissione sia minimo se le stazioni a collidere sono poche e che invece sia molto alto in caso le collisioni siano molte cioè ci siano molte stazioni a trasmettere. La scelta dell'esponente massimo 16 (limite di back-off) è stata fatta studiando il tempo che un frame può impiegare a propagarsi in un cavo di lunghezza massima e decidendo un periodo ragionevole di attesa prima di comunicare un errore di rete. L'algoritmo in pseudo-codiceif tentativo=1 // primo tentativo di ritrasmissione del frame then max:=2 otherwise if tentativo < limite_di_backoff then max:=max x2 wait(2t x random(0,max-1)) |
Portal di Ensiklopedia Dunia