CSMA/CA
Carrier Sense Multiple Access With Collision Avoidance («множественный доступ с контролем несущей и избеганием коллизий» или «многостанционный доступ с контролем несущей и предотвращением конфликтов») — это сетевой протокол, в котором:

  • используется схема прослушивания несущей волны
  • станция, которая собирается начать передачу, посылает jam signal (сигнал затора)
  • после продолжительного ожидания всех станций, которые могут послать jam signal, станция начинает передачу фрейма
  • если во время передачи станция обнаруживает jam signal от другой станции, она останавливает передачу на отрезок времени случайной длины и затем повторяет попытку
CSMA/CA — множественный доступ с прослушиванием несущей и избежанием коллизий. Узел, готовый послать кадр, прослушивает линию. При отсутствии несущей он посылает короткий сигнал запроса на передачу (RTS) и определенное время ожидает ответа (CTS) от адресата назначения. При отсутствии ответа (подразумевается возможность коллизии) попытка передачи откладывается, при получении ответа в линию посылается кадр. При запросе на широковещательную передачу (RTS содержит адрес 255) CTS не ожидается. Метод не позволяет полностью избежать коллизий, но они обрабатываются на вышестоящих уровнях протокола. Метод характерен простотой и низкой стоимостью цепей доступа.
Избежание коллизий используется для того, чтобы улучшить производительность CSMA, отдав сеть единственному передающему устройству. Эта функция возлагается на «jamming signal» в CSMA/CA. Улучшение производительности достигается за счёт снижения вероятности коллизий и повторных попыток передачи. Но ожидание jam signal создаёт дополнительные задержки, поэтому другие методики позволяют достичь лучших результатов. Избегание коллизий полезно на практике в тех ситуациях, когда своевременное обнаружение коллизии невозможно — например при использовании радиопередатчиков.
Использование CSMA/CA в работе 802.11 (WiFi)

Базовый 802.11 MAC уровень использует Distributed Coordination Function (DCF), чтобы разделить эфир между множеством станций. DCF основывается на CSMA/CA и опционально на 802.11 RTS/CTS, чтобы разделить эфир между станциями. Это создает несколько ограничений

  • при одновременном взаимодействии большого количества станций происходит множество коллизий, которые снижают общую доступную ширину канала (также как в Ethernet, который использует CSMA/CD).
  • нет разделения на трафик по приоритету.
  • если станция «выигрывает» доступ к эфиру, она может занимать его столько, сколько ей нужно. И если эта станция имеет низкую пропускную способность (например, 1 Mbit/s), то ей понадобится продолжительное время для передачи данных, и все остальные станции будут страдать от этого.
  • и самое важное — это отсутствие гарантий QoS.
Каждая станция, подчиняющаяся дисциплине DCF и механизму базового доступа, самостоятельно определяет момент своего выхода в эфир и занятия среды, при этом перед началом передачи эфир прослушивается станцией и в случае, если он свободен, станция начинает передачу. Последовательные попытки передачи данных каждой станции разделены интервалом задержки, а также случайным отложенным временем (Backoff time). В случае коллизии, когда, в эфир одновременно выходят две станции, реализуется механизм избегания коллизий. Обе станции прекращают передачу, каждая из них выжидает случайный промежуток времени, прослушивая среду. Далее станция, у которой интервал оказался меньше, снова выходит в эфир. Поскольку вероятность совпадения случайного промежутка времени у разных станций мала, данный метод позволяет многократно снизить вероятность возникновения повторных коллизий. Метод DCF реализован во всех устройствах, поддерживающих 802.11, показывает достаточно высокую эффективность в компактных, комнатных беспроводных локальных сетях, где число узлов не превышает 10 – 15, но обладает рядом врожденных недостатков

Проблема скрытого узла

В масштабах городских и региональных сетей архитектуры точка – много точек PtMP, где для связи на большие расстояния используются узконаправленные антенны, применение дисциплины случайного доступа к среде CSMA/CA (DCF) приводит к колоссальному снижению производительности всей сети.
Как мы уже говорили, каждая станция перед началом передачи пытается «убедиться», что среда свободна. При использовании направленных антенн вероятность, что какая-либо из станций будет «слышать» все соседние, ничтожно мала, поскольку антенны ориентируются на базовую станцию. Таким образом, при прослушивании у станций постоянно создается иллюзия, что среда свободна и они одновременно начинают передачу. Следствием этого становится резкий рост числа коллизий, попыток повторной передачи пакетов и как следствие – существенное падение производительности всей сети, рост числа потерь и т.д.
Для решения данной проблемы в дополнение к описанному механизму базового доступа в протоколе 802.11 предусмотрен механизм RTS/CTS (Request-to-send/Clear-to-send) или Запрос-на-передачу / Разрешение-передачи. Данный механизм может включаться при превышении размером пакета некоторого установленного порога. В этом случае перед началом передачи основного пакета данных станция посылает на базу короткий служебный пакет RTS, запрашивая разрешение на начало передачи. Если среда не занята и база приняла этот пакет, она отвечает коротким пакетом CTS, разрешающим станции начать передачу. К сожалению, этот метод не решает проблему полностью. Основной недостаток его — существенное увеличение накладных расходов, связанных с задержками на передачу служебных пакетов и рост числа коллизий, вызванных ими.
Проблема падения производительности с ростом нагрузки

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

Как показывает эксперимент, станция, осуществляющая интенсивную передачу трафика способна фактически захватить весь канал, поскольку процедура CDMA/CA практически декларирует правило «первым пришел – первым обслужен». Это обстоятельство сильно влияет на такие немаловажные для клиентов факторы, как качество обслуживания трафика и его детерминистичность.

Решение – механизм маркерного доступа (TDMA), PCF
Специально для поддержки передачи потоковых данных в спецификацию MAC – уровня 802.11 был описан еще один метод доступа к среде, названный Point Coordination Function (PCF).
В противоположность описанной технологии случайного доступа (DCF), где управление распределено между всеми станциями, в режиме PCF только базовая станция БС или Point Coordinator управляет доступом к каналу. На практике PCF реализует механизм маркерного доступа, обеспечивающий множественный доступ к среде с разделением по времени TDMA (Time Division Multiple Access).

В режиме PCF БС составляет список опроса, согласно которому циклически опрашивает зарегистрированные станции на предмет получения данных. На каждую станцию выделяется рассчитанный промежуток времени, по истечении которого производится опрос следующей станции. Ни одна из станций не может передавать в это время, за исключением той, которая опрашивается. Поскольку PCF даёт возможность каждой станции передавать в определённое время, данный механизм гарантирует максимальную латентность. Для того чтобы дать возможность новым станциям зарегистрироваться в сети, БС периодически на короткое время переходит в режим DCF, разрешая в этот период всем станциям конкурировать за среду.

Некоторые производители беспроводного оборудования предложили свои, несовместимые варианты реализации маркерного доступа. При этом метод PCF, закрепленный в стандарте IEEE 802.11, способен обеспечить совместимость устройств различных производителей.

Стандарт 802.11 не оговаривает конкретного алгоритма, согласно которому каждый раз в цикле PCF будет составляться список опроса. Каждый производитель волен разрабатывать этот алгоритм самостоятельно. В простейшем случае список опроса статический, опрашиваются все зарегистрированные станции, каждой из них при этом выделяется одинаковый промежуток времени для передачи.