Главная
Статьи





23.05.2022


22.05.2022


22.05.2022


22.05.2022


22.05.2022






Distributed coordination function

23.01.2022

Distributed coordination function (DCF, рус. распределённая функция координации) — фундаментальный протокол канального уровня семейства стандартов IEEE 802.11. DCF использует метод CSMA/CA вместе с алгоритмом двоичной экспоненциальной отсрочки.

Описание протокола

Согласно протоколу DCF, станция, имеющая кадры в очереди на передачу, не должна передавать данные пока канал занят. После освобождения канала станция ждёт дополнительно интервал времени DIFS. В сетях с большим числом станций передача нескольких станций сразу по окончании интервала DIFS может привести к коллизиям, потому дополнительно каждая станция генерирует выборку целой случайной величины, равномерно распределённой на интервале ( 0 , C W m i n ] {displaystyle (0,CW_{min}]} , где C W m i n {displaystyle CW_{min}} — так называемое конкурентное окно (англ. contention window). Эта величина называется счётчиком отсрочки (англ. backoff). Станция слушает канал время σ {displaystyle sigma } , определённое в стандарте как время пустого слота, и, если канал был свободен, уменьшает счётчик отсрочки на единицу. Если же канал был занят, то станция замораживает свой счётчик отсрочки и ждёт пока канал освободится, далее ждёт интервал DIFS и размораживает счётчик отсрочки. Когда счётчик отсрочки достигает нуля, станция передаёт кадр данных.

DCF включает в себя необходимость подтверждения успешного приёма кадра данных, таким образом если станция после отправки своего кадра не получила кадр подтверждения (англ. acknowledgment, ACK), она считает передачу неуспешной.

Если передача была неуспешной (из-за коллизии станций или помех), станция вновь генерирует backoff из интервала ( 0 , 2 C W m i n ] {displaystyle (0,2CW_{min}]} . Конкурентное окно увеличивается вдвое каждый раз после неудачной попытки передачи кадра данных пока не достигнет значения C W m a x {displaystyle CW_{max}} . Если конкурентное окно достигло максимума, станция его не меняет до тех пор пока не будет достигнут предел количества попыток передач (англ. retry limit, R L {displaystyle RL} ) кадра данных.

По достижении предельного числа попыток передач кадра данных станция сбрасывает кадр данных и начинает пытаться передавать следующий кадр данных из очереди FIFO. Если это был первый сброшенный кадр данных, станция сбрасывает конкурентное окно до значения ( 0 , C W m i n ] {displaystyle (0,CW_{min}]} и вновь его экспоненциально наращивает. Если же станция сбросила два кадра данных подряд, то все последующие кадры данных передаются на максимальном конкурентном окне до тех пор, пока хотя бы один кадр данных не будет передан успешно.

Если кадр данных был передан успешно, то для следующего кадра данных используется минимальное конкурентное окно C W m i n {displaystyle CW_{min}} .

Дополнительно станции могут использовать механизм RTS/CTS, который заключается в предварительной отправке кадров Request-to-Send (англ. Запрос на передачу) передающей станцией и Clear-to-Send (англ. Разрешение передачи) принимающей станцией. Кадр RTS короткий, и попадание в коллизию двух кадров RTS менее болезненно, чем попадание в коллизию двух длинных кадров данных. Если кадр данных слишком короткий, использование RTS/CTS может быть неэффективно — в таком случае используется RTS порог (англ. RTS Threshold), который определяет максимальную длину кадра данных, который будет передан без использования механизма RTS/CTS. В кадрах RTS/CTS дополнительно устанавливается TXOP (англ. transmission opportunity, рус. возможность передачи) — интервал виртуальной занятости канала, в течение которого другие станции должны воздерживаться от начала своей передачи. RTS/CTS позволяет частично (но не полностью) решить проблемы скрытых и засвеченных станций.

DCF является, фактически, базовым протоколом доступа в сетях Wi-Fi.

Для анализа пропускной способности протокола DCF используется модель Бианчи.