Dlaczego sieć WLAN wykorzystuje unikanie kolizji, a nie wykrywanie kolizji?


18

Od dłuższego czasu szukam tej odpowiedzi. Dlaczego w sieci LAN jest CSMA / CD, a w sieci WLAN CSMA / CA?

Najlepsze wytłumaczenie, jakie mogłem znaleźć, to „ze względu na ekstremalny stosunek mocy nadawania i odbioru, przesyłanie danych tym samym kanałem jest bardzo niepraktyczne. Dlatego stosuje się unikanie kolizji”. Nie można zrozumieć znaczenia. Nawet jeśli używasz dwóch oddzielnych kanałów do wysyłania i odbierania, CSMA służy do decydowania, który węzeł użyje kanału, więc nie ma sensu upuszczać CD zamiast CA. To wyjaśnienie jakoś nie wydaje się odpowiednie.

Jedynym powodem, o którym mogłem pomyśleć, jest to, że jeśli liczba węzłów jest niska, stąd szanse na kolizję są niskie, powinniśmy użyć CD, jeśli szanse na kolizję są wysokie, powinniśmy użyć CA. Ale nie ma różnicy liczby użytkowników między LAN a WLAN.
Jeśli ktoś mógłby wyjaśnić.


csma / cd nie może być skutecznie używany w WLAn, ponieważ poziom błędów jest bardzo wysoki w sieci WLAN, a umożliwienie kolizji doprowadzi do drastycznego zmniejszenia przepustowości. odnoszą się; AD Hoc Wireless Network, C.Siva Ram Murthy
user63044

Odpowiedzi:


19

W przewodowym środowisku CSMA / CD Ethernet możliwe jest wykrycie kolizji, ponieważ istnieją osobne pary TX i RX (na przykładzie 10BaseT). Jeżeli półdupleksowa karta sieciowa 10BaseT wysyła ramkę na parze TX, ale widzi, że ramka jest uszkodzona na parze RX, karta sieciowa wykryła kolizję.

Jednak w przypadku urządzenia bezprzewodowego 802.11 nie ma „przewodników”, a jedynie anteny, które nie nadają i nie jednocześnie nadają. Gdy urządzenie 802.11 transmituje, w praktyce nie może nasłuchiwać innego sygnału transmitującego w tym samym czasie na tej samej częstotliwości. Powodem tego jest to, że siła sygnału RF spada bardzo szybko podczas nadawania.

Nawet jeśli zbudujemy wyimaginowane urządzenie WiFi, które może jednocześnie odbierać i transmitować, będzie w stanie usłyszeć kolizję w dalszej części kanału tylko wtedy, gdy drugie urządzenie zużywa znacznie wyższą moc wyjściową (albo surową moc, albo poprzez pewien rodzaj pasywnego / aktywnego wzmocnienia) . Zwykle własny sygnał TX będzie zbyt silny i „zagłuszy” każdy inny odbierany sygnał.

Tak więc wymagany był inny proces, co spowodowało potrzebę CSMA / CA.


1
10base-2 i 10base-5 (od pierwszych dni ethernet) nie mają par TX i RX. Nawet w przypadku 10 / 100base-T hub łączący więcej niż dwa punkty końcowe musiałby dodać więcej niż jeden TX dla RX wszystkich portów. Prosta prawda jest taka, że ​​sieć bezprzewodowa nie może niezawodnie wykrywać kolizji, ponieważ wszystkie radia nie słyszą się wzajemnie.
Ricky Beam

Mój oryginalny post nie wspominał o parach TX i RX z powodu sieci magistrali, po prostu zostawiłem go jako przewodniki TX i RX. Istnieją sieci magistrali, w zasadzie umożliwiając wszystkim urządzeniom przebywanie w jednym obwodzie. Prosta prawda jest taka, że ​​sieć bezprzewodowa nie może wykryć kolizji, ponieważ nie może tego zrobić.
YLearn

18

Unikanie stosuje się w przypadku bardzo prostego faktu, że każde radio („klient”) niekoniecznie znajduje się w swoim zasięgu. Zatem bez koordynatora AP, który może mówić, odległe radiotelefony mogą na siebie nadepnąć, ponieważ nie mogą wiedzieć, że drugi transmituje.


4
To jest poprawna odpowiedź. Aby klient bezprzewodowy mógł się komunikować, musi tylko zobaczyć AP, niekoniecznie żadnych innych klientów. Tak więc, jeśli dwóch klientów, którzy są od siebie niedostępni, zaczną mówić, zakłócają się nawzajem w punkcie dostępowym. Nigdy by się o tym nie dowiedzieli, ponieważ się nie słyszą. Zasadniczo CSMA / CD działa w domenie rozgłoszeniowej. W sieci bezprzewodowej domena rozgłoszeniowa nie pokrywa się w pełni z urządzeniami fizycznymi. (Pomyśl o tym jak o schemacie Venna, każde nakładanie się będzie kolidować z całą inną domeną.)
JelmerS

1
@JelmerS, przepraszam, to jest odpowiedź wtórna. Chociaż prawda, nie zawsze ma zastosowanie. Prawdziwym powodem jest to, że nawet jeśli urządzenie bezprzewodowe jest zaprojektowane do RX, gdy jest TX, nie będzie w stanie wykryć kolizji, ponieważ jego TX byłby DALEJ silniejszy niż jakikolwiek inny sygnał, który mógłby usłyszeć (w oparciu o ten sam EIRP) i „maskowanie” to zdolność RX tego innego sygnału. W praktyce urządzenie bezprzewodowe nie może jednocześnie wysyłać ani odbierać, ani odbierać.
YLearn

