Perché la WLAN utilizza la funzione di prevenzione delle collisioni e non il rilevamento delle collisioni?


18

Sto cercando questa risposta da un po 'di tempo ormai. Perché c'è CSMA / CD nella LAN ma CSMA / CA nella WLAN?

La migliore spiegazione che ho potuto trovare è "a causa del rapporto estremo di trasmissione e ricezione della potenza, è molto poco pratico trasmettere dati sullo stesso canale. Quindi si evita la collisione". Impossibile ottenere il significato. Anche se si utilizzano due canali separati per la trasmissione e la ricezione, CSMA viene utilizzato per decidere quale nodo utilizzerà il canale, quindi non ha senso far cadere il CD al posto di CA. Quindi questa spiegazione in qualche modo non sembra adatta.

L'unico motivo che mi viene in mente è che se il numero di nodi è basso, quindi le probabilità di collisione sono basse, dovremmo usare il CD, se le probabilità di collisione sono alte, dovremmo usare CA. Ma non c'è una differenza nel numero di utenti tra LAN e WLAN.
Se qualcuno potesse spiegare.


csma / cd non può essere utilizzato in modo efficace in WLAn perché il tasso di errore è molto elevato nella rete WLAN e consentire collisioni porterà a una drastica riduzione della velocità effettiva. fare riferimento; AD Hoc Wireless Network, C.Siva Ram Murthy
user63044

Risposte:


19

