Почему WLAN использует предотвращение столкновений, а не обнаружение столкновений?

18

Я ищу этот ответ уже довольно давно. Почему в локальной сети есть CSMA / CD, а в беспроводной локальной сети - CSMA / CA?

Лучшее объяснение, которое я смог найти, это «из-за экстремального соотношения мощности передачи и приема очень непрактично передавать данные по одному и тому же каналу. Следовательно, используется предотвращение столкновений». Не могу понять смысл. Даже если вы используете два отдельных канала для передачи и приема, CSMA используется для определения, какой узел будет использовать канал, поэтому нет смысла сбрасывать CD вместо CA. Так что это объяснение как-то не подходит.

Единственная причина, о которой я мог подумать, заключается в том, что если число узлов мало, следовательно, вероятность столкновения мала, мы должны использовать CD, если вероятность столкновения высока, мы должны использовать CA. Но нет разницы в количестве пользователей между LAN и WLAN.
Если кто-то может объяснить, пожалуйста.

vish213
источник
csma / cd не может эффективно использоваться в WLAn, потому что частота ошибок в WLAN очень высока, и разрешение коллизий приведет к значительному снижению пропускной способности. см. AD Hoc Wireless Network, C.Siva Ram Murthy
user63044

Ответы:

19

В проводной среде CSMA / CD Ethernet можно обнаружить коллизию, поскольку существуют отдельные пары TX и RX (на примере 10BaseT). Если полудуплексный NIC 10BaseT отправляет кадр в паре TX, но видит, что кадр в паре RX поврежден, NIC обнаружил конфликт.

Однако в беспроводном устройстве 802.11 нет никаких «проводников», а только антенны, которые не передают и не принимают одновременно. Когда устройство 802.11 передает, оно практически не может прослушивать другой сигнал, передаваемый в то же время на той же частоте. Причина этого в том, что уровень радиочастотного сигнала очень быстро падает при передаче.

Даже если мы построим воображаемое устройство Wi-Fi, которое может одновременно принимать и передавать, оно сможет слышать нисходящее столкновение только в том случае, если другое устройство использует намного более высокую выходную мощность (либо необработанную мощность, либо пассивное / активное усиление некоторого вида) , Обычно его собственный сигнал TX будет слишком сильным и «заглушит» любой другой принятый сигнал.

Таким образом, потребовался другой процесс, в результате чего возникла необходимость в CSMA / CA.

YLearn
источник
1
10base-2 и 10base-5 (с первых дней существования Ethernet) не имеют пар TX и RX. Даже с 10 / 100base-T концентратор, соединяющий более двух конечных точек, должен будет добавить более одного TX для RX всех портов. Простая истина в том, что беспроводная связь не может надежно обнаруживать столкновения, потому что все радиостанции не могут надежно слышать друг друга.
Рикки Бим
Мой оригинальный пост не упоминал пары TX и RX из-за шинных сетей, я просто оставил это как проводники TX и RX. Шинные сети существуют благодаря тому, что все устройства находятся в одной цепи. Простая истина в том, что беспроводная связь не может обнаруживать столкновения, потому что не может этого делать.
YLearn
18

Избегание используется для очень простого факта, что каждое радио («клиент») не обязательно находится в зоне действия друг друга. Таким образом, без координирующей роли AP, которая может говорить, удаленные радиостанции могут наступать друг на друга, потому что они не могут знать, что другой передает.

Рики Бим
источник
4
Это правильный ответ. Чтобы беспроводной клиент мог общаться, ему нужно только увидеть точку доступа, а не обязательно других клиентов. Таким образом, если два клиента, которые находятся вне досягаемости друг от друга, начинают говорить, они будут глушить сигналы друг друга в точке доступа. Они никогда не узнают об этом, так как не могут слышать друг друга. По сути, CSMA / CD работает в широковещательном домене. В беспроводной области широковещательный домен не полностью перекрывается с физическими устройствами. (Думайте об этом как о диаграмме Венна, любое перекрытие будет мешать всему другому домену.)
JelmerS
1
@ JelmerS, извините, это вторичный ответ. Хотя это правда, это не всегда применимо. Настоящая причина заключается в том, что даже если беспроводное устройство предназначено для приема, в то время как оно является передачей, оно не сможет обнаружить коллизию, поскольку его передача будет намного сильнее, чем любой другой сигнал, который оно может услышать (на основе той же EIRP), и «маскировать» это способность RX этого другого сигнала. На практике беспроводное устройство не может одновременно передавать и TX, и RX.
YLearn
Нет, это просто другой способ сказать это. Хотя радиостанция может (и получает) прием во время передачи, она будет работать только для этого отправителя. (вычитая TX из RX. Что-то, что каждый аналоговый модем делал более 20 лет.) Все остальные услышат мусор или более мощный, более локальный передатчик.
Рикки Бим
1
@RickyBeam, сравнение беспроводной и проводной технологий - заблуждение. Большая часть RF полудуплексная. Он спроектирован как полудуплекс, потому что это дешевле / проще, а полнодуплекс на той же частоте нецелесообразен. Сотовые телефоны работают с использованием пар частот, один для передачи и один для приема. Большинство других радиочастот являются полудуплексными; группа граждан, коротковолновая, FM, AM, много полицейских / пожарных радиостанций, много военных применений и т. д.
YLearn
После перечитывания я должен также отметить, что CSMA / CA реализован независимо от любого механизма, который AP использует для управления «кто может говорить». Вот почему такие проблемы, как проблема скрытого узла, могут также потребовать реализации RTS / CTS в дополнение к CSMA / CA.
YLearn
4

