Вопрос

Вопрос по MAC-протоколу 802.11 Wifi.

Мы узнали, что когда станция получила данные, она ожидает времени SIFS.Затем он отправляет пакет.При поиске в Интернете всегда упоминается причина, заключающаяся в том, чтобы дать пакетам ACK более высокий приоритет.Это понятно, поскольку станция сначала должна дождаться времени DIFS, когда она хочет отправить нормальные данные (а DIFS больше, чем SIFS).

Но зачем вообще ждать?Почему бы сразу не отправить ACK?Станция знает, что данные доставлены и CRC верен, так зачем ждать?

Это было полезно?

Решение

Теоретически можно знать, что CRC правильный в точном конце полученных данных из провода, но на практике вам необходимо накопить все выборки в последнем блоке, чтобы запустить IFFT, деконволюцию, FEC и затем, наконец, в самом конце, после окончательного получения входных данных из сигнала, знаете ли вы, что CRC правильный.Кроме того, иногда вам необходимо включить схему передачи для отправки ACK, что может ухудшить производительность приема.Если бы каждый шаг в цепочке обработки был мгновенным, если бы схема передачи определенно не мешала схеме приема и если бы не было времени, необходимого для построения формы сигнала для ACK, было бы возможно послать ACK сразу после получения последнего бита сигнала.Но хотя каждый элемент в этой цепочке занимает некоторое детерминированное время, оно не происходит мгновенно.SIFS дает получателю время получить данные от PHY, проверить их и отправить ответ.

Отказ от ответственности:Я более знаком с Homeplug, чем с 802.11.

Другие советы

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

Таким образом, во время SIFS могут быть отправлены управляющие кадры или следующий фрагмент.Во время PIFS могут отправляться кадры PCF, а во время DIFS — кадры DCF.Во время SIFS и PIFS PCF может творить чудеса.

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

Обновлять:

Насколько я понимаю сейчас, это то, что во время SIFS станция может отправлять RTS, CTS или ACK и иметь достаточно времени, чтобы переключиться обратно в режим приема до того, как отправитель начнет передавать.Если это правильно, он отправит ACK во время SIFS.Затем он перейдет в режим приема и будет ждать, пока истечет время SIFS.По истечении времени SIFS передатчик начнет отправку.

Кроме того, PCF контролируется PIFS, который идет после SIFS и перед DIFS и поэтому не имеет отношения к этому обсуждению (моя ошибка).То есть SIFS < PIFS < DIFS < EIFS.

Источники: Этот PDF-файл (стр. 8) и Компьютерные сети Эндрю С.Таненбаум

SIFS = RTT (на основе скорости передачи PHY) + ЗАДЕРЖКА ОБРАБОТКИ КАДРА НА ПРИЕМНИКЕ (ЗАДЕРЖКА ОБРАБОТКИ PHY + ЗАДЕРЖКА ОБРАБОТКИ MAC) + ЗАДЕРЖКА ОБРАБОТКИ КАДРА (ДЛЯ СОСТАВЛЕНИЯ ОТВЕТА CTS/ACK) + ЗАДЕРЖКА РЧ-ТЮНЕРА (ИЗМЕНЕНИЕ С RX на TX)

На стороне передатчика, после последнего символа PHY (например, RTS), время, необходимое для перехода в режим RX (на RF).Итак, я бы рассматривал SIFS как расчет на стороне RX, а не на стороне TX.

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

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

Это возможно в системах, где ACK(n) означает «Я получил все, включая пакет # n.

Используя такую ​​стратегию, вы получите лучшую производительность и меньший трафик.Пока время ожидания перед отправкой подтверждения на получателе меньше времени повторной передачи в случае отсутствия подтверждения на отправителе (с учетом задержек передачи), проблем быть не должно.

Краткий ускоренный курс по 802.11:

802.11 — это, по сути, гигантская система таймеров.Наиболее распространенные реализации 802.11 используют функцию распределенной координации DCF.DCF позволяет узлам входить и выходить из диапазона радиоканала, используемого для 802.11, и распределенным образом координировать работу тех, кто должен отправлять и получать данные (игнорируя скрытые и открытые проблемы узлов для этого обсуждения).Прежде чем какой-либо узел сможет начать отправку данных по каналу, все они должны дождаться периода DIFS, в течение которого канал определяется как свободный. Если он простаивает в течение периода DIFS, первый узел, захвативший канал, начинает передачу.В стандарте 802.11, т.е.В реализациях, отличных от 802.11e, и отличных от 802.11n, каждый передаваемый пакет данных должен быть подтвержден пакетом подтверждения физического уровня, PHY, независимо от используемого протокола верхнего уровня.После отправки пакета данных период времени SIFS должен истечь. После истечения срока действия SIFS могут быть отправлены управляющие кадры, предназначенные для узла, который «взял» контроль над каналом, в этом случае передается кадр подтверждения.SIFS позволяет узлу, отправившему пакет данных, переключиться из режима передачи в режим приема.Если пакет действительно теряется и после тайм-аута SIFS/ACK не получено подтверждение, то активируется экспоненциальная отсрочка передачи.Экспоненциальная задержка, также известная как окно конкуренции (CW), начинается со значения CWmin, в некоторых реализациях Linux это 15 временных интервалов, причем время интервала варьируется в зависимости от используемого протокола 802.11.Затем значение CW выбирается от 1 до верхнего предела, рассчитанного для CW.Если текущий пакет был потерян, то CW увеличивается с 15 до 30, а затем выбирается случайное значение от 1 до 30.Каждый раз, когда происходит последовательный проигрыш, CW удваивается до 1023, после чего достигает предела.После успешного получения пакета CW сбрасывается обратно на CWmin.

Что касается 802.11n/802.11e:Каждый пакет данных по-прежнему необходимо подтверждать, но при использовании 802.11e (реализованного в 802.11n) несколько пакетов данных могут быть агрегированы двумя разными способами: A-MSDU или A-MPDU.A-MSDU — это большой кадр, который имеет одну контрольную сумму для всего отправляемого агрегированного пакета, внутри него находится множество подкадров, содержащих каждый из кадров данных, которые необходимо отправить.Если в кадре A-MSDU есть какая-либо ошибка и его необходимо передать повторно, то каждый подкадр необходимо отправить повторно.Однако при использовании A-MPDU каждый подкадр имеет небольшой заголовок и контрольную сумму, которые позволяют повторно передать любой подкадр, содержащий ошибку, сам по себе или в другом агрегированном кадре в следующий раз, когда передающие узлы получат канал. .В этих схемах отправки агрегированных пакетов существует понятие подтверждения блока.Подтверждение блока содержит битовую карту кадров с начальным порядковым номером, которые только что были отправлены в агрегированном пакете и получены правильно или неправильно.Использование агрегированной отправки кадров значительно повышает производительность пропускной способности, поскольку за каждый канал, полученный отправляющим узлом, может быть отправлено больше данных, что также позволяет отправлять пакеты вне очереди.Однако отправка пакетов с нарушением порядка значительно усложняет уровень MAC 802.11.

SIFS=D+M+Rx/Tx

Где,

D=(Задержка приемника (задержка RF) и декодирование преамбулы/заголовка процедуры конвергенции физического уровня (PLCP))

M=(задержка обработки MAC)

Rx/Tx=(время работы трансивера)

Прежде всего, невозможно избежать задержек, поэтому перед отправкой подтверждения необходимо подождать время SIFS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top