In un ambiente Ethernet CSMA / CD cablato, è possibile rilevare una collisione poiché esistono coppie TX e RX separate (usando l'esempio di 10BaseT). Se una scheda di rete 10BaseT half-duplex invia un frame sulla coppia TX, ma rileva che il frame è danneggiato sulla coppia RX, la scheda NIC rileva una collisione.

Tuttavia, con un dispositivo wireless 802.11, non esistono "conduttori", ma solo antenne che non trasmettono e ricevono contemporaneamente. Quando un dispositivo 802.11 sta trasmettendo, in pratica non può ascoltare un altro segnale che trasmette contemporaneamente sulla stessa frequenza. La ragione di ciò è che la potenza del segnale RF diminuisce molto rapidamente durante la trasmissione.

Anche se abbiamo creato un dispositivo WiFi immaginario in grado di ricevere e trasmettere simultaneamente, sarà in grado di sentire una collisione a valle solo se l'altro dispositivo utilizza una potenza di uscita molto più elevata (o potenza grezza o attraverso guadagno passivo / attivo di qualche tipo) . Normalmente il proprio segnale TX sarà troppo forte e "annegherà" qualsiasi altro segnale ricevuto.

Quindi è stato richiesto un altro processo, risultante nella necessità di CSMA / CA.


1
10base-2 e 10base-5 (dai primi giorni di Ethernet) non hanno coppie TX e RX. Anche con 10 / 100base-T, l'hub che collega più di due endpoint dovrebbe aggiungere più di un TX per l'RX di tutte le porte. La semplice verità è che il wireless non è in grado di rilevare in modo affidabile le collisioni perché tutte le radio non possono sentirsi in modo affidabile.
Ricky Beam,

Il mio post originale non menzionava le coppie TX e RX a causa delle reti di autobus, l'ho semplicemente lasciato come conduttori TX e RX. Le reti di autobus esistono fondamentalmente consentendo a tutti i dispositivi di risiedere su un singolo circuito. La semplice verità è che il wireless non è in grado di rilevare le collisioni perché non può farlo.
YLearn

18

L'evitamento è usato per il semplice fatto che ogni radio ("client") non si trova necessariamente nel raggio dell'altra. Pertanto, senza l'AP che coordina chi può parlare, le radio distanti possono calpestarsi perché non sanno che l'altro sta trasmettendo.


4
Questa è la risposta corretta. Perché un client wireless sia in grado di comunicare, deve solo vedere l'AP, non necessariamente altri client. Quindi, se due clienti che sono fuori portata l'uno dall'altro iniziano a parlare, si bloccherebbero a vicenda segnali all'AP. Non lo saprebbero mai, dato che non possono sentirsi. Fondamentalmente, CSMA / CD funziona in un dominio di trasmissione. Nel wireless, il dominio di trasmissione non si sovrappone completamente ai dispositivi fisici. (Pensalo come un diagramma di Venn, ogni sovrapposizione interferirà con l'intero altro dominio.)
JelmerS

1
@JelmerS, scusa, questa è una risposta secondaria. Sebbene sia vero, non è sempre applicabile. Il vero motivo è che anche se un dispositivo wireless è progettato per RX mentre è TX, non sarà in grado di rilevare una collisione perché il TX sarebbe molto più forte di qualsiasi altro segnale che potrebbe sentire (basato sullo stesso EIRP) e "maschera" è l'abilità RX che altro segnale. In termini pratici, un dispositivo wireless non può contemporaneamente TX e RX.
YLearn

No, è solo un modo diverso di dirlo. Mentre una radio può (e fa) ricevere durante la trasmissione, funzionerebbe solo per quel mittente. (sottraendo TX da RX. qualcosa che ogni modem analogico ha fatto per oltre 20 anni.) Tutti gli altri sentiranno immondizia, o il trasmettitore più potente, più locale.
Ricky Beam,

1
@RickyBeam, confrontare il wireless con una tecnologia cablata è un errore. La maggior parte delle RF è half-duplex. È progettato come half-duplex perché è più economico / semplice per farlo ed essere full-duplex sulla stessa frequenza non è pratico. I telefoni cellulari funzionano utilizzando coppie di frequenza, una per TX e una per RX. La maggior parte degli altri RF è half-duplex; banda di cittadini, onde corte, FM, AM, molte radio di polizia / antincendio, molte applicazioni militari, ecc.
YLearn

Al momento della rilettura, dovrei anche notare che CSMA / CA è implementato indipendentemente da qualsiasi meccanismo utilizzato dall'AP per gestire "chi può parlare". Questo è il motivo per cui problemi come il problema del nodo nascosto possono anche richiedere l'implementazione di RTS / CTS oltre a CSMA / CA.
YLearn

4

EDIT (basato sulla correzione di Ricky):

Di seguito è riportato un estratto da http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

CSMA / CA deriva da CSMA / CD (Collision Detection), che è la base di Ethernet. La differenza principale consiste nell'evitare le collisioni: su un filo, il ricetrasmettitore ha la capacità di ascoltare durante la trasmissione e quindi di rilevare le collisioni (con un filo tutte le trasmissioni hanno approssimativamente la stessa forza). Ma, anche se un nodo radio potesse ascoltare sul canale durante la trasmissione, la forza delle sue stesse trasmissioni maschererebbe tutti gli altri segnali in onda. Quindi, il protocollo non può rilevare direttamente le collisioni come con Ethernet e cerca solo di evitarle.

Il link seguente è una buona lettura su CSMA / CA e spiega anche come funziona CSMA / CA:

http://www2.cs.uidaho.edu/~oman/SC&CI/CSMA-CA-collisions_Bonaventure.pdf


1
Negativo. CSMA / CD non richiede simultaneamente tx / rx. È stato progettato LUNGO prima che esistesse ethernet full-duplex.
Ricky Beam,

Grazie per la cattura @RickyBeam. Potresti anche spiegare come la stazione si allontanerebbe dalla trasmissione se non potesse rilevare la stazione nello stesso momento della trasmissione?
vish213

Sono spesso d'accordo con Ricky, ma CSMA / CD è in grado di monitorare RX e mentre nel processo di TX non ha nulla a che fare con il funzionamento full duplex. Si basa sull'avere conduttori TX e RX separati e viene rilevata una collisione quando un dispositivo invia un segnale su TX mentre riceve anche un segnale su RX. Mentre una radio "potrebbe" in teoria TX e RX allo stesso tempo, questo non è praticamente possibile ... motivo per cui in termini di base non è possibile per un dispositivo wireless TX e RX allo stesso tempo.
YLearn

@YLearn, non è quello che ha detto. E stai leggendo tutto come se i doppini (o ottici) fossero gli unici media. CSMA / CD è stato progettato in un'era di 10base-2 - cablaggio coassiale. Le collisioni sono state rilevate dal monitoraggio corrente nei primi hardware; successivamente (più avanzato) l'hardware sottrae TX dalla linea per ascoltare altri segnali, ma questo non è ancora "trasmettere e ricevere dati allo stesso tempo"
Ricky Beam,

@RickyBeam una rete bus è sostanzialmente una rete in cui tutti i dispositivi prendono parte a un singolo circuito. Si applicano gli stessi principi. Per quanto riguarda il tuo commento sulla corrente, sì nei primi hardware se c'era corrente, c'era un segnale. Non ho mai detto che potesse effettivamente usare il segnale su RX, piuttosto che quando un tale segnale veniva ricevuto mentre TX questo permetteva il rilevamento di una collisione.
YLearn

0

Su un bus cablato le perdite di segnale sono piuttosto piccole e quindi è abbastanza facile rilevare le collisioni. Ethernet coassiale IIRC lo fa osservando il livello DC sulla linea ma sarebbe ugualmente possibile farlo confrontando il segnale sul bus con il segnale che si sta tentando di trasmettere.

Questo non funziona per la radio. La perdita di segnale tra trasmettitore e ricevitore è enorme, almeno decine di DB. Di fronte al forte segnale in uscita non è pratico rilevare il segnale in entrata che opera nello stesso spettro di frequenza ed è notevolmente più debole. Questo in pratica esclude il rilevamento delle collisioni come approccio per i sistemi wireless.

PS Coppia intrecciata e fibra Ethenet utilizza canali dati separati per ogni direzione, quindi non ci sono collisioni sul filo. Una "collisione" viene rilevata semplicemente rilevando l'attività su entrambi i canali contemporaneamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.