Distributed coordination function
Distributed coordination function (DCF, рус. распределённая функция координации) — фундаментальный протокол канального уровня семейства стандартов IEEE 802.11. DCF использует метод CSMA/CA вместе с алгоритмом двоичной экспоненциальной отсрочки.
Описание протокола
Согласно протоколу DCF, станция, имеющая кадры в очереди на передачу, не должна передавать данные пока канал занят. После освобождения канала станция ждёт дополнительно интервал времени DIFS. В сетях с большим числом станций передача нескольких станций сразу по окончании интервала DIFS может привести к коллизиям, потому дополнительно каждая станция генерирует выборку целой случайной величины, равномерно распределённой на интервале [math]\displaystyle{ (0, CW_{min}] }[/math], где [math]\displaystyle{ CW_{min} }[/math] — так называемое конкурентное окно (англ. contention window). Эта величина называется счётчиком отсрочки (англ. backoff). Станция слушает канал время [math]\displaystyle{ \sigma }[/math], определённое в стандарте как время пустого слота, и, если канал был свободен, уменьшает счётчик отсрочки на единицу. Если же канал был занят, то станция замораживает свой счётчик отсрочки и ждёт пока канал освободится, далее ждёт интервал DIFS и размораживает счётчик отсрочки. Когда счётчик отсрочки достигает нуля, станция передаёт кадр данных.
DCF включает в себя необходимость подтверждения успешного приёма кадра данных, таким образом если станция после отправки своего кадра не получила кадр подтверждения (англ. acknowledgment, ACK), она считает передачу неуспешной.
Если передача была неуспешной (из-за коллизии станций или помех), станция вновь генерирует backoff из интервала [math]\displaystyle{ (0, 2CW_{min}] }[/math]. Конкурентное окно увеличивается вдвое каждый раз после неудачной попытки передачи кадра данных пока не достигнет значения [math]\displaystyle{ CW_{max} }[/math]. Если конкурентное окно достигло максимума, станция его не меняет до тех пор пока не будет достигнут предел количества попыток передач (англ. retry limit, [math]\displaystyle{ RL }[/math]) кадра данных.
По достижении предельного числа попыток передач кадра данных станция сбрасывает кадр данных и начинает пытаться передавать следующий кадр данных из очереди FIFO. Если это был первый сброшенный кадр данных, станция сбрасывает конкурентное окно до значения [math]\displaystyle{ (0, CW_{min}] }[/math] и вновь его экспоненциально наращивает. Если же станция сбросила два кадра данных подряд, то все последующие кадры данных передаются на максимальном конкурентном окне до тех пор, пока хотя бы один кадр данных не будет передан успешно.
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=%D0%97%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%BA%D0%BD%D0%B0_%D0%BE%D1%82_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%BF%D1%8B%D1%82%D0%BA%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8.png&width=300)
Если кадр данных был передан успешно, то для следующего кадра данных используется минимальное конкурентное окно [math]\displaystyle{ CW_{min} }[/math].
Дополнительно станции могут использовать механизм 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 используется модель Бианчи.[1]
См. также
Примечания
- ↑ Giuseppe Bianchi. Performance Analysis of the IEEE 802.11 Distributed Coordination Function (англ.) // IEEE journal on selected areas in communications. — 2000. — March (vol. 18, no. 3). — P. 535-547.
Список литературы
- Стандарт IEEE 802.11
- Giuseppe Bianchi — Performance Analysis of the IEEE 802.11 Distributed Coordination Function Online-Manuscript (PDF, 306 kB) (2000)
Ссылки
Для улучшения этой статьи по информационным технологиям желательно: |