РЕДАКТИРОВАТЬ (на основе поправки Рики):

Ниже приводится выдержка из http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

CSMA / CA получен из CSMA / CD (Collision Detection), который является основой Ethernet. Основным отличием является предотвращение столкновений: на проводе приемопередатчик имеет возможность прослушивать во время передачи и, таким образом, обнаруживать столкновения (с проводом все передачи имеют примерно одинаковую мощность). Но даже если радиоузел может прослушивать канал во время передачи, сила его собственных передач будет маскировать все остальные сигналы в эфире. Таким образом, протокол не может напрямую обнаруживать коллизии, как с Ethernet, и только пытается их избежать.

Ссылка ниже хорошо читается в CSMA / CA, а также объясняет, как работает CSMA / CA:

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

jrnetclueless
источник
1
Negative. CSMA / CD не требует одновременной передачи. Он был спроектирован ДОЛГО до того, как вообще существовал дуплексный Ethernet.
Рикки Бим
Спасибо за улов @RickyBeam. Не могли бы вы также объяснить, как бы станция отошла от передачи, если она не может обнаружить станцию ​​одновременно с передачей?
vish213
Я часто согласен с Рикки, но CSMA / CD, способный как контролировать RX, так и находясь в процессе TX, не имеет ничего общего с работой в дуплексном режиме. Он основан на наличии отдельных проводников TX и RX, и конфликт обнаруживается, когда устройство отправляет сигнал по TX, а также принимает сигнал по RX. В то время как радио «могло» в теории TX и RX в одно и то же время, это практически невозможно ... вот почему в базовом смысле беспроводное устройство не может одновременно передавать и TX, и RX.
YLearn
@YLearn, это не то, что он сказал. И вы читаете все, как будто витая пара (или оптическая) была единственным носителем. CSMA / CD был разработан в эпоху 10base-2 - коаксиального кабеля. Столкновения были обнаружены текущим мониторингом на ранних этапах аппаратного обеспечения; более позднее (более продвинутое) аппаратное обеспечение вычитает TX из линии для прослушивания других сигналов, но это все равно не «передает и получает данные одновременно»
Рикки Бим
@RickyBeam шина - это сеть, в которой все устройства участвуют в одной цепи. Те же принципы применяются. Что касается вашего комментария о текущем, да, в раннем аппаратном обеспечении, если был текущий, был сигнал. Я никогда не говорил, что он может фактически использовать сигнал на RX, скорее, когда такой сигнал был получен во время передачи, это позволило обнаружить коллизию.
YLearn
0

На проводной шине потери сигнала довольно малы, и поэтому довольно легко обнаружить столкновения. IIRC coax ethernet делает это, наблюдая за уровнем постоянного тока на линии, но было бы одинаково возможно сделать это, сравнивая сигнал на шине с сигналом, который вы пытаетесь передать.

Это просто не работает для радио. Потеря сигнала между передатчиком и приемником огромна, по крайней мере, десятки БД. Перед лицом сильного исходящего сигнала нецелесообразно обнаруживать входящий сигнал, который работает в том же частотном спектре и является значительно более слабым. Это в основном исключает обнаружение столкновений как подход для беспроводных систем.

PS Витая пара и оптоволокно Ethenet использует отдельные каналы передачи данных для каждого направления, поэтому на проводе нет коллизий. «Столкновение» обнаруживается просто путем обнаружения активности на обоих каналах одновременно.

Питер Грин
источник