ESERCITAZIONE 5 Lezione di riferimento: 15 Metodi di accesso multiplo: CSMA e CSMA-CD CSMA (Carrier Sense Multiple Access) Il protocollo CSMA è stato elaborato esplicitamente per l'applicazione in ambito LAN. Rispetto a quanto accade nel contesto di applicazione di ALOHA (reti satellitari, reti radiomobili), il tempo necessario affinché i segnali che attraversano il canale trasmissivo raggiungano tutte le stazioni di una LAN è fortemente ridotto. DOMANDA 5.1 Quali sono i tempi di propagazione che si riscontrano nel caso di due stazioni collegate da un satellite in orbita geostazionaria (36000 km da terra, velocità di propagazione: 3.0E+08 m/s) e nel caso di due stazioni collegate da un cavo coassiale lungo 500 m (velocità di propagazione: 2.0E+08 m/s)? In un contesto dimensionalmente raccolto (LAN) ha senso che le stazioni condizionino la propria attività in funzione di quanto osservano accadere nel mezzo trasmissivo condiviso, essendo possibile stabilire una stretta correlazione fra stato corrente del canale e attività delle altre stazioni collegate. L'elemento determinante in questo senso è costituito dal rapporto tra tempi di propagazione dei segnali e tempi di trasmissione delle unità di informazione immesse in rete ( a = d / T, dove d è il tempo massimo di propagazione di un segnale, dipendente dall'estensione della rete, e T è il tempo - medio o costante - di trasmissione di un pacchetto). Il protocollo CSMA, tipicamente applicato in LAN con topologia a bus, introduce l'ascolto preventivo del canale (Carrier Sense) da parte della stazione in cui sia stata attivata una primitiva di richiesta di trasmissione dati (MA_DATA.request). La stazione decide se trasmettere subito il pacchetto o porsi in attesa, a seconda dell'esito dell'ascolto preventivo. Se il canale è libero, la stazione trasmette immediatamente il pacchetto. Se invece il canale è correntemente occupato, la stazione può sospendere la propria trasmissione fino al momento in cui il canale non sarà riconosciuto libero (CSMA 1-persistente), oppure schedulare un nuovo tentativo di trasmissione in un istante determinato su base casuale (CSMA non persistente). Esiste una terza versione di protocollo CSMA ( p-persistente), in cui si discriminano con probabilità p le azioni previste dai protocolli 1-persistente e non-persistente. Data la presenza di tempi di propagazione non nulli all'interno del canale trasmissivo, può accadere che una stazione veda il canale libero e rilasci il proprio pacchetto quando un'altra stazione abbia già cominciato a trasmettere. In questo caso si verifica inevitabilmente la collisione tra i segnali trasmessi dalle due stazioni, con annessa perdita di tutta l'informazione associata. 29
Estremo SX del bus A B Estremo DX del bus t A t B Interferenza t Fig 5.1: Esempio di collisione Il protocollo CSMA non prevede reazione immediata alla collisione da parte delle stazioni coinvolte. DOMANDA 5.2 Come è possibile riconoscere l'evento di collisione e richiedere una nuova trasmissione dei pacchetti alterati? Prestazioni del protocollo CSMA Le prestazioni del protocollo CSMA possono essere valutate, come già fatto per ALOHA, considerando l'andamento del throughput (S) in funzione del traffico offerto (G). 30
Fig. 5.2: Diagramma qualitativo CSMA non persistente Fig. 5.3: Diagramma qualitativo CSMA 1-persistente 31
DOMANDA 5.3 A quale ragione si può attribuire la condizione di instabilità riscontrata nel caso di CSMA 1- persistente con a = 0? Fig. 5.4: Sovrapposizione di 1-persistente e non persistente DOMANDA 5.4 Dati i normali livelli di traffico offerto ad una rete locale ( G inferiore a 1), quale versione del protocollo CSMA risulta più conveniente usare? CSMA-CD (Carrier Sense Multiple Access - Collision Detection) CSMA-CD introduce l'ascolto del canale da parte delle stazioni anche durante la trasmissione di propri pacchetti. In tal modo il riconoscimento delle collisioni avviene nel momento stesso in cui i segnali prodotti da trasmissioni antagoniste si scontrano nel mezzo trasmissivo. Le stazioni i cui pacchetti entrano in collisione interrompono la trasmissione schedulando un nuovo tentativo con criterio analogo a quello adottato quando il canale è occupato già prima di iniziare la trasmissione (CSMA-CD può essere combinato, al pari di CSMA puro, con le opzioni 1-persistente, non persistente e p-persistente). DOMANDA 5.5 Quali vantaggi immediati presenta CSMA-CD rispetto a CSMA semplice? 32
Per ciascuna stazione collegata in rete il riconoscimento di una collisione avviene quando segnali di diversa provenienza si sovrappongono in corrispondenza del punto di inserzione nel bus. A seconda della collocazione di una stazione lungo il bus varia l'istante in cui la collisione viene osservata, per effetto dei tempi di propagazione non nulli che si registrano all'interno del mezzo trasmissivo. L'interruzione immediata della trasmissione a seguito di collisione accertata può addirittura impedire ad alcune stazioni di accorgersi dello scontro avvenuto tra segnali di diversa provenienza. Questa eventualità riguarda esclusivamente le stazioni dislocate nei segmenti di bus che vanno dalle stazioni in collisione alle estremità del bus. Per evitare che queste stazioni assumano per buoni i frammenti di pacchetto apparentemente integri che ricevono, CSMA-CD impone alle stazioni in collisione di prolungare le rispettive trasmissioni oltre l'istante di riconoscimento della collisione. Dimensionando opportunamente il tempo di trasmissione forzata a seguito di collisione accertata ( jamming) si consente a tutte le stazioni inserite nel bus di scartare l'informazione deteriorata appena ricevuta. Fig. 5.5: Prestazioni di CSMA e CSMA-CD DOMANDA 5.6 Le curve di prestazione presentate per CSMA e CSMA-CD sono state ottenute con modelli che presuppongono l'omogeneità dell'offerta di traffico da parte delle stazioni collegate in rete. Che cosa succede se si modifica la distribuzione dell'offerta di traffico tra le stazioni, introducendo grosse differenze tra i rispettivi livelli di attività? Torna al Sommario 33