Методы увеличения производительности в беспроводных сетях Wi-Fi, часть первая: Bursting, Compression, Fast Frames, Concatenation
Практически во всех выпускаемых ныне беспроводных адаптерах стандарта 802.11g можно встретить суффиксы "super G", "turbo", "plus" и т.д. Причем суффиксами дело обычно не ограничиваются. Производители (точнее их маркетологи) красочно рисуют на коробках цифры 108, а некоторые - аж 125 Мбит/сек.
125 - звучит заманчиво. Неужели беспроводные адаптеры работают быстрее старого доброго Fast Ethernet по проводам? Может ну их... в баню, эти "древние" Fast Ethernet адаптеры? Выкидываем надоевшие кабели и да здравствует радиоезернет? :)
Но, как говорится, семь раз отмерь, один - отрежь. Что в нашем случае означает, что не мешало бы поподробнее узнать, что же это за такие загадочные технологии, как они работают и какие на самом деле скорости обеспечивают (и самое главное - при каких условиях). Другими словами, не забываем анекдот про физиков и из сферических коней в вакууме. А так же делаем скидку маркетологам на то, что для них важнее всего - продать решения своей компании.
Различных вариантов "разгона" стандартного 802.11g существует довольно много. Точнее - у каждого производителя чипов оно свое (по крайней мере - называется по-разному). К сожалению, не все производители объясняют, что именно представляют из себя их технологии. Информацию по технологиям мне удалось найти лишь у компании
Atheros и Texas Instruments. Но наиболее информативный ресурс оказался у Atheros - у них даже есть отдельный сайт, посвященный их технологиям Super G и Super AG.
Собственно, бОльшая часть статьи - это компиляция информации с сайтов Atheros и Texas Instruments и по мелочи - из других источников.
Переходим непосредственно к технологиям.
Для начала посмотрим на "чистый" 802.11g. Максимальная пропускная способность в этом режиме - 54 Мбит/сек. Думаю, большинство читателей знает, как перевести мегабиты в мегабайты? Правильно - делим мегабиты на восемь и получаем скорость 6.75 Мбайт/сек.
Но внимательные читатели (кто смотрит в статьях не только предисловие и выводы, а иногда пробегается, хотя бы одним глазом, по диаграммам замера скоростей) знают, что в обычном 802.11g режиме скоростей более ~25 Мбит мы не получали. Так это же только половина от 54 Мбит! Куда делась вторая половина? Куда - это тема отдельной статьи, отмечу лишь, что на пользовательские данные действительно приходится примерно половина (в лучшем случае) пропускной способности канала.
Это первая плохая новость. Есть и вторая. Радиоволны (собственно, с помощью них и передается информация в беспроводных сетях) передаются во все стороны от источника сигнала (рассматриваем общий случай). Т.е. передающего слышат все. Эти "все" могут принимать данные или не принимать, это не важно. Главное - они не могут в этот момент что-либо передавать на той же частоте. Точнее говоря, попытаться то они могут, но сигналы обоих источников наложатся друг на друга, в результате чего информационная составляющая будет искажена и потеряна. Другими словами, в беспроводных сетях одновременно может передавать только один источник из нескольких, работающих на одной и той же частоте. Т.е. принцип рации - сначала говорим, потом молчим и слушаем.
Таким образом, щедро выделенные нам ~25 Мбит делятся на всех участников беспроводной сети. Если количество клиентов составляет 5 хостов, то в момент интенсивной передачи данных с каждого, на одного придется канал пропускной способностью примерно 5 Мбит (а на самом деле даже чуть меньше).
Есть и третья плохая новость. Вторая "плохая новость" насчет "5 Мбит на 5 хостов" верна лишь в случае Ad Hoc сети, т.е. без точки доступа. Если брать более общий случай с точкой доступа, то эти жалкие 5 мбит придется поделить еще на два. Ведь в Infrastructure режиме беспроводной сети (с участием точки доступа) любой обмен с клиентами проходит через точку доступа. А она сначала должна принять данные, а потом ретранслировать их к получателю. В результате получаем по 2 с хвостиком мегабита на брата.
Теперь вернемся к цифрам 108 и 125, которые так любят крупным шрифтом рисовать на коробках производители. Ну, вы уже все поняли, да? :)
Смело делим на два (про сферического коня чуть позже). Получаем максимум 60мбит в случае одного клиента и соответственно в n-цать раз меньше, в случае N клиентов.
Для тех, кому надо было лишь выяснить, пора ли выкидывать провода или "еще погодить", дальнейшую часть статьи можно не читать. Ответ - выкидывать пока рано. Как минимум, надо дождаться WiMAX.
Теперь перейдем к более детальному рассмотрению рассмотрению технологий увеличения пропускной способности беспроводных сетей по сравнению со стандартным 802.11g режимом.
Полагаю, у всех производителей все их плюсы, турбо и т.д. представляют собой то же самое, что и у Atheros с TI, но с другим названием. Но детали реализаций могут различаться, поэтому не факт, что технологии различных производителей совместимы друг с другом.
Технология Atheros для 802.11g носит название Super G (есть еще одна - Super AG, это тоже самое, но для стандарта 802.11a, т.е. для сетей на 5 ГГц). Atheros Super G позволяет увеличить пропускную способность до 108 Мбит/сек. И, как честно заявляет Atheros, для пользователя скорость может достигать 60 Мбит.
Увеличение производительности достигается несколькими способами:
Atheros Super G / Super AG технологии:
Технология | Краткое описание | Плюсы |
Bursting |
- посылка большего количества кадров за тот же временной интервал
|
- увеличение пропускной способности за счет удаления части накладных расходов
|
Compression |
- компрессия данных в реальном времени
- Lempel Ziv компрессия
|
- увеличение пропускной способности за счет предварительного сжатия информации
- центральный процессор компьютера не задействуется
|
Fast Frames |
- агрегация (объединение) кадров (размер кадров до 3000 байт) и манипуляции с временными интервалами
|
- увеличение пропускной способности за счет передачи большего количества данных в одном кадре и удаления межкадровых временнЫх пауз
|
Dynamic Turbo |
- технология, аналогичная транкингу в ethernet-сетях, т.е. задействование одновременно двух каналов для передачи
- постоянный мониторинг окружения и подстройка скорости под текущие нужды
|
- максимальное увеличение пропускной способности за счет использования нескольких (двух) каналов передачи одновременно
|
У себя на сайте Atheros приводит красочную диаграмму, показывающую влияния различных технологий на скорость передачи данных:
рис.1, влияние различных технологий на производительность беспроводной связи
В базовом режиме 802.11g или 802.11a, в котором все расширенные технологии отключены, можно получить скорость до 22 Мбит (чистых, т.е. доступных пользователю). Добавляя технологии, которые возможно будут в будущем стандарте 802.11e (Bursting, Fast Frames, Compression), можно увеличить скорость до 40 Мбит включительно. Активируя Dynamic Turbo режим, т.е. задействуя два канала под передачу данных, можно довести скорость до теоретического максимума в 60 Мбит.
Разумеется, приведенные цифры - это лишь максимально возможная скорость в данном режиме работы (тот самый сферический конь в вакууме). В реальности все будет зависеть от таких условий, как удаленность клиента от точки доступа, количество одновременно работающих клиентов, радиообстановка в месте, где расположена беспроводная сеть и так далее.
У Texas Instruments технологии повышения производительности носят название G-Plus. Часть из них похожа на технологии Atheros, часть - присуще только TI.
Texas Instruments G-Plus технологии:
Технология |
Краткое описание |
Плюсы |
Frame Concatenation |
- объединение данных из нескольких пакетов - в один (размер пакета - до 4000 байт)
|
- увеличение пропускной способности за счет удаления служебной информации заголовков "лишних" кадров и удаления времени межкадрового ожидания
|
Packet Bursting |
- аналогично технологии от Atheros
|
- аналогично технологии от Atheros
|
Подробно остановимся на каждой из перечисленных технологий - bursting, compression, fast frames, dynamic turbo. Примечательно то, что все четыре технологии работают независимо друг от друга, тем самым добиваясь максимально возможной производительности одновременно несколькими способами.
1. Bursting.
Frame Bursting - технология, заложенная в предварительный вариант стандарта 802.11e QoS. Frame Bursting позволяет увеличивать пропускную способность линка при обмене (точка-точка) между 802.11a, b или g устройствами за счет уменьшения накладных расходов, возникающих при передаче данных в беспроводных сетях. Причем хорошие результаты достигаются как в гомогенных (однородных), так и в смешанных беспроводных сетях.
На рисунке 2 приведен пример стандартной передачи (without bursting).
рис.2, стандартный режим 802.11a/b/g
В режиме стандартной передачи данных мы наблюдаем процесс передачи двух кадров (frame1 и frame2) во времени от источника Source к получателю Destination. Процесс передачи данных поделен на временные интервалы (по оси X - ось времени). Так как в любой момент времени передавать может лишь один источник, то каждая станция слушает эфир в течении времени DIFS (Distributed InterFrame Space), если она не услышала передачи другой станции, значит эфир свободен, можно передавать кадр. После передачи кадра (frame1), станция-передатчик ждет подтверждения об успешном приеме от получателя. Получатель обязан отослать подтверждение (ack), которое он отсылает практически сразу, после ожидания короткого промежутка времени SIFS - Short InterFrame Space (если подтверждения не было, то получатель считает, что кадр не был принят и должен перепослать его заново). После получения подтверждения передатчик опять обязан выждать интервал времени DIFS и только потом (если эфир по-прежнему свободен) начать отсылку второго кадра frame2. И так далее.
Таким образом, кадры ожидания DIFS отнимают достаточно существенную часть пропускной способности беспроводной сети.
Теперь посмотрим на картину передачи при использовании технологии Frame Bursting:
рис.3, задействование Frame Bursting
В этом режиме (рисунок 3), источник и получатель монопольно [по очереди] занимают канал под свою передачу. После передачи кадра frame1 и получения подтверждения об успешном приеме оного, передатчик не ждет положенный интервал времени DIFS. Передатчик выжидает лишь короткий временной интервал SIFS, после чего передает второй кадр данных и так далее. Тем самым, передатчик не дает возможности начать передачу другим станциям - им приходится ожидать окончания общего периода такой burst-передачи.
Разумеется, общий интервал передачи данных в таком режиме ограничен (а то передача нескольких гигабайтов данных полностью бы парализовала работу остальных клиентов той же беспроводной сети). Но удаление интервала DIFS позволяет за тот же период времени передать существенно бОльшее количество данных, тем самым экономя пропускную способность канала, т.е. увеличивая общую скорость передачи данных.
Atheros заявляет, что все ее продукты данную технологию поддерживают. Но очевидно, что устройства других производителей, в которых эта технология не встроена, могут и не понять такой "разрывной" режим работы. Поэтому, если подтверждение на посланный в начале burst-режима пакет не получено получателем, передатчик отключает bursting и переходит в базовый режим работы.
Реализация Bursting у TI аналогична технологии Atheros. TI приводит следующую картинку, иллюстрирующую работу их технологии (рис 4):
рис.4, Frame Bursting от Texas Instuments
TI тоже удаляют "длинный" временной фрейм ожидания, тем самым сокращая накладные расходу на передачу.
Информация о совместимости burst-технологий в реализациях от TI и Atheros на сайтах обеих компний отсутствует.
Подобная "bursing" технология, вероятно, присутствует и у других производителей. Но Atheros пошла дальше и расширила ее до "dynamic bursting". По ее заверениям, эта технология особенно эффектна в сетях с количеством работающих беспроводных клиентов больше единицы.
К примеру, в беспроводной сети две станции, одна расположена близко к точке доступа, другая удалена от нее. Разумеется, дальний клиент работает с точкой доступа на более низкой скорости (из-за расстояния). Поэтому для передачи данных определенного размера (для ближайшего клиента) ему потребуется больше времени, чем ближайшему - для приема этих данных. В этом случае активация bursting для дальней станции позволит ей сократить время передачи порции данных и, как ни странно, это же позволит ближайшей станции еще быстрее эти данные принять (так как она меньше будет ожидать на линии освобождения эфира). Интервалы, на которые клиенты могут занять эфир "burst"-передачей, также зависят от удаленности (точнее, скорости работы) клиентов. Ближайший клиент получит грант на более длинную burst-передачу, так как за единицу времени он передает больше данных (и быстрее освободит эфир).
Atheros Compression technology.
Вторая технология от Atheros, расширяющая стандарт 802.11 - аппаратная компрессия данных. Она встроена во все 802.11a,b,g чипсеты компании. Используемый алгоритм - Lempel Ziv. Этот же алгоритм используется в архиваторах gzip, pkzip, winzip. Данные "на лету" упаковываются перед пересылкой и распаковываются на принимающей стороне.
К сожалению, данные предварительно не анализируются, а сжимаются все кадры подряд. Тем самым, выигрыш достигается не всегда - например, пересылка уже упакованного файла может увеличить размер передаваемых по беспроводной сети данных.
С другой стороны, хорошо подверженные компрессии данные будут переданы кадрами меньшего размера, тем самым передатчик займет меньше эфирного времени на свою передачу. Это время может быть использовано для работы других беспроводных клиентов.
Atheros Fast Frames.
Технология Fast Frames предлагает слияние двух кадров в один, большего размера. Тем самым, мы избавляемся от служебной информации (в заголовке второго пакета - остается лишь один заголовок нового кадра) и временных пауз ожидания между кадрами:
рис.5, обычная передача данных
рис.6, Fast Frames активна
Причем размер полученного кадра-фрейма может достигать 3000 байт, что в два раза больше максимального размера кадра стандартного ethernet-пакета. Таким образом, даже если идет поток данных из проводной сети с пакетами максимального (1500 байт) размера, технология Fast Frames все равно будет работать, объединяя каждые два ethernet-пакета в один бОльшего размера. Как только FastFrames-алгоритм будет согласован между точкой доступа и станцией, все дальнейшие пересылки данных между этими двумя устройствами будут происходить с использованием таких, увеличенных вплоть до 3000 байт, кадров.
С учетом того, что Fast Frames может работать совместно с Frame Bursting, мы получаем очень неплохие результаты по скорости передачи. Кстати говоря, как заявляет Atheros, большинство производителей, реализовавших в своих чипах технологию Frame Bursting, тем не менее, не поддерживают Fast Frames. У Atheros тут все впорядке - их продукты держат и то и другое.
Технология Fast Frames - тоже часть черновой версии стандарта 802.11e. Тем не менее, ее совместимость с продуктами других производителей не гарантируется. С другой стороны, технология работает в рамках стандартных временных интервалов (в отличии от Frame Bursting, которая монопольно занимает полосу на некоторое время). Именно поэтому Fast Frames лучше вписывается в беспроводные сети, где используется оборудования различных производителей.
Texas Instruments Frame Concatenation
Технология Frame Concatenation, реализованная в продуктах компании Texas Instruments, использует те же принципы, что и Fast Frames у Atheros.
Но TI пошли дальше. У них объединению подвергаются два и более кадров (рисунок 7):
рис.7, технология Frame Concatenation
Тем самым, они выигрывают на удалении служебной информации и межкадровых интервалов ожидания от одного и более кадров. TI заявляет, что их технология Frame Concatenation будет работать с любыми 802.11b/b+/g продуктами от TI и (!)других производителей. Не совсем ясно, что они имели ввиду под другими производителями, если у последних поддержка этой технологии не будет реализована... Возможо имелась ввиду работа с кадрами, размер которых не превышал стандартного (1500 байт) размера.
В технологию Frame Concatenation заложен алгоритм, позволяющий упаковывать в мега-кадры не все пакеты подряд. Например, если в очереди отправки на заданное направление находится лишь один кадр, то он будет отослан незамедлительно. Другими словами, сливаться будут лишь те кадры, у которых одинаковый адрес получателя (destination address, в данном случае имеется ввиду MAC адрес получателя). Причем, алгоритм действует только на unicast-пакеты - широковещательные (multicast), а так же служебные пакеты отсылаются без изменений.
На данный момент, максимальный размер Concatenation-пакета может достигать 4096 байт (что косвенно говорит о том, что эта технология не совместима с подобной же технологией от Atheros).
Заключение.
Как видно, производители не дожидаются официального объявления стандартов (в данном случае 802.11e), а интегрируют новые технологии в свои продукты. В результате, с одной стороны, достигаются неплохие результаты в виде увеличения скорости, с другой - технологии различных производителей часто оказываются несовместимы друг с другом.
Не рассмотренной осталась технология агрегирования каналов у Atheros (Dynamic Turbo). Про нее - во второй части статьи.
А если к тому времени найдутся документы, описывающие реализации super/plus/etc технологий у других производителей беспроводных решений (или мне подскажут ссылки них в форуме (ссылка чуть ниже)), то обзор этих технологий также будет добавлен во вторую часть статьи.