CSMA/CA: определение и объяснение метода

CSMA — это базовый метод, который управляет связью нескольких участников на общей и децентрализованной среде передачи. Однако в настоящее время он представлен в трех различных вариантах, которые зависят от среды передачи. В то время как CSMA/CA в основном используется в беспроводных сетях, CSMA/CD был разработан для Ethernet, а CSMA/CR применяется в сетях с контроллером (CAN), которые в основном используются в автомобилях и станках.

Чтобы понять, что именно лежит в основе технологии Carrier Sense Multiple Access with Collision Avoidance, имеет смысл рассмотреть компоненты по отдельности:

  • Carrier sense (CA): Первоначальная идея заключается в том, что участники могут отправлять данные по сети только в том случае, если среда передачи свободна. Определение состояния несущей проверяет канал в любое время, и данные не отправляются, пока он не станет свободным.
     
  • Множественный доступ (MA): несколько станций совместно используют среду передачи. Для функционирования связи важно, чтобы все они придерживались обязательного протокола.
     
  • Избежание столкновений (CA): Сложное расписание пытается гарантировать, что два или более участников не начнут передачу одновременно, чтобы избежать столкновений. Если перекрытие все же произошло, это будет обнаружено, и передача будет повторена.

Что такое CSMA/CA и каково его назначение?

В локальной сети (LAN) все участники сети используют общую среду передачи — кабель, так называемую шину. В беспроводных сетях, естественно, не используются кабели, но даже в WLAN все участвующие устройства передают и принимают сигнал, используя только одну среду передачи, а именно определенный радиодиапазон. В этом отношении WiFi (IEEE 802.11) можно сравнить с ранними полудуплексными сетями Ethernet. Таким образом, для беспроводной сети также должен существовать протокол, регулирующий использование среды передачи данных.

Самое главное правило, которое вам известно из ситуаций общения, когда в нем участвуют несколько человек (например, разговор с семьей за обеденным столом), гласит: только один человек может передавать свою информацию одновременно. Если все говорят одновременно, это сбивает с толку, и никто ничего не может понять. Сообщения также могут пересекаться в сетях, в данном случае в виде пакетов данных. Это называется коллизией, когда пакеты данных встречаются и отдаляют друг от друга свое содержимое.

CSMA/CA пытается снизить частоту таких столкновений и одновременно предоставить план, как действовать, если столкновение все-таки произошло. Протокол важен еще и потому, что передачи в беспроводных сетях не могут идти в том же порядке (из-за используемой технологии), как это было бы при использовании кабеля. В децентрализованной сети необходимо, чтобы все участники следовали набору правил и организовывали общение между собой.

Проблема скрытой станции

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

Вполне возможно, но не невероятно, что две станции не узнают друг друга, но хотят одновременно связаться со станцией, расположенной между ними. Передачи могут накладываться друг на друга на принимающем узле, что означает потерю данных. Оба передатчика не обнаруживают столкновения и не начинают новую попытку доставки. CSMA/CA сам по себе не может решить эту проблему, поэтому было создано дополнительное расширение: RTS/CTS («запрос на отправку» и «разрешение на отправку»).

CSMA/CA против CSMA/CD

CSMA/CA адаптирует метод обработки коллизий (CSMA/CD), используемый в полудуплексных сетях Ethernet, для решения проблем, возникающих в беспроводных сетях. CSMA/CD меньше пытается избежать коллизий. Вместо этого протокол воспринимает коллизии как данность и создает механизм для участников сети, инструктирующий их, как действовать в случае коллизии, чтобы при следующей попытке не произошло еще одной. Это достигается за счет резервного копирования — случайного промежутка времени, который станции должны выждать после неудачной передачи, чтобы оба участника не начали передавать информацию одновременно.

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

Как работает CSMA/CA

Основной идеей CSMA/CA является принцип «Listen Before Talk» (LBT). Это означает, что линия должна быть проверена на наличие свободного места («idle»), прежде чем станция сможет начать передачу. Но это только первый шаг. Дальнейшие функции в рамках этой процедуры позволяют в значительной степени избежать столкновений.

Функция распределенной координации (DCF)

