Warum verwendet WLAN die Kollisionsvermeidung und nicht die Kollisionserkennung?


18

Ich suche diese Antwort schon seit einiger Zeit. Warum gibt es CSMA / CD im LAN und CSMA / CA im WLAN?

Die beste Erklärung, die ich finden konnte, ist "aufgrund des extremen Verhältnisses bei der Sende- und Empfangsleistung ist es sehr unpraktisch, Daten auf demselben Kanal zu senden. Daher wird Kollisionsvermeidung verwendet". Konnte die Bedeutung nicht verstehen. Selbst wenn Sie zwei getrennte Kanäle zum Senden und Empfangen verwenden, wird CSMA verwendet, um zu entscheiden, welcher Knoten den Kanal verwendet, sodass es keinen Sinn macht, CD anstelle von CA abzulegen. Diese Erklärung scheint also irgendwie nicht passend zu sein.

Der einzige Grund, an den ich denken könnte, ist, dass wir bei einer geringen Anzahl von Knoten und daher geringen Kollisionswahrscheinlichkeiten eine CD verwenden sollten. Bei hohen Kollisionswahrscheinlichkeiten sollten wir eine CA verwenden. Die Anzahl der Benutzer unterscheidet sich jedoch nicht zwischen LAN und WLAN.
Könnte mir bitte jemand erklären.


csma / cd kann in WLAn nicht effektiv verwendet werden, da die Fehlerrate in WLAN sehr hoch ist und das Zulassen von Kollisionen zu einer drastischen Reduzierung des Durchsatzes führt. siehe: AD Hoc Wireless-Netzwerk, C.Siva Ram Murthy
user63044

Antworten:


19

In einer verkabelten CSMA / CD-Ethernet-Umgebung kann eine Kollision erkannt werden, da es separate TX- und RX-Paare gibt (am Beispiel von 10BaseT). Wenn eine 10BaseT-Halbduplex-Netzwerkkarte einen Frame auf dem TX-Paar sendet, jedoch feststellt, dass dieser Frame auf dem RX-Paar beschädigt ist, hat die Netzwerkkarte eine Kollision festgestellt.

Bei einem drahtlosen 802.11-Gerät gibt es jedoch keine "Leiter", sondern nur Antennen, die nicht gleichzeitig senden und empfangen. Wenn ein 802.11-Gerät sendet, kann es praktisch nicht auf ein anderes Signal warten, das zur selben Zeit auf derselben Frequenz sendet. Der Grund dafür ist, dass die HF-Signalstärke beim Senden sehr schnell abnimmt.

Selbst wenn wir ein imaginäres WiFi-Gerät bauen, das gleichzeitig empfangen und senden kann, kann es eine Downstream-Kollision nur dann hören, wenn das andere Gerät eine viel höhere Ausgangsleistung verwendet (entweder Rohleistung oder durch eine passive / aktive Verstärkung). . Normalerweise ist das eigene Sendesignal zu stark und "übertönt" jedes andere empfangene Signal.

Daher war ein anderer Prozess erforderlich, der CSMA / CA erforderte.


1
10base-2 und 10base-5 (aus den Anfängen des Ethernets) haben keine TX- und RX-Paare. Selbst bei 10 / 100base-T müsste der Hub, der mehr als zwei Endpunkte verbindet, mehr als einen TX für den Empfang aller Ports hinzufügen. Die einfache Wahrheit ist, dass drahtlose Netzwerke Kollisionen nicht zuverlässig erkennen können , da sich alle Funkgeräte nicht zuverlässig gegenseitig hören können.
Ricky Beam

In meinem ursprünglichen Beitrag wurden TX- und RX-Paare aufgrund von Busnetzwerken nicht erwähnt. Ich habe sie einfach als TX- und RX-Leiter belassen. Bus-Netzwerke bestehen im Grunde genommen dadurch, dass alle Geräte in einem einzigen Stromkreis untergebracht werden können. Die einfache Wahrheit ist, dass Wireless keine Kollisionen erkennen kann, weil dies nicht möglich ist.
YLearn

18

Vermeidung wird für die sehr einfache Tatsache verwendet, dass jedes Radio ("Klient") nicht notwendigerweise in Reichweite voneinander ist. Ohne dass der AP koordiniert, wer sprechen kann, können entfernte Funkgeräte aufeinander treten, weil sie nicht wissen, dass der andere sendet.


