В 2005 году к 802.11 был добавлен другой энергосберегающий механизм, автоматический переход в режим сохранения энергии (Automatic Power Save Delivery, APSD). Точка доступа буферизирует фреймы и посылает их клиенту сразу после того, как он передает ей фреймы. Клиент может перейти в спящий режим, пока у него нет большего количества трафика для отправки (и получения). Этот механизм хорошо работает, например, в IP-телефонии (VoIP), где трафик часто идет в обоих направлениях. Например, беспроводной IP-телефон мог бы использовать APSD, чтобы посылать и получать фреймы каждые 20 мс (это намного чаще, чем интервал маяка в 100 мс), а в промежутках находиться в спящем режиме.
Третья, и последняя, потребность, которую мы исследуем, — это QoS. При конфликте высокоскоростного однорангового трафика и VoIP-трафика из предыдущего примера пострадает последний. Он будет передаваться с задержками, даже при том, что требования к пропускной способности у IP-телефонии невелики. Эти задержки, вероятно, понизят качество голосовых вызовов. Чтобы предотвратить это, нужно предоставить трафику IP-телефонии более высокий приоритет.
В IEEE 802.11 есть умный механизм, обеспечивающий этот вид QoS. Он был введен в 2005 году как набор расширений под названием 802.11e. Он расширяет CSMA/CA с помощью точно определенных интервалов между фреймами. После отправки фрейма, прежде чем любая станция сможет начать передачу, требуется определенное количество времени простоя, чтобы проверить, что канал больше не занят. Эта уловка должна определить различные временные интервалы для разных видов фреймов.
На илл. 4.28 изображено пять интервалов. Интервал между регулярными фреймами данных называется DIFS (DCF InterFrame Spacing — межфреймовый интервал DCF). Любая станция может попытаться захватить канал, чтобы послать новый фрейм после того, как среда была неактивна для DIFS. При этом действуют обычные правила конкуренции, включая двоичную экспоненциальную выдержку в случае коллизии. Самый короткий интервал — это SIFS (Short InterFrame Interval — короткий межфреймовый интервал). Он используется для того, чтобы одна из сторон в диалоге могла получить шанс начать первой.
Например, можно разрешить получателю отправить ACK или другие последовательности фреймов управления, такие как RTS и CTS, или разрешить отправителю передать пакет фрагментов. Отправка следующего фрагмента только после ожидания SIFS препятствует вмешательству другой станции во время обмена данными.
Илл. 4.28. Межфреймовые интервалы в стандарте 802.11
Два интервала AIFS (Arbitration InterFrame Space — арбитражный межфреймовый интервал) представляют собой примеры двух различных уровней приоритета. Короткий интервал AIFS1 короче DIFS, но длиннее SIFS. Он может использоваться точкой доступа, чтобы переместить голос или другой приоритетный трафик в начало очереди. AP ждет более короткого интервала, прежде чем отправить голосовой трафик. Таким образом, она передает его раньше регулярного трафика. Длинный интервал AIFS4 больше, чем DIFS. Он используется для фонового трафика, который может быть задержан до окончания передачи регулярного. Прежде чем отправить этот трафик, AP ждет в течение более длинного интервала, позволяя сначала передать регулярный трафик. Полный механизм QoS определяет четыре приоритетных уровня с различными параметрами выдержки и времени ожидания.
Последний временной интервал называется EIFS (Extended InterFrame Spacing — расширенный межфреймовый интервал). Он используется только той станцией, которая только что получила поврежденный или неопознанный фрейм и хочет сообщить о проблеме. Идея в том, что приемник может не сразу понять, что происходит, и ему нужно выждать какое-то время, чтобы не прервать текущий диалог между станциями.
Еще одна составляющая расширений QoS — понятие возможности передачи (TXOP, transmission opportunity). Первоначальный механизм CSMA/CA позволял станциям посылать один фрейм за раз. Это всех устраивало, пока диапазон скоростей не увеличился. В 802.11a/g одна станция могла отправлять фреймы со скоростью 6 Мбит/с, а другая — 54 Мбит/с. Каждая из них передает один фрейм, но первой станции нужно для отправки в 9 раз больше времени (не считая фиксированных накладных расходов), чем второй. У этого неравенства есть неприятный побочный эффект замедления быстрого отправителя, который конкурирует с медленным отправителем, примерно до скорости последнего. Например, если станции работают по отдельности, их собственные скорости — 6 и 54 Мбит/с (снова без учета накладных расходов). Но работая вместе, они обе получают среднюю скорость 5,4 Мбит/с, что является большой неприятностью для быстрого отправителя. Эта проблема известна как аномалия скорости (rate anomaly) (Хойс и др.; Heusse et al., 2003).
При использовании TXOP все станции получают равное количество времени передачи, а не одинаковое число фреймов. Станции с более высокой скоростью в этом периоде работают с большей пропускной способностью. В нашем примере отправители, совместно работающие со скоростями 6 и 54 Мбит/с, теперь достигнут 3 и 27 Мбит/с соответственно.
4.4.4. Стандарт 802.11: структура фрейма
Стандарт 802.11 определяет три класса фреймов, передаваемых по радиоканалу: информационные (фреймы данных), служебные и управляющие. Все они имеют заголовки с множеством полей, используемых подуровнем MAC. Кроме того, существуют поля, предназначенные для физического уровня, но они в основном относятся к методам модуляции, поэтому здесь не представлены.
В качестве примера мы рассмотрим формат фрейма данных. Он показан на илл. 4.29. Вначале идет поле Frame Control (Управление фреймом). Оно содержит 11 вложенных полей. Первое — Protocol version (Версия протокола), установлено в 00 (2 бита). Именно оно позволит будущим версиям 802.11 работать одновременно в одной ячейке сети. Далее следует поле Type (Тип): информационный, служебный или управляющий; затем Subtype (Подтип) — например, RTS или CTS. Для обычного фрейма данных (без QoS) они установлены как бинарные 10 и 0000. Биты To DS (К DS) и From DS (От DS) говорят о направлении движения фрейма: в сеть или из сети, соединенной с точкой доступа; эта сеть называется распределительной. Поле More fragments (Дополнительные фрагменты) сообщает, что далее следует еще один фрагмент. Retry (Повтор) маркирует заново отправленный фрейм. Power management (Управление питанием) используется станцией-отправителем для указания на переход в режим пониженного энергопотребления или на выход из него. More data (Дополнительные данные) говорит о том, что у отправителя имеются еще фреймы для пересылки. Бит Protected Frame (Шифрование) является индикатором использования шифрования в теле фрейма в целях безопасности. Вопросы безопасности будут рассмотрены в следующем разделе. Наконец, установленный бит Order (Порядок) говорит приемнику о том, что фреймы с этим битом должны обрабатываться строго по порядку.
Илл. 4.29. Фрейм данных стандарта 802.11
Второе основное поле фрейма данных — Duration (Длительность). В нем задается время (в микросекундах), которое будет потрачено на передачу фрейма и подтверждения. Это поле присутствует во всех типах фреймов, в том числе в служебных, и именно в соответствии с ним станции выставляют признаки NAV.
Далее следуют адреса. Фрейм данных включает три адреса в формате, соответствующем стандарту IEEE 802. Очевидно, что сюда входят адреса отправителя и получателя, но что же содержится в третьем? Следует помнить, что точка доступа — это просто пункт ретрансляции фреймов, когда они движутся между клиентом и другой точкой сети, возможно, удаленным клиентом или интернет-порталом. Третий адрес указывает на эту удаленную конечную точку.
Поле Sequence (Последовательность) нумерует фрагменты, что позволяет выявлять дубликаты. Из 16 доступных битов 4 идентифицируют фрагмент, а 12 содержат число, которое растет с каждой новой передачей. В поле Data (Данные) находится передаваемая по каналу информация, его длина может достигать 2312 байт. Первые байты этой полезной нагрузки представлены в формате, известном как подуровень управления логическим соединением (Logical Link Control, LLC). LLC — связующий элемент, идентифицирующий протокол более высокого уровня (например, IP), которому нужно передать полезную нагрузку. В конце, как обычно, расположено поле Frame check sequence (Контрольная последовательность фрейма). Это такой же 32-битный CRC, который мы встречали в разделе 3.2.2.
Управляющие фреймы имеют тот же формат, что и информационные, но к нему добавляется еще один — для той части данных, которая меняется в зависимости от подтипа (например, параметры во фреймах-маяках). Служебные фреймы короткие. Как и во всех других фреймах, в них содержится Frame control, Duration и Frame check sequence. При этом они могут иметь только один адрес и не иметь поля Data. Ключевой здесь является информация, содержащаяся в поле Subtype (RTS, CTS или ACK).
4.4.5. Службы
Стандарт 802.11 определяет службы, чтобы клиенты, точки доступа и соединяющие их сети могли сформировать согласованную беспроводную LAN. Их можно разделить на несколько категорий.
Сопоставление и доставка данных
Служба сопоставления (association service) используется мобильными станциями для подключения к точкам доступа. Обычно она применяется сразу же после вхождения в зону действия AP. По прибытии станция узнает (либо от фреймов-маяков, либо напрямую у AP) идентификационную информацию и характеристики точки доступа (предоставляемая скорость передачи данных, меры безопасности, возможности энергосбережения, поддержка QoS и т.д.). Помимо этого, сообщения-маяки от AP содержат идентификатор набора служб (Service Set IDentifier, SSID). Многие думают, что это имя сети. Станция посылает запрос на сопоставление с точкой доступа, которая может принять или отвергнуть его. В то время как маяки рассылаются всегда, идентификаторы SSID могут не передаваться. Если идентификатор SSID не передается, то станция должна каким-то образом узнать (или обнаружить) имя, закрепленное за точкой