CSMA: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ADEF95 (discussione | contributi)
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(46 versioni intermedie di 32 utenti non mostrate)
Riga 1:
{{F|telecomunicazioni|febbraio 2012|Questa voce manca completamente di fonti}}
Nelle [[telecomunicazioni]] '''CSMA''', ([[acronimo]] inglese di '''Carrier Sense Multiple Access''' traducibile come: protocollo ad [[accesso multiplo]] con rilevamento della portante) indica una tecnica di [[trasmissione (telecomunicazioni)|trasmissione]] dati che si basa sull'accesso multiplo tramite rilevamento della portante. È un protocollo [[Media Access Control|MAC]] (''Medium Access Control''), quindi posto al secondo livello del modello [[ISO/OSI]], utilizzato nelle [[LANTopologia di rete|reti a bus]] per condividere tra più [[host]] la capacità della rete evitando che due dispositivi trasmettano contemporaneamente generando una collisione.
 
== Descrizione ==
Il protocollo implementa la direttiva: ''"Ascolta prima di parlaretrasmettere. Se trovi il canale occupato aspetta e riprova più tardi secondo una modalità di ritrasmissione stabilita"''.
 
Quando un calcolatore trasmette dati sul cavo è presente un [[segnale elettrico]] chiamato portante (da non confondere con l'onda [[portante]] utilizzata nelle telecomunicazioni per la [[modulazione]]; infatti, stiamo parlando di un protocollo per trasmissioni in banda base quindi senza modulazione); tutti i calcolatori connessi al [[mezzo trasmissivo]] sono in grado di rilevare la presenza di un segnale elettrico che si propaga sul mezzo in questione ovvero di rilevare una trasmissione in atto.
 
Sulla rete ci sono nodi multipli che possono trasmettere e ricevere in maniera concorrente (''Multiple Access'').
Ogni dispositivo prima di avviare la trasmissione dei dati deve verificare se sul canale altri nodi stiano già trasmettendo, rilevando la portante (''Carrier Sense'').
Se il canale è libero inizia la trasmissione, altrimenti aspetta per un tempo arbitrario prima di riprovare: lea trasmettere. Le diverse metodologie di attesa forniscono tre varianti di questa tecnica di attesa per la trasmissione:
 
* '''CSMA persistente''' (1-persistente): Sisi controlla continuamente se il canale è libero, appena è libero si trasmette; in caso di collisione si attende un intervallo casuale prima di ritrasmettere.
* '''CSMA non-persistente''' (0-persistente): Èè detto non persistente perché si controlla una prima volta se il canale è libero, se non lo è si attende un intervallo casuale (strettamente maggiore del tempo di trasmissione di una trama) prima di ricontrollare il canale.
* '''CSMA ''p''-persistente''': viene utilizzato nei canali divisi in intervalli temporali. Una volta controllato il canale:
# Sese è libero si trasmette subito con probabilità ''p'', o sioppure rimanda finola trasmissione all'intervallo successivo con probabilità q=1-''p''., se anche questo risultasse libero trasmette altrimenti rimanda, se invece è occupato si comporta come una collisione e attende un intervallo di tempo casuale per poi ritrasmettere;
# se è occupato fin dall'inizio attende fino all'intervallo successivo e si ripete l'algoritmo sopracitato;
# Ad ogni intervallo si itera l'operazione descritta sopra finché il canale è libero o tutto il frame è stato trasmesso.
# Sese adviene unrivelata certouna intervallocollisione, ilprima canaledi èritentare occupatola trasmissione, si attende un intervallo di tempo casuale e si ricomincia.
 
== Vantaggi ==
Il CSMA rappresenta il protocollo più facilmente implementabile che consente l'[[accesso multiplo]] ad un canale di comunicazione condiviso tra più utenti ed allo stesso tempo anche molto efficiente/flessibile in funzione del numero di terminali cioè in termini di [[scalabilità]] della rete. Un protocollo a suddivisione di tempo ([[TDMA]]) ad esempio avrebbe lo svantaggio rispetto al CSMA di necessitare di un meccanismo di sincronizzazione nello slot temporale di competenza sia in trasmissione che in ricezione da parte delle stazioni ricetrasmittenti cioè dunque di un apparato ricetrasmittente più complesso e costoso da implementare. Un protocollo a suddivisione di frequenze ([[FDMA]]) avrebbe invece lo svantaggio di richiedere un'allocazione statica di [[Banda (informatica)|banda]] per ciascuna stazione trasmittente, che di per sé si esaurirebbe molto rapidamente al crescere del numero dei terminali di rete, e anch'esso la necessità di un apparato molto più complesso in ricezione per poter ricevere su tutte le bande di trasmissione. Una situazione analoga di complessità dell'apparato ricetrasmittente e grossi problemi di scalabilità si avrebbero anche con il [[CDMA]]. Nel CSMA invece tutto ciò non è necessario: gli utenti possono trasmettere sull'intera banda del canale senza alcun tipo di sincronizzazione, ma col solo vincolo delle regole di accesso dettate dal protocollo stesso.
 
== Risoluzione dei conflitti ==
Line 21 ⟶ 25:
Da solo il protocollo CSMA non è sufficiente per impedire che si verifichino conflitti. Può capitare infatti che il ritardo di propagazione del segnale sul canale faccia sì che un dispositivo non riesca ad accorgersi che un altro terminale ha già avviato la trasmissione. In questo caso entrambi trasmettono dati, che inevitabilmente interferiranno quando raggiungeranno uno stesso punto del cavo. Tale interferenza è chiamata '''collisione'''. Essa non causa alcun danno ai dispositivi, ma rende impossibile la corretta ricezione dei dati.
 
Nel '''CSMA''' puro il trasmettitore non è in grado quindi di rivelarerilevare le collisioni durante una trasmissione, pertanto non è in grado di sapere se la trama inviata è stata ricevuta correttamente. Se le trame sono perse con una frequenza troppo elevata si può implementare un meccanismo di [[riscontro]] da parte del ricevitore. Se il riscontro non arriva entro un certo tempo (chiamato timeout), il trasmettitore tenta una nuova trasmissione della trama collisa.
 
In alcune reti si può usare la tecnica ''[[CSMA/CD|Collision Detection (CD)]]'' che permette al trasmettitore di rivelarerilevare rapidamente eventuali collisioni durante la trasmissione migliorando la tecnica di CSMA classico. In questo modo il trasmettitore sa che deve interrompere la trasmissione delladel tramaframe collisacolliso e che deve ritrasmetterlaritrasmetterlo senza aspettare il timeout. Perché si possa usare il protocollo CSMA/CD è necessario che:
# il trasmettitore possa ascoltare il canale su cui sta trasmettendo;
# il doppio del tempo di propagazione del segnale tra le due stazioni (''RTT Round Trip time'') più lontane sia inferiore al tempo di trasmissione di unaun tramaframe.
Queste condizioni sono rispettate nelle reti locali (LAN) via cavo.
 
Line 34 ⟶ 38:
* [[Ethernet]] IEEE 802.3x usa un '''Carrier Sense Multiple Access with Collision Detection''' ([[CSMA/CD]])
* [[WI-FI]] IEEE 802.11x usa '''Carrier Sense Multiple Access with Collision Avoidance''' ([[CSMA/CA]])
* [[CANController Area Network]] usa '''Carrier Sense Multiple Access with Bitwise Arbitration''' ([[CSMA/BA]])
 
== Voci correlate ==
Line 40 ⟶ 44:
* [[CSMA/CD]]
* [[CSMA/CA]]
* [[CSMA/BA]] o [[CSMA/CR]] o [[CSMA/AMP]]
* [[ALOHAnet]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Portale|Telematica}}
 
[[Categoria:Protocolli livello collegamento]]
 
[[cs:CSMA]]
[[de:Carrier Sense Multiple Access]]
[[en:Carrier sense multiple access]]
[[es:Carrier sense multiple access]]
[[eu:CSMA]]
[[fr:CSMA]]
[[he:Carrier sense multiple access]]
[[pl:Carrier Sense Multiple Access]]
[[pt:CSMA]]
[[ru:Carrier Sense Multiple Access]]
[[simple:Carrier sense multiple access]]
[[sr:Вишеструки приступ са ослушкивањем носиоца]]
[[sv:Carrier Sense Multiple Access]]
[[zh:载波侦听多路访问]]