В рамках CSMA/CA функция распределенной координации (DCF) управляет временем ожидания станции перед началом передачи в свободной среде. DCF также назначает определенные временные интервалы участникам сети для дальнейших действий, создавая обязательную временную структуру. Эта процедура является основной для предотвращения столкновений: сложная временная структура позволяет избежать столкновений. DCF учитывает различные интервалы при создании временной структуры.

  • Межкадровое пространство DCF (DIFS): На первом этапе участники должны контролировать сеть в течение всего DIFS, чтобы определить, свободна ли она в данный момент. Для CSMA/CA это означает, что ни одна другая станция в радиусе действия не посылает передачу в то же самое время. DIFS получается в результате SIFS почти удвоенного времени слота, которое составляет от 28 до 50 мкс.
     
  • Окно соперничества: Если участники определяют, что канал свободен, они ждут произвольное количество времени, прежде чем начать передачу. Это время соответствует окну противостояния. Это временное окно удваивается при каждом столкновении и соответствует двоичному экспоненциальному отступлению (BEB), знакомому по CSMA/CD.
     
  • Короткое межкадровое пространство (SIFS): После отправки пакета данных узел-получатель посылает уведомление — если также используется процедура RTS/CTS. Однако этот узел также ожидает фиксированное время перед отправкой. SIFS — это время, необходимое для обработки пакета данных. Продолжительность зависит от стандарта IEEE-802.11 и составляет от 10 мкс до 16 мкс.
Факт

Время слота — это время, которое требуется данным, чтобы пройти через максимальную длину сети. Для беспроводных сетей оно зависит от используемого стандарта и составляет от 9 мкс до 20 мкс.

Запрос на отправку и разрешение на отправку (RTS/CTS)

Кадры «Запрос на отправку» (RTS) и «Очистка для отправки» (CTS) являются частью дополнительного расширения CSMA/CA RTS/CTS. Эта процедура предшествует фактической передаче данных. Если участник определяет, что среда передачи свободна, устройство сначала посылает кадр RTS участнику, который должен получить данные. Этим выходной компьютер дает понять, что он хочет начать передачу и займет среду передачи на определенное время.

Получатель, в свою очередь, посылает кадр CTS первоначальному отправителю. Как и в случае с кадром RTS, все остальные участники диапазона информируются о том, что среда передачи в данный момент занята, и передатчик включается для передачи. Только после этого оригинальное устройство начинает передавать данные. В настоящее время участники беспроводной сети не могут обнаружить коллизии или другие помехи во время передачи. По этой причине принимающая станция должна отправить подтверждение (ACK), если пакет данных пришел правильно.

Если кадр ACK не появляется, отправитель данных предполагает, что произошло осложнение, и повторно отправляет пакет данных. Станция имеет преимущественное право на использование среды передачи данных, и ей не нужно снова ждать, пока канал освободится. Каждый из трех типов кадров состоит из нескольких полей.

  • Управление кадром: поле FC, содержащееся в каждом кадре 802.11, составляет 2 байта (16 бит) и снова делится на несколько элементов:
    • Версия протокола: указывает версию используемого протокола.
    • Тип: указывает, является ли это кадр управления (как с RTS/CTS и ACK), кадр данных или кадр управления.
    • Подтип: определяет тип кадра путем определения одной из 25 подкатегорий.
    • В систему распределения: устанавливается, когда кадр направляется в систему распределения
    • Из системы распределения: устанавливается, если кадр приходит из системы распределения.
    • Больше фрагментов: имеет значение только в том случае, если за ним следуют другие кадры (актуально только для кадров данных и кадров управления)
    • Retry: указывает, был ли кадр уже отправлен и как часто.
    • Управление питанием: показывает режим энергосбережения
    • Больше данных: указывает, что следует отправить больше данных.
    • WEP: указывает, зашифрованы ли данные с помощью WEP.
    • Порядок: сообщает получателю, в правильном ли порядке отправлены данные.
       
  • Продолжительность: указывает время, необходимое передатчику для передачи данных (эта информация важна для вектора распределения сети и имеет размер 2 байта).
  • Адрес приемника: содержит MAC-адрес приемника (6 байт)
  • Адрес передатчика: содержит MAC-адрес отправителя (6 байт); требуется только для RTS, но не для CTS и ACK.
  • Последовательность проверки кадра: 4-байтовая последовательность проверки блока представляет собой контрольную сумму, которая позволяет принимающей станции определить, прибыл ли кадр данных, как планировалось. Отправитель вычисляет контрольную сумму из данных кадра. Тот же процесс происходит и на стороне получателя, когда кадр уже получен. Если результат приемника совпадает с тем, что отправитель прикрепил к кадру в качестве FCS, то передача прошла успешно.