Nie, to tylko inny sposób na powiedzenie tego. Chociaż radio może (i odbiera) odbiór podczas nadawania, działałoby tylko dla tego nadawcy. (odejmując TX od RX. coś, co robił każdy modem analogowy od ponad 20 lat). Wszyscy inni usłyszą śmieci lub mocniejszy, bardziej lokalny nadajnik.
Ricky Beam

1
@RickyBeam, porównywanie technologii bezprzewodowej z technologią przewodową jest błędem. Większość RF to półdupleks. Został zaprojektowany jako półdupleks, ponieważ jest to tańsze / prostsze, a bycie pełnodupleksowym na tej samej częstotliwości nie jest praktyczne. Telefony komórkowe działają przy użyciu par częstotliwości, jednej dla TX i jednej dla RX. Większość innych fal radiowych ma półdupleks; zespół obywatelski, krótkofalówka, FM, AM, wiele radiostacji policyjnych / ogniowych, wiele zastosowań wojskowych itp.
YLearn

Po ponownym przeczytaniu powinienem również zauważyć, że CSMA / CA jest implementowany niezależnie od jakiegokolwiek mechanizmu, za pomocą którego AP zarządza „kto może mówić”. Dlatego problemy, takie jak problem ukrytego węzła, mogą również wymagać implementacji RTS / CTS oprócz CSMA / CA.
YLearn

4

EDYCJA (na podstawie korekty Ricky):

Poniżej znajduje się fragment strony http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

CSMA / CA pochodzi z CSMA / CD (Collision Detection), który jest podstawą Ethernetu. Główną różnicą jest unikanie kolizji: na przewodzie transceiver ma zdolność nasłuchiwania podczas transmisji, a tym samym wykrywania kolizji (za pomocą drutu wszystkie transmisje mają w przybliżeniu taką samą siłę). Ale nawet gdyby węzeł radiowy mógł nasłuchiwać na kanale podczas transmisji, siła jego własnych transmisji maskowałaby wszystkie inne sygnały w powietrzu. Dlatego protokół nie może bezpośrednio wykrywać kolizji, takich jak Ethernet, i stara się ich uniknąć.

Poniższy link można przeczytać w CSMA / CA, a także wyjaśnia, jak działa CSMA / CA:

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


1
Negatywny. CSMA / CD nie wymaga jednoczesnego nadawania / odbierania. Został zaprojektowany DŁUGO, zanim istniał Ethernet z pełnym dupleksem.
Ricky Beam

Dziękuję za złapanie @RickyBeam. Czy mógłbyś również wyjaśnić, w jaki sposób stacja wycofałaby się z transmisji, jeśli nie może wykryć stacji w tym samym czasie transmisji?
vish213,

Często zgadzam się z Ricky, ale CSMA / CD może zarówno monitorować RX, jak i podczas procesu TX nie ma nic wspólnego z operacją pełnego dupleksu. Opiera się na oddzielnych przewodach TX i RX, a kolizja jest wykrywana, gdy urządzenie wysyła sygnał na TX, a jednocześnie odbiera sygnał na RX. Chociaż radio „mogłoby” teoretycznie jednocześnie nadawać i odbierać, nie jest to praktycznie możliwe… dlatego w podstawowych słowach nie jest możliwe, aby urządzenie bezprzewodowe jednocześnie nadawało i odbierało.
YLearn

@YLearn, to nie tak powiedział. I czytasz wszystko tak, jakby jedyną nośnikiem była skrętka (lub optyczna). CSMA / CD został zaprojektowany w erze 10base-2 - okablowania koncentrycznego. Kolizje zostały wykryte przez bieżące monitorowanie na wczesnym sprzęcie; później (bardziej zaawansowany) sprzęt odejmuje TX od linii, aby nasłuchiwać innych sygnałów, ale to wciąż nie „nadawanie i odbieranie danych w tym samym czasie”
Ricky Beam

@RickyBeam sieć autobusowa to w zasadzie sieć, w której wszystkie urządzenia biorą udział w jednym obwodzie. Obowiązują te same zasady. Co do twojego komentarza na temat prądu, tak na początku sprzętu, jeśli był prąd, był sygnał. Nigdy nie mówiłem, że faktycznie może używać sygnału w RX, a raczej, że gdy taki sygnał został odebrany podczas TX, to pozwoliło na wykrycie kolizji.
YLearn

0

W przypadku szyny przewodowej straty sygnału są dość małe, więc wykrycie kolizji jest dość łatwe. Koncentryczny Ethernet IIRC robi to, patrząc na poziom prądu stałego na linii, ale byłoby to równie możliwe, porównując sygnał w magistrali z sygnałem, który próbujesz przesłać.

To po prostu nie działa dla radia. Strata sygnału między nadajnikiem a odbiornikiem jest ogromna, co najmniej dziesiątki DB. W obliczu silnego sygnału wyjściowego niepraktyczne jest wykrycie przychodzącego sygnału, który działa w tym samym spektrum częstotliwości i jest znacznie słabszy. Zasadniczo wyklucza to wykrywanie kolizji jako podejście do systemów bezprzewodowych.

PS Skrętka i włókno Ethenet wykorzystuje osobne kanały danych dla każdego kierunku, więc nie ma kolizji na przewodzie. „Kolizję” wykrywa się po prostu wykrywając aktywność na obu kanałach jednocześnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.