CSMA/CA
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance, множественный доступ с контролем несущей и предотвращением коллизий) — это протокол управления доступом к среде передачи данных (MAC-подуровень), используемый в беспроводных сетях (прежде всего IEEE 802.11, известных как Wi-Fi) и некоторых других средах, где невозможна или затруднена оперативная диагностика коллизий. Основная цель CSMA/CA — минимизировать вероятность одновременной передачи данных несколькими станциями, что приводит к коллизиям, путём предварительной проверки занятости канала и специальных процедур резервирования.
Принцип работы
CSMA/CA основан на идее «слушай перед тем, как говорить», но в отличие от проводного протокола CSMA/CD (Collision Detection), где коллизия обнаруживается во время передачи, в беспроводных сетях станция не может одновременно передавать и слушать канал (из-за резкого различия мощностей собственного и принимаемого сигналов). Поэтому CSMA/CA использует механизмы предотвращения коллизий, а не их обнаружения.
Основные этапы работы станции при передаче кадра:
- Проверка канала (Clear Channel Assessment, CCA). Станция прослушивает эфир в течение определённого времени (обычно DIFS — Distributed Inter-Frame Space). Если канал свободен, станция переходит к шагу 2. Если занят — ждёт освобождения.
- Ожидание случайного времени (Backoff). Даже если канал свободен, станция не начинает передачу сразу. Она выбирает случайное число (слоты ожидания) из диапазона, называемого «конкурентное окно» (Contention Window, CW). После каждого свободного слота счётчик уменьшается. Когда счётчик достигает нуля, станция начинает передачу.
- Передача кадра. Станция отправляет кадр данных.
- Ожидание подтверждения (ACK). После успешного приёма кадра получатель отправляет короткий кадр подтверждения (ACK). Если отправитель не получает ACK в течение заданного тайм-аута (из-за коллизии или помех), он считает передачу неудачной и повторяет весь процесс, увеличивая размер конкурентного окна (CW) для снижения вероятности повторной коллизии.
Механизмы предотвращения коллизий
CSMA/CA включает два основных механизма для снижения вероятности коллизий:
1. Физическое прослушивание канала (Physical Carrier Sensing)
Станция анализирует уровень сигнала в эфире. Если он превышает пороговое значение (обычно -82 дБм для сигнала 20 МГц), канал считается занятым. Этот метод эффективен, когда все станции находятся в зоне слышимости друг друга.
2. Виртуальное прослушивание канала (Virtual Carrier Sensing) — RTS/CTS
Для решения проблемы «скрытого узла» (когда две станции не слышат друг друга, но обе слышат точку доступа) используется механизм RTS/CTS (Request to Send / Clear to Send).
- RTS (Request to Send): Станция, желающая передать данные, отправляет короткий служебный кадр RTS, содержащий информацию о длительности будущей передачи.
- CTS (Clear to Send): Точка доступа или станция-получатель отвечает кадром CTS, также содержащим длительность.
- NAV (Network Allocation Vector): Все станции, услышавшие RTS или CTS, устанавливают таймер NAV, в течение которого они воздерживаются от передачи, считая канал занятым. Это предотвращает коллизии, даже если станция не слышит непосредственного отправителя.
Механизм RTS/CTS применяется для кадров большого размера (пороговое значение обычно 2346 байт), так как служебные накладные расходы на RTS/CTS окупаются снижением вероятности дорогостоящей коллизии длинных кадров.
Типы межкадровых интервалов (IFS)
CSMA/CA использует различные межкадровые интервалы для установления приоритетов доступа:
| Тип IFS | Длительность | Назначение |
|---|---|---|
| SIFS (Short IFS) | 10 мкс (802.11b/g) | Самый короткий. Используется для ACK, CTS, фрагментов кадров. Обеспечивает наивысший приоритет. |
| PIFS (PCF IFS) | 30 мкс | Используется в режиме PCF (Point Coordination Function) точкой доступа для опроса станций. |
| DIFS (DCF IFS) | 50 мкс | Используется в режиме DCF (Distributed Coordination Function) для обычных кадров данных. Начало отсчёта backoff. |
| EIFS (Extended IFS) | ~ 200 мкс | Используется после обнаружения ошибочного кадра, чтобы дать время для повторной передачи. |
Станция может начать передачу только после того, как канал был свободен в течение интервала DIFS (или SIFS для служебных кадров). Если канал занят, станция ждёт освобождения + DIFS, а затем запускает процедуру backoff.
Применение CSMA/CA
CSMA/CA является основой для нескольких стандартов и технологий:
- IEEE 802.11 (Wi-Fi): Основной протокол доступа для всех версий Wi-Fi (a/b/g/n/ac/ax/be). Используется как в инфраструктурном режиме (с точкой доступа), так и в режиме ad-hoc.
- IEEE 802.15.4 (Zigbee, Thread): Беспроводные сети с низким энергопотреблением для Интернета вещей (IoT). Используют упрощённую версию CSMA/CA.
- HomePlug (Powerline Communication): Сети по электропроводке. Используют CSMA/CA для доступа к общей среде (силовой линии).
- IEEE 802.11p (DSRC): Беспроводные сети для автомобильной связи (V2V, V2I). Используют CSMA/CA с сокращёнными интервалами для низкой задержки.
Преимущества и недостатки
Преимущества
- Простота реализации: Не требует сложного оборудования для обнаружения коллизий.
- Децентрализация: Работает без центрального координатора (в режиме DCF), что делает его устойчивым к отказам.
- Эффективность при низкой нагрузке: При малом числе активных станций коллизии редки, и пропускная способность высока.
Недостатки
- Низкая эффективность при высокой нагрузке: При большом числе станций время ожидания (backoff) растёт, а пропускная способность падает из-за коллизий и повторных передач.
- Проблема «скрытого узла»: Без RTS/CTS коллизии между станциями, не слышащими друг друга, неизбежны.
- Накладные расходы: Служебные кадры (RTS, CTS, ACK) и межкадровые интервалы снижают полезную пропускную способность (эффективность может составлять 50–70% от физической скорости).
- Неэффективность для трафика реального времени: Механизм случайного ожидания не гарантирует фиксированной задержки, что критично для голоса или видео (хотя существуют модификации, например, HCF в 802.11e).
Эволюция и современные модификации
В стандарте IEEE 802.11e (Wi-Fi Multimedia, WMM) введён механизм EDCA (Enhanced Distributed Channel Access), который модифицирует CSMA/CA для поддержки качества обслуживания (QoS). Трафик делится на четыре категории доступа (AC): голос, видео, фоновый и best-effort. Для каждой категории устанавливаются разные значения DIFS (AIFS — Arbitration IFS) и размеры конкурентных окон, что даёт приоритет чувствительным к задержкам приложениям.
В стандарте IEEE 802.11ax (Wi-Fi 6) CSMA/CA дополнен технологией OFDMA (Orthogonal Frequency Division Multiple Access), которая позволяет точке доступа распределять ресурсы (поднесущие) между несколькими станциями одновременно, снижая коллизии на уровне MAC. Однако базовая логика CSMA/CA для случайного доступа сохраняется.
Источники
- IEEE Standard 802.11-2020 — Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.
- Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks (5th ed.). Pearson.
- Kurose, J. F., & Ross, K. W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson.
- Gast, M. (2013). 802.11ac: A Survival Guide. O'Reilly Media.
- Bianchi, G. (2000). Performance analysis of the IEEE 802.11 distributed coordination function. IEEE Journal on Selected Areas in Communications, 18(3), 535–547.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →