Un collegamento broadcast consiste in un unico canale a cui sono collegate diverse stazioni; tutte le stazioni possono accedere al canale che viene definito canale multiaccesso o ad accesso casuale.
Il problema principale del livello di data link in questo caso è quello di stabilire chi deve usare il canale quando c’è un conflitto per utilizzarlo.
La tecnologia broadcast è usata dalla maggior parte delle reti locali; il problema di controllare l’accesso al mezzo viene gestito da un apposito sottolivello del livello di data link chiamato livello MAC (Medium Access Control).
Anche alcune reti geografiche possono usare tecnologie broadcast, per esempio le reti satellitari.
Ci sono diversi algoritmi usati per l’allocazione di un canale multiaccesso; alcuni sono di tipo statistico (metodi a contesa come Aloha e CSMA), altri di tipo deterministico (come il metodo a prenotazione e il token ring). Nei metodi a contesa ogni stazione può tentare di trasmettere quando vuole, ma può riuscirvi o meno in base al fatto che altre stazioni tentino contemporaneamente a loro volta e che quindi si verifichino delle collisioni; i metodi deterministici risolvono i conflitti per l’uso del canale senza collisioni, per esempio fissando a priori l’ordine in cui le stazioni possono trasmettere.
Le prestazioni dei due metodi dipendono dal carico di utilizzo della rete; i metodi a contesa sono preferibili nel caso di basso carico perché comportano un basso ritardo, ma se il carico aumenta le prestazioni peggiorano; per i protocolli deterministici è vero il contrario: sono efficienti se il carico è alto, ma a basso carico hanno un ritardo elevato.
Aloha
Aloha puro
È un protocollo nato negli anni 70 per collegare via radio le stazioni collocate nelle isole Hawaii.
Le stazioni possono cercare di trasmettere ogni volta che hanno qualcosa da spedire; trasmettono ad una stazione centrale che poi ritrasmette al destinatario indicato.
Se nel frattempo ci sono altre comunicazioni in corso, avviene una collisione (la collisione avviene anche se si sovrappone un unico bit). Il mittente può determinare se si è verificata una collisione ascoltando la trasmissione dalla stazione centrale.
In caso di collisione la stazione aspetta una quantità casuale di tempo e poi riprova a spedire.
Un protocollo di questo tipo dà un efficienza del canale del 18%.
Aloha a slot
L’efficienza raddoppia arrivando al 37% se il tempo viene diviso in intervalli chiamati slot e ogni stazione può provare a spedire un frame solo all’inizio di ogni slot. Le stazioni però devono essere sincronizzate in modo che gli slot inizino contemporaneamente; un modo è quello di avere una stazione speciale che emette un segnale all’inizio di ogni intervallo.
CSMA
Nelle reti locali le stazioni possono controllare la portante (cioè la trasmissione) per rilevare cosa stanno facendo le altre stazioni e agire di conseguenza; i protocolli in cui le stazioni controllano la portante sono detti CSMA (Carrier Sense Multiple Access), cioè protocolli multiaccesso con rilevamento della portante. I prortocolli CSMA possono essere di vario tipo:
- CSMA 1-persistente: quando una stazione deve inviare un frame, ascolta prima il canale; se è libero trasmette il frame, se è occupato aspetta finché non si libera; se avviene una collisione aspetta un tempo casuale e poi riprova. Il protocollo si dice 1-persistente perché la stazione trasmette con probabilità 1 quando trova il canale libero. Due stazioni che ascoltano il canale poi provano insieme.
- CSMA non persistente: se il canale è occupato la stazione non continua ad ascoltare il canale finché non si libera, ma aspetta un tempo casuale e poi riascolta il canale.
- CSMA p-persistente (p<1): il tempo viene considerato diviso in intervalli (slot); la stazione ascolta il canale all’inizio di ogni slot e se è libero trasmette con probabilità p oppure aspetta il prossimo slot con una probabilità q (dove q=1-p); se anche in questo slot il canale è libero, trasmette con una probabilità p o aspetta con una probabilità q. Se la stazione trova il canale occupato si comporta come se si fosse verificata una collisione: aspetta una quantità casuale di tempo e poi ricomincia.
- CSMA/CD (CSMA with Collision Detection), usato nelle reti 802.3: la stazione ascolta il canale non solo prima di trasmettere ma anche mentre sta trasmettendo; in questo modo si accorge subito se si è verificata una collisione e può bloccare la trasmissione in modo da risparmiare larghezza di banda e tempo.
Prenotazione della trasmissione
Nel metodo a prenotazione la trasmissione vera e propria dei frame è preceduta da un periodo chiamato di contesa o di prenotazione.
Se ci sono n stazioni il periodo di prenotazione consiste esattamente di n slot.
Se la prima stazione deve trasmettere un frame, deve prenotarsi trasmettendo un 1 durante il primo slot; ogni stazione può prenotarsi solo durante lo slot corrispondente al proprio numero (la stazione j può prenotare la trasmissione di un frame solo emettendo un 1 durante lo slot j).
Terminato il periodo di prenotazione ogni stazione sa esattamente quali stazioni vogliono trasmettere e possono iniziare a trasmettere in ordine di numero (il numero indica l’ordine, cioè la priorità delle stazioni).
Al termine di tutte le trasmissioni ha inizio un altro periodo di prenotazione.
Token ring
Il protocollo token ring si usa in reti ad anello in cui le stazioni sono collegate una all’altra in modo punto a punto; perché una stazione possa comunicare con un’altra però il frame deve attraversare tutto l’anello e quindi due stazioni non possono trasmettere contemporaneamente.
Il controllo dell’accesso all’anello avviene con il metodo di accesso a gettone (token passing).
Sulla linea di trasmissione viaggia continuamente una sequenza prestabilita di bit (gettone o token); se una stazione vuole trasmettere deve impadronirsi del gettone (modificando la sequenza di bit); solo la stazione che ha il gettone può trasmettere; dopo aver terminato la trasmissione deve reinserire il gettone sulla linea.