4
Das ist die richtige Antwort. Damit ein drahtloser Client kommunizieren kann, muss er nur den AP sehen, nicht unbedingt andere Clients. Wenn also zwei Clients, die nicht in Reichweite sind, miteinander sprechen, stören sie sich gegenseitig die Signale am AP. Sie würden es jedoch nie erfahren, da sie sich nicht hören können. Grundsätzlich arbeitet CSMA / CD in einem Broadcast-Bereich. Im Mobilfunkbereich überlappt sich die Broadcast-Domäne nicht vollständig mit den physischen Geräten. (
Betrachten

1
@JelmerS, sorry, das ist eine sekundäre Antwort. Es ist zwar wahr, aber nicht immer anwendbar. Der eigentliche Grund ist, dass ein drahtloses Gerät, das für den Empfang während des Sendens ausgelegt ist, keine Kollision erkennen kann, da der Sendevorgang bei Weitem stärker ist als jedes andere Signal, das es hören könnte (basierend auf demselben EIRP) und "maskieren" ist die Fähigkeit, das andere Signal zu empfangen. In der Praxis kann ein drahtloses Gerät nicht gleichzeitig senden und empfangen.
YLearn

Nein, das ist nur eine andere Art, es auszudrücken. Während ein Radio während des Sendens empfangen kann (und tut), würde es nur für diesen Sender funktionieren. (Indem TX von RX subtrahiert wird. Etwas, das jedes analoge Modem seit über 20 Jahren getan hat.) Jeder andere hört Müll oder den leistungsstärkeren, lokaleren Sender.
Ricky Beam

1
@ RickyBeam: Der Vergleich von drahtloser und drahtgebundener Technologie ist ein Irrtum. Die meisten HF-Signale sind Halbduplex. Es ist als Halbduplex konzipiert, da dies billiger / einfacher ist und es nicht praktikabel ist, Vollduplex auf derselben Frequenz zu verwenden. Handys arbeiten mit Frequenzpaaren, eines für TX und eines für RX. Das meiste andere RF ist Halbduplex; Citizen Band, Kurzwelle, FM, AM, viele Polizei / Feuer Radios, viele militärische Anwendungen, etc.
YLearn

Beim erneuten Lesen sollte ich auch beachten, dass CSMA / CA unabhängig von allen Mechanismen implementiert wird, die der AP verwendet, um "Wer kann sprechen" zu verwalten. Aus diesem Grund können Probleme wie das Hidden Node-Problem neben CSMA / CA auch die Implementierung von RTS / CTS erforderlich machen.
YLearn

4

EDIT (Basierend auf Rickys Korrektur):

Unten finden Sie einen Auszug aus http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

CSMA / CA wird von CSMA / CD (Collision Detection) abgeleitet, der Basis von Ethernet. Der Hauptunterschied ist die Kollisionsvermeidung: Auf einem Kabel kann der Transceiver während des Sendens hören und so Kollisionen erkennen (mit einem Kabel haben alle Übertragungen ungefähr die gleiche Stärke). Aber selbst wenn ein Funkknoten während des Sendens auf dem Kanal lauschen könnte, würde die Stärke seiner eigenen Sendungen alle anderen Signale in der Luft maskieren. Das Protokoll kann also Kollisionen wie bei Ethernet nicht direkt erkennen und versucht sie nur zu vermeiden.

Der Link unten enthält Informationen zu CSMA / CA und erklärt auch, wie CSMA / CA funktioniert:

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


1
Negativ. CSMA / CD erfordert kein gleichzeitiges Senden / Empfangen. Es wurde LANG vor der Existenz von Vollduplex-Ethernet entwickelt.
Ricky Beam

Danke für den Fang @RickyBeam. Könnten Sie bitte auch erklären, wie sich die Station von der Übertragung zurückziehen würde, wenn sie die Station nicht gleichzeitig mit der Übertragung erfassen kann?
Vish213

Ich bin oft mit Ricky einverstanden, aber CSMA / CD in der Lage zu sein, sowohl RX zu überwachen als auch während des Sendens, hat nichts mit Vollduplex-Betrieb zu tun. Es basiert auf getrennten TX- und RX-Leitern und eine Kollision wird erkannt, wenn ein Gerät ein Signal auf TX sendet und gleichzeitig ein Signal auf RX empfängt. Während ein Funkgerät theoretisch TX und RX gleichzeitig "könnte", ist dies praktisch nicht möglich ... weshalb es im Grunde nicht möglich ist, dass ein drahtloses Gerät gleichzeitig TX und RX sendet.
YLearn

@YLearn, das hat er nicht gesagt. Und Sie lesen alles so, als ob Twisted Pair (oder optisch) das einzige Medium wäre. CSMA / CD wurde im Zeitalter der 10base-2-Koaxialverkabelung entwickelt. Kollisionen wurden durch aktuelle Überwachung in früher Hardware erkannt; Später (fortgeschrittener) subtrahiert die Hardware TX von der Leitung, um auf andere Signale zu warten, aber das ist immer noch nicht "Daten gleichzeitig senden und empfangen"
Ricky Beam

@ RickyBeam Ein Bus-Netzwerk ist im Grunde ein Netzwerk, in dem alle Geräte an einem einzigen Stromkreis teilnehmen. Gleiche Grundsätze gelten. Was Ihren Kommentar zu current betrifft, gab es in frühen Hardware-Versionen ein Signal, wenn Strom vorhanden war. Ich habe nie gesagt, dass es das Signal auf RX tatsächlich verwenden könnte, sondern dass, wenn ein solches Signal während des Sendens empfangen wurde, dies die Erkennung einer Kollision ermöglicht.
YLearn

0

Auf einem kabelgebundenen Bus sind die Signalverluste relativ gering und es ist ziemlich einfach, Kollisionen zu erkennen. Das IIRC-Koaxial-Ethernet überprüft den Gleichstrompegel auf der Leitung, es ist jedoch auch möglich, das Signal auf dem Bus mit dem Signal zu vergleichen, das Sie übertragen möchten.

Das funktioniert im Radio einfach nicht. Der Signalverlust zwischen Sender und Empfänger ist massiv, mindestens Dutzende von DB. Angesichts des starken abgehenden Signals ist es unpraktisch, das ankommende Signal zu erfassen, das im gleichen Frequenzspektrum arbeitet und massiv schwächer ist. Dies schließt Kollisionserkennung als Ansatz für drahtlose Systeme grundsätzlich aus.

PS Twisted Pair und Fiber Ethenet verwenden separate Datenkanäle für jede Richtung, sodass keine Kollisionen auf der Leitung auftreten. Eine "Kollision" wird einfach durch gleichzeitiges Erkennen der Aktivität auf beiden Kanälen erkannt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.