Быстрый краш-курс на 802,11:
802,11 является по существу гигантская система таймеров. В наиболее распространенных реализациях 802.11 используется распределенная координационная функция DCF. DCF позволяет узлам входить и выходить из диапазона радиоканала, используемого для 802.11, и координировать в распределенной форме, который должен отправлять и принимать данные (игнорируя проблемы скрытых и открытых узлов для этого обсуждения). Прежде чем какой-либо узел сможет начать отправлять данные по каналу, все они должны ждать период DIFS, в котором определено, что канал неактивен, если он неактивен в течение периода DIFS, первый узел, который должен захватить канал, начинает передавать. В стандарте 802.11, то есть не-802.11e-реализации и не 802.11n, каждый отдельный пакет данных, который передается, должен быть подтвержден физическим уровнем, PHY, пакетом подтверждения, независимо от используемого протокола верхнего уровня. После отправки пакета данных период времени SIFS истекает, после истечения SIFS управляющие кадры, предназначенные для узла, который «взял» управление каналом может быть отправлен, в этом случае и кадр подтверждения передается. SIFS позволяет узлу, который отправил пакет данных, переключиться с передачи в режим приема. Если пакет потерян и ACK не получен после истечения времени ожидания SIFS/ACK, вызывается экспоненциальное отключение. Экспоненциальное back-off, a.k.a конкурирующее окно (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 - это jumbo-frame, который имеет одну контрольную сумму для всего отправленного агрегированного пакета, внутри него много подкадров, которые содержат каждый из кадров данных, которые необходимо отправить. Если в кадре A-MSDU есть какая-либо ошибка, и ее необходимо повторно передать, то каждый подкадр должен быть повторно отправлен. Однако при использовании A-MPDU каждый подкадр имеет небольшой заголовок и контрольную сумму, которые позволяют любому подкадре, который имеет ошибку в нем, быть повторно переданным самим/в другом агрегированном фрейме, в следующий раз, когда отправляющие узлы получат канал , С помощью этих агрегированных схем отправки пакетов существует понятие block-ack. Блок-файл содержит растровое изображение кадров из начального порядкового номера, которые были просто отправлены в агрегированном пакете и получены правильно или неправильно. Использование агрегатной отправки кадров значительно повышает пропускную способность, так как большее количество данных может быть отправлено на каждый канал с помощью отправляющего узла, что также позволяет отправлять пакеты не по порядку. Однако отправка пакетов по заказу значительно усложняет уровень MAC-адресов 802.11.
Это, по-видимому, подтверждается ссылкой, которую я нашел: http://protocols.netlab.uky.edu/~calvert/classes/571/lectureslides/WiFi.pdf В заявлении, что «SIFS = время, необходимое для восприятия станции конец кадра и начало передачи ». – Omega
SIFS должен предоставить разработчикам аппаратного обеспечения ограничение времени, затрачиваемого на декодирование и проверку кадра. Это необходимо, потому что 802.11 первоначально был строго в порядке доставки, поэтому отправитель не может перейти к следующему пакету, пока он не будет иметь ACK для текущего или отказался. Чтобы получить разумную производительность, приемник должен иметь максимальное время оборота в ACK. –