За исключением поля, определяющего адрес передатчика, все поля содержатся в RTS, CTS и ACK. Однако поле отправителя представляет интерес только при первом контакте с получателем, чтобы получатель знал, с каким узлом он сейчас общается.

Расширяя протокол CSMA/CA с помощью RTS/CTS, можно уменьшить количество коллизий на начальном кадре RTS. По-прежнему существует вероятность того, что два участника одновременно отправят запрос на передачу на одну и ту же станцию. Однако в таких случаях получатель не отправляет кадр CTS, потому что кадры RTS пришли неправильно. Таким образом, RTS/CTS может решить проблему скрытой станции: даже если два передатчика не узнают друг друга из-за ограниченного диапазона, риску подвергаются только кадры RTS, а не фактические данные. Тогда вступает в силу CSMA/CA, и передача может происходить упорядоченно.

Обмен RTS/CTS решает принцип скрытой станции, но расширение вызывает другую трудность: проблему открытой станции. Изначально ситуация такая же, как и с проблемой скрытой станции: одна станция находится в середине двух других станций, так что они не могут связаться друг с другом. Теперь одно из двух устройств хочет отправить данные на станцию, находящуюся посередине. Все доступные узлы получают кадр CTS, который останавливает их вещание. Это позволяет избежать проблемы скрытой станции, но создает новую.

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

Вектор распределения сети (NAV)

Прежде чем устройство в сети начинает передачу, оно сначала посылает информацию (в поле duration кадра RTS) всем остальным участникам. Устройство сообщает, как долго сеть будет занята передачей. Каждое другое устройство вносит эту информацию в свой персональный вектор распределения сети (который на самом деле не является вектором с математической точки зрения). Он управляется изнутри и определяет время, когда попытка доставки снова возможна. Вектор распределения сети (NAV) отсчитывает время непрерывно и пополняется только за счет новой информации от других станций.

NAV может увеличить таймер максимум на 33 мс (32,767 мкс). Это максимальная продолжительность, на которую передатчик может блокировать среду. Устройства в сети неактивны, пока вектор распределения сети еще не истек. Это позволяет экономить энергию. Только когда счетчик устанавливается на 0, абонент снова становится активным и проверяет сеть. NAV регулируется не только RTS, на него также влияют CTS и ACK. Последний является сигналом для всех участников для сброса NVA на 0, когда среда снова свободна.

Процедура CSMA/CA с первого взгляда

Если участники беспроводной сети используют метод Carrier Sense Multiple Access with Collision Avoidance, необходимо выполнить определенные шаги. Сначала станции контролируют среду передачи. Когда речь идет о WLAN, это означает, что система carrier sense контролирует радиоканал и проверяет, передают ли в данный момент другие участники сети — если они видны соответствующему устройству.

Если выясняется, что среда передачи в данный момент занята, запускается случайный откат: станция ждет случайное количество времени, пока не начнется новая проверка. Все остальные станции, которые не заняты отправкой или приемом, испытывают то же самое. Случайное время ожидания гарантирует, что участники не начнут проверку сети одновременно и не смогут одновременно начать передачу данных. Однако это происходит только в том случае, если станция еще не знает, что среда занята благодаря вектору распределения сети (NAV).

Если сеть свободна, станция инициирует DCF. Сначала канал проверяется более тщательно в течение всего времени DIFS. Если он остается свободным в течение этого времени, начинается случайный откат и только после этого начинается обмен RTS/CTS — если используется этот дополнительный механизм. Если запрос на отправку успешно дошел до получателя и коллизии не произошло, отправитель получает разрешение от кадра CTS на занятие среды передачи.

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

Преимущества и недостатки CSMA/CA

CSMA/CA решает некоторые проблемы, которые возникают в беспроводных сетях и не могут быть решены CSMA/CD. Однако этот процесс не лишен недостатков: с одной стороны, некоторые проблемы не могут быть решены полностью, а с другой стороны, CSMA/CA приносит с собой новые трудности.

Преимущества Недостатки
Помогает предотвратить столкновения данных Более длительное время ожидания
Благодаря обратной связи данные незаметно не теряются Вызывает дополнительный трафик
Избегает ненужного трафика данных с помощью расширения RTS/CTS Решает проблему скрытой станции только с помощью расширения RTS/CTS
  Создает проблему открытой станции благодаря использованию RTS/CTS

Что такое протоколы скоординированного множественного доступа?

Поскольку процедура CSMA/CA далека от совершенства, были предприняты усилия по ее расширению. Так искореняются слабые места. Были разработаны две процедуры, обе из которых следуют концепции протоколов координированного множественного доступа, но по разным причинам практически не используются. Протоколы координированного множественного доступа устанавливают центральную организационную точку: права доступа отдельных станций к среде передачи больше не должны согласовываться исключительно друг с другом. Вместо этого запросы проходят через точку доступа (например, через WiFi-маршрутизатор).

Функция координации точки

Функция координации точки (PCF) дополнительно интегрирована в процедуру CSMA/CA и заменяет или дополняет функцию распределенной координации (DCF). Точка доступа действует как координатор (координатор точки) и конкретно обращается к станциям внутри сети. Никому не разрешается занимать среду передачи до тех пор, пока это не будет сделано. Координатор имеет список опроса для определения очередности отдельных станций.

Согласно этому списку, каждого участника сети спрашивают либо просто друг за другом (или в порядке очередности), желает ли он сделать передачу. Однако прежде чем точка доступа начнет запрос, она должна выждать определенное время, как и в случае с DFC. Межкадровое пространство PCF на один слот короче, чем DIFS, и имеет более высокий приоритет, поэтому PCF начинает действовать раньше, чем DCF.

Метод предлагает подход к решению проблемы скрытой станции: необходимый радиус действия может быть уменьшен вдвое, если точка доступа хорошо расположена. PCF означает, что участникам больше не нужно узнавать друг друга. Точка доступа просто должна быть расположена в центре и может охватить все станции в форме звезды.

Однако функция координации точек создает еще одно слабое место: чтобы использовать эту технологию, все участники сети должны уметь пользоваться PCF. Однако это далеко не всегда так. Когда устройства не участвуют в процессе PCF, они и их запросы на передачу просто игнорируются. Именно поэтому была разработана система чередования: PCF и DCF могут чередоваться, чтобы предоставить всем устройствам в сети возможность передачи. Точка доступа предоставляет для этого два временных периода. Во-первых, есть период без сдерживания (CFP), в котором PCF обеспечивает скоординированный множественный доступ, и период сдерживания (CP), в котором применяется DCF, а коллизии, как описано выше, избегаются с помощью CSMA/CA. Это чередование инициируется кадром маяка, который координатор посылает всем станциям.

Гибридный доступ к каналу с управлением функцией координации (HCCA)

Другой метод с протоколами координированного множественного доступа, HCF контролируемый доступ к каналу, в значительной степени ориентирован на метод PCF. Однако HCCA по-другому регулирует изменение между периодом сдерживания и периодом без сдерживания. Вместо чередующейся системы, HCCA установила опцию, которая позволяет точке доступа переключаться с CP на CFP в любое время — что является фазой контролируемого доступа (CAP) в HCCA. В этот период гибридный координатор (здесь он также является точкой доступа) координирует, кто и когда может отправлять данные, основываясь на приоритетах. Координатор определяет их с помощью классов трафика (TC), которые определяют станции. Таким образом, разным классам могут быть назначены разные приоритеты.

Кроме того, в HCCA период передачи становится возможностью передачи (TXOP). Это описывает время, в течение которого передатчики могут отправить не только один кадр, но и столько кадров данных, сколько возможно в фазе TXOP. Если кадр слишком велик для данного периода, он должен быть разбит на части и отправлен несколькими частями. Это не позволяет более медленным станциям замедлять более быстрые.

Однако во время периода задержки применяется расширенный распределенный доступ к каналу (EDCA). Существует также порядок приоритета за EDCA. Однако этот порядок не организуется центральным пунктом; вместо этого участвующие станции организуют его сами, как и в DCF. Узлам, которым нужно передать важный трафик, не нужно ждать полного DIFS. Вместо этого такие станции делают паузу только на время арбитражного межкадрового пространства (AIFS). Существуют различные AIFS, которые последовательно нумеруются в зависимости от приоритета. AIFS1 имеет наивысший уровень приоритета и на меньше, чем DIFS, но длиннее, чем SIFS. TXOP также применяется к EDCA.

Оцените статью
cdelat.ru
Добавить комментарий