Привет!
Поговорим о том, что реально влияет на скорость передачи данных в современных беспроводных сетях, развенчаем пару мифов и ответим, пора ли поменять свой старенький роутер на сверкающего рогатого пришельца с MU-MIMO на борту.
Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).
Читаем надписи на коробках:
AP: 1733,3 Мбит/c
STA1, STA2: 866,7 Мбит/c
Внимание, вопрос. Оба клиента одновременно начинают загружать с сервера большой файл. На какую пропускную способность может рассчитывать каждое из устройств?
Сразу оговоримся — для простоты и наглядности мы будем называть пропускную способность (канальную скорость) просто
скоростью. Да,
скорость работы протоколов транспортного уровня может оказаться в два раза ниже, чем наша
скорость, но вы и так всё это знаете. Сейчас о другом.
Наша задачка призвана напомнить о главном ограничении беспроводных сетей.
Общая среда передачи (shared medium) подразумевает, что в единицу времени вещать должно только одно устройство.
Это обстоятельство приводит нас к контринтуитивному ответу: несмотря на то, что точка доступа способна поддерживать 1733,3 Мбит/c, каждое из устройств будет работать, в среднем, на скорости 433,3 Мбит/c.
Куда делись оставшиеся 866,7 Мбит/c? Давайте разбираться.
Для описания принципов работы беспроводных сетей удобно использовать метрику Airtime Utilization. Она показывает, какую часть времени эфир занят передачей данных.
Теперь — внимание! Для того, чтобы развить заявленные 1733,3 Мбит/c, устройство должно единолично занимать эфир все 100% времени. При этом второе устройство (принимающее) должно также поддерживать данную скорость.
Ещё раз подчеркнём — связь между устройствами, поддерживающими разные скорости, осуществляется на скорости наименее быстрого из пары.
Всё становится грустнее, если максимум устройства, например, 72,2 Мбит/c. Занять придётся те же самые 100% эфира, но результат уже совсем не впечатляющий.
К слову, 72,2 Мбит/c — скорость не случайная. Большинство современных смартфонов на большее могут не рассчитывать, но об этом позже.
Теперь вернёмся к STA1 и STA2. По условиям они начали загружать файл на сервер одновременно. Мы помним, что в единицу времени вещать может только одно устройство.
Координирует передачу в сети Wi-Fi механизм CSMA/CA — Carrier Sense Multiple Access with Collision Avoidance. Если вкратце, его задача — последовательно дать право голоса всем устройствам, при этом, по возможности, не допустив одновременной передачи от двух и более устройств (коллизии).
Можете почитать википедию, если хотите подробностей.
А лучше — это. Или — вот, если настроены совсем серьёзно.
Причём тут Airtime Utilization? А при том, что в итоге работы CSMA/CA для данного случая каждое из двух готовых к передаче клиентских устройств получит под свои нужды примерно половину эфирного времени — или 50% Airtime.
100% Airtime — 866,7 Мбит/c;
50% Airtime — 433,3 Мбит/c на каждое из устройств.
Эта картина не поменяется, даже если точка доступа будет поддерживать все 6933,3 Мбит/c. Связь между AP и STA всегда ограничена скоростью наименее быстрого из устройств.
Можете из любопытства слегка поиграться с условиями задачи:
Изменим скорость для STA2 — 72,2 Мбит/c;
Добавим STA3, скорость — 72,2 Мбит/c.
Что осталось от заявленных 1733,3 Мбит/c?
Важное уточнение №1
Справедливости ради добавим, что данные расчёты верны при включении на БС функционала Airtime Fairness, без него всё было бы гораздо хуже — медленные клиентские устройства привели бы к максимально неэффективному распределению Airtime. Хорошо, что технологию внедрили практически все уважающие себя вендоры.
Но и тут есть нюанс: Airtime Fairness работает только в Downlink (от AP к STA). В Uplink по-прежнему царит анархия.
Важное уточнение №2
В реальной сети из-за загруженности эфира, коллизий и особенностей работы протокола максимально достижимый уровень Airtime Utilization находится в пределах от 70% до 80%.
Соответствующим образом поменяется и рассчитанная нами скорость.
К чему столь долгая прелюдия? Знайте, какие клиентские устройства используются на вашей сети. Их влияние на производительность в условиях общей среды передачи данных критически недооценено. Далее будем разбираться — насколько.
Часть 1 — Во всём виноваты клиенты
Или клиентские устройства, если угодно. Чем же они провинились и что, собственно, отличает их от точек доступа?
Всё просто. Чаще всего клиенты — компактные, автономные и мобильные. Из этого вытекают все проблемы.
Стильный металлический корпус толщиной 7 мм? Для размещения 4-х радиотрактов MIMO лучше не придумаешь.
Многопоточная передача данных и широкие каналы слишком энергозатратны? Ничего, пусть заряжают устройства несколько раз в день.
Клиенты постоянно перемещаются? Ерунда — выкрутим мощность на точках на максимум.
В подобных условиях разработчики вынуждены идти на компромиссы.
Помните могучую точку доступа (1733 Мбит/c) из вступления к статье? Давайте пойдём ещё дальше. Стандарт 802.11ac позволяет нам разогнаться до внушительных 6933 Мбит/c.
Условия для этого следующие:
- 5 ГГц;
- 8 пространственных потоков (MIMO 8x8:8);
- 160 МГц — ширина канала;
- 256QAM — модуляция.
Соответствующие требованиям точки доступа на рынке представлены даже в потребительском сегменте. Что с клиентами?
Для наглядности проведём мысленный эксперимент: подключим к нашей абстрактной точке вполне конкретный смартфон — iPhone 8. Посмотрим, на что он способен.
2,4 ГГц vs 5 ГГц
Многолетние наблюдения подтверждают — устройств, работающих в «пятёрке», всё больше. И это прекрасно.
Единственное достоинство 2,4 ГГц — меньшее затухание — на сегодняшний день превратилось едва ли не в недостаток.
При проектировании плотных сетей одна из задач — борьба с интерференцией. Боремся, в том числе, за счёт изоляции зон покрытия AP друг от друга. В ход идут стены, занижается мощность на передатчике, и «дальнобойность» двойки здесь явно лишняя.
Так или иначе — будущее Wi-Fi за «пятёркой», если не рассматривать уж совсем узкие кейсы.
Статистика, тем не менее, не даёт однозначно достоверных данных по распределению устройств — слишком много переменных (страна, регион, локация, мероприятие и другие).
Пожалуй, на сегодняшний день можно осторожно говорить, что в России мы достигли соотношения 50/50 по поддержке в клиентских устройствах диапазона 5 ГГц.
Как будет в вашей сети — другой вопрос.
Наш воображаемый iPhone 8, кстати, «пятёрку» поддерживает, ну и хорошо.
MIMO
Возможность одновременно передавать несколько потоков данных в едином частотном канале появилась ещё в 802.11n. Однако, воз и ныне там:
- MIMO 8x8:8 клиенты пока не поддерживают. Совсем;
- Практически полное отсутствие клиентских устройств с MIMO 4x4:4 — смотри комментарий ниже;
- Топовые ноутбуки, поддерживающие MIMO 3x3:3;
- Топовые смартфоны и планшеты, поддерживающие MIMO 2x2:2;
- Абсолютное большинство устройств — SISO 1x1:1.
А всё потому, что технология MIMO очень требовательна:
MIMO, SISO — что это, вообще, такое? И что за цифры?
Клиентские устройства с MIMO 4x4:4 начали появляться на рынке совсем недавно. В основном это выделенные адаптеры Wi-Fi, но недавно нас ошарашил Samsung, заявив в описании к своему новому Galaxy Note 9 — MIMO 4x4. Очень некстати, ведь мы хотели написать, что мобильных устройств с подобными характеристиками на рынке пока нет.
В связи с этим — конкурс.
Условия
Как говорят — исключения подтверждают правило.
Устройств с MIMO 4x4:4 — практически нет. MIMO 3x3:3 — удел редких Macbook Pro. MIMO 2x2:2 — в топовых смартфонах и планшетах. Статистическое большинство — устройства, не поддерживающие MIMO.
Мы не будем как большинство. Наш iPhone 8 — топовый смартфон, поддерживающий передачу аж двух пространственных потоков.
Откуда мы это узнали — важный вопрос. Расскажем в последней части статьи.
Как мы помним, связь между устройствами, поддерживающими разные скорости, осуществляется на скорости наименее быстрого из пары.
Вжух — и осталось 1733,3 Мбит/c. Грустно. Но весело — это ведь почти два гигабита!
Математика
Ширина канала
802.11ac позволяет нам использовать каналы шириной в 160 МГц.
Пожалуйста, не делайте этого.
Более того, каналы в 80 МГц также категорически не рекомендованы к использованию.
Ещё раз:
Всё дело в том, что, расширяя полосу, мы, по сути, распахиваем ворота для интерференции всех мастей — портим эфир и себе, и соседям.
Мы не будем подробно разбирать, почему так происходит — это тянет на отдельную статью, однако можете самостоятельно ознакомиться с рекомендациями и Best practice guides ведущих вендоров — только 20 МГц, за редкими исключениями.
40 МГц допускается только в “пятёрке”, в случае, если плотность клиентов и обстановка в эфире позволяет.
Но мы ведь оптимисты — будем считать, что наша сеть именно такая.
Итак, от 1733,3 Мбит/c остаётся 400 Мбит/c — для канал шириной 40 МГц.
Математика
Ок, уже не так впечатляет, но всё равно неплохо, да?
P.S.: Если вы живёте в лесу и очень хорошо понимаете, что делаете — хорошо, включите 160 МГц. Не факт, что будет толк. Например, пресловутый iPhone 8 такую ширину канала не поддерживает, хотя выпущен всего год назад.
Читайте до конца, чтобы узнать, на что способно ваше устройство.
Модуляция
Любопытный факт: клиентские устройства — основные источники интерференции в сети.
К чему это? А к тому, что даже идеально спланированная и настроенная сеть не гарантирует работу на максимальных модуляциях, ведь 256QAM предъявляет очень высокие требования к качеству сигнала — RSSI и SNR.
Про RSSI мы ещё поговорим, а SNR напрямую страдает от клиентов со всенаправленными антеннами — таких мобильных и непредсказуемых. Ну, и не только от них, разумеется.
Как результат — рассчитывайте, что б
ольшую часть времени клиенты будут использовать менее требовательную модуляцию. Например, 64QAM.
В нашем эксперименте это безжалостно снижает скорость до 300 Мбит/c.
Математика
Что касается RSSI — то это наш любимый параметр. В стандарте 802.11 никаких описаний и требований к нему нет, поэтому каждый вендор видит данную метрику по-своему. Соответственно, разные клиентские устройства будут показывать разный RSSI в одном и том же месте.
Вы, кстати, по какому уровню планируете? -67 дБм? А для какого устройства?
Но и это ещё не всё
Подытог №1
Даже при весьма оптимистическом сценарии клиент получит всего 300 Мбит/c пропускной способности — вместо 6933 Мбит/c. И это в случае, если клиент всего один! Много таких сетей знаете?
Вспоминаем задачки. Чем больше клиентов — тем хуже. Не хотели расстраивать раньше времени, но зависимость нелинейная. С ростом числа устройств в сети увеличивается процент оверхеда.
Вот каким правилом предлагает пользоваться уважаемый Devin Akin в своей статье о реальной пропускной способности в Wi-Fi
Итог: производительность сильно зависит от подключенных клиентов. Скорее всего, их способности будут весьма ограниченными.
Оптимистичный сценарий —300 Мбит/c (5 ГГц, 40 МГц, 2SS, 64QAM).
Реалистичный сценарий — 72 Мбит/c (2,4 или 5 ГГц, 20 МГц, 1SS, 64QAM).
Часть 2 — Что ещё не так с клиентскими устройствами
Да, всё только начинается.
Можно выделить три крупных проблемы:
- Многообразие;
- Непредсказуeмость;
- Уязвимость.
Давайте разберём их подробнее.
Многообразие
Помните наш iPhone 8? Хороший телефон, кстати.
А знаете, что Apple перестала получать сертификацию Wi-Fi Alliance начиная с iPhone 6?
Можете проверить сами — информация открытая.. Заодно напишите в комментариях о других удивительных открытиях.
Что, собственно, за организация — Wi-Fi Alliance?
Ребята пытаются следить за порядком в зоопарке. Значок Wi-Fi Certified означает, что устройство было проверено на соответствие основным пунктам стандарта 802.11. Проверка ведётся в аккредитованных лабораториях, всё более-менее серьёзно.
Почему возникла подобная необходимость?
Для того, чтобы обеспечить совместимость миллионам разнообразных устройств, работающим на разных чипсетах и разработанных людьми, отличающимися разной степенью квалификации и моральными ориентирами.
Помогло?
Не очень. Как показывает практика, каждый вендор имеет своё уникальное видение и позволяет себе отступать от стандарта (из лучших побуждений, разумеется).
Один из забавных примеров — прошлогодний KRACK. Не все устройства были подвержены уязвимости, так как многие производители по-своему интерпретировали процедуру обмена ключами. В частности — как вести себя в случае отсутствия ответа на третье сообщение последовательности 4-Way Handshake. Почитайте подробнее, если интересно.
Что в итоге?
Зоопарк.
Проще всего, по понятным причинам, с Apple. Хотя они и не сертифицируют свои новинки, парк устройств всё-таки ограничен. Поэтому можно протестировать поведение в тех или иных сценариях.
Дальше идёт Android. Тут многое зависит от производителя, но в целом — ещё больше неизвестных. Добавьте сюда китайцев.
На этом идеи по классификации заканчиваются. Операционные системы, драйвера, legacy-устройства, мультиварки, дверные замки, камеры видеонаблюдения — BYOD и IoT во всей красе.
Проблема усугубляется тем, что многие критические решения клиентские устройства принимают самостоятельно, напрямую повлиять на них нельзя.
Подключиться к «пятёрке» или к «двойке»?
Произвести роуминг или остаться на старой AP?
На какой модуляции работать?
Об этом подробнее в следующей главе.
Непредсказуемость
Wi-Fi устроен так, что клиентские устройства стараются самостоятельно справиться с возникающими трудностями. Не всегда эти решения оптимальны.
Если устройству кажется, что лучше сидеть на шестом канале с уровнем -85 дБм, чем переподключиться к соседней точке с уровнем -50 дБм, работающей в свободной «пятёрке» — значит, так оно и будет.
Эффективных механизмов, позволяющих прямо управлять поведением клиентских устройств, нет. В этом отличие, например, от сотовой связи.
Вы возразите — а как же 802.11k (Radio resource measurement enchancements) и 802.11v (Wireless network management), принятые в 2008 и 2011 году соответственно?
Данные стандарты теоретически направлены на решение проблемы. Практически — ничего не работает.
Да, точка может отправить Load Balancing Request — вежливо попросить клиента произвести роуминг. Удовлетворять данную просьбу никто не обязан. Более того, клиентов, поддерживающих 802.11k и v, до сих пор мало.
Основное применение описанных выше стандартов — помощь в быстром роуминге механизму 802.11r (Fast BSS transition). Клиент получает список ближайших AP, на которые ему стоило бы переподключиться — и уже дальше сумасбродное устройство решает, что для него лучше.
О роуминг сломано немало копий, хорошие статьи можно найти здесь, на Хабре.
Раз. Два.
Есть ещё монументальное (но незавершённое) исследование прекрасного Andrew von Nagy —
три.
Повторяться не будем, просто ещё раз подчеркнём: переключение между AP — на совести клиента. От этого и большинство проблем.
Вендоры пытаются бороться с самостоятельностью клиентов. Стандартные средства не помогают, поэтому в ход идут ухищрения. Это прямо как в книжках по бизнесу: не пытайся переубедить — сделай так, чтобы клиент сам пришёл к нужному выбору.
Так, например, работает Band Steering (механизм перевода клиентов из «двойки» в более свободную «пятёрку»):
- Устройство пытается подключиться к сети. Скорее всего, это будем именно 2,4 ГГц: драйверу устройства кажется, что так будет лучше — смотри, какой сильный сигнал!
- AP проверяет, поддерживает ли устройство 5 ГГц. Умная система постоянно ведёт учёт всех MAC-адресов, с которых рассылались запросы или производилось подключение к «пятёрке» ранее;
- DualBand-клиенты (поддерживающие оба диапазона) просто не получают ответа на свой запрос в диапазоне 2,4 ГГц;
- Так происходит несколько раз подряд, и в итоге разочарованный драйвер решает искать лучшей доли в другом диапазоне;
- Вуаля!
К сожалению, некоторые устройства очень упорны. Убеждение не действует, и они продолжают цепляться к выбранному диапазону, пока точка не сдастся и не подтвердит подключение.
Сдаться придётся, ведь иначе можно нарваться на неожиданный эффект — отвергнутый и раздосадованный клиент просто помечает данный SSID как ненадёжный и перестаёт автоматически подключаться к сети (раньше за подобным поведением были замечены устройства Apple, к примеру).
Список можно продолжать бесконечно:
- Неожиданный и очень крепкий сон (особенности реализации PowerSave);
- Работа на модуляциях, явно не соответствующих условиям эфира;
- Самовольная раскраска трафика (QoS);
- Специфическая отработка сценариев на порталах авторизации (были проблемы при подключении к Wi-Fi в общественных местах?).
Зафиксируем: напрямую управлять решениями драйверов клиентских устройств невозможно. Существующие механизмы позволяют лишь косвенно мотивировать клиентов к совершению нужного выбора. Клиент прав не всегда, но его это не волнует.
Уязвимость
Как известно, безопасность системы в целом находится на уровне самого слабого из её элементов. В правильно настроенной беспроводной сети таким элементом неизбежно становится клиентское устройство. В чём проблема?
- Отсутствуют либо ограничены ресурсы для контроля и противодействия подозрительной активности;
- Обновления политик безопасности недоступны, либо появляются с опозданием;
- Производители выполняют требования стандарта избирательно, отсутствует универсальность;
- Legacy-устройства не соответствуют современным требованиям безопасности;
- У администраторов нет контроля за клиентскими устройствами;
- Люди — пользователи устройств — уязвимы для социальной инженерии.
Ниже примеры решений, применяющихся в корпоративных сетях:
- Запрет BYOD. Сотрудникам выдаются устройства с предустановленным ПО, политиками безопасности управляет администратор;
- MDM (Mobile Device Management), NAC (Network Access Control) и прочие решения, позволяющие, с разной степенью эффективности, контролировать устройства клиентов. Можно, например, удалённо запретить использование камеры на смартфоне.
Обычные пользователи проблемами безопасности зачастую пренебрегают вовсе.
Тема безопасности беспроводных сетей обширна. В данной статье мы ограничимся тем, что основной вектор атаки киберпреступников — так называемый low hanging fruit. Чаще всего таким фруктом становится клиентское устройство.
Зачем пытаться напрямую влезть в защищённую сеть, если достаточно получить доступ к смартфону сотрудника, который из гордости не устанавливает обновления на свою ОС?
Подытог №2
Перечисленные проблемы (многообразие, непредсказуемость и уязвимость клиентских устройств) бросают проектировщикам и администраторам беспроводных сетей серьёзный вызов.
Идеальное планирование, полноценное радиообследование и качественный монтаж не гарантируют стабильную работу сети.
Знать, какими устройствами пользуются абоненты, действительно, важно. Остаётся понять, какими характеристиками обладает то или иное устройство.
Неожиданно — это не самая простая задача.
Часть 3 — Производители что-то скрывают
Способ 1. Логичный
Казалось бы, что может быть проще — заходим на сайт производителя и смотрим на детальные спецификации устройств.
Попробуем на примере привычного iPhone 8:
На сайте Apple.
802.11ac Wi-Fi with MIMO… Не очень-то информативно. Сколько пространственных потоков? Какая максимальная ширина канала? Есть ли поддержка 802.11r, k, v? MU-MIMO?
Samsung делится информацией о своём Galaxy S9 несколько охотнее:
На сайте Samsung.
Даже если отбросить загадочную модуляцию 1024QAM (официально она появится только в 802.11ax), мы по-прежнему знаем об устройстве слишком мало.
Степень открытости производителей варьируется в широких пределах — есть и приятные исключения. В основном же во внутреннюю кухню никого не пускают (снова ради нашей пользы, разумеется), ведь многие знания — многие печали.
С этим согласны не все.
Способ 2. Практичный
Недовольные пользователи уже давно ведут собственные базы, куда заносят добытые характеристики устройств.
Яркий пример — сайт уважаемого Mike Albano.
Здесь можно найти следующую информацию:
- Список доступных устройству каналов;
- Поддерживаемые стандарты;
- Количество пространственных потоков;
- Поддержка MU-MIMO;
- Максимальная мощность передатчика.
Доверять или нет данной информации — дело каждого.
Любой неравнодушный может внести свою лепту, поделившись с общественностью результатами своих изысканий. Инструкция — в разделе How To Contribute. Из данной инструкции можно узнать, что вся интересующая нас информация содержится во фрейме Association Request, отправляемом клиентским устройством при подключении к AP.
Способ 3. Для гиков
Всё, что нужно — это перехватить обмен сообщениями между абонентом и AP, сопутствующий первоначальному установлению соединения. Данный трафик не шифруется, однако сложности возникнуть могут — не все Wi-Fi адаптеры позволяют «сниффать» 802.11-фреймы. Операционные системы также могут в разной степени облегчить, либо усложнить задачу.
Тема великолепно гуглится, поэтому ссылок давать не будем.
Счастливчики смогут наблюдать следующую картину:
Тут есть всё, друзья.
Из любопытного — тот самый, уже надоевший, iPhone 8 не поддерживает MU-MIMO. Но не будем портить вам удовольствие.
Кстати, готовые PCAP-файлы, полученные пользователями, можно скачать на том же самом clients.mikealbano.com
Способ 4. Бонусный
Есть ещё один замечательный способ узнать всю подноготную устройства. Что примечательно — без регистрации и SMS.
Все продаваемые на территории США устройства обязаны получить сертификацию от FCC — Federal Communications Commission (Федеральная Комиссия по Связи). В результате устройству присваивается FCC ID — уникальный номер, через который можно получить огромный объём информации прямо на сайте FCC.
Сам код (FCC ID) часто можно найти на устройстве, либо на коробке от него. В крайнем случае, поможет интернет.
Код состоит из двух частей: Grantee Code и Product Code. Вводите, как на картинке:
Мы получаем доступ к обширному архиву документов с данными, использованными во время сертификации. Доступны даже внутренние фотографии устройства — в некоторых случаях можно даже разглядеть модели чипов.
Обратите особое внимание на файл SAR Report — на основании данного отчёта можно не только определиться с толщиной шапочки из фольги, но и получить подробную информацию о характеристиках устройства. Бинго!
Подытог №3
Производители не спешат раскрывать полную информацию о характеристиках клиентских устройств. Тем не менее, благодаря активности сообщества, открытым источникам и собственной настойчивости, можно получить все необходимые данные.
Заключение
Зачем же знать, каким телефоном пользуется сотрудник? И пора ли менять свой старенький роутер?
Разумеется, всё зависит от задач. Если вы хотите строить надёжные и предсказуемые сети — отмахнуться от клиентского оборудования не получится. Учитывайте его особенности при планировании и обслуживании — будете вознаграждены снижением расходов и ростом удовлетворённости пользователей.
Всё сказанное не отменяет необходимости в использовании качественных точек доступа: многие наработки ведущих вендоров действительно эффективны — читайте наш блог, чтобы быть в курсе.
И ещё раз — учитывайте характеристики клиентов, чтобы тратить деньги на работающие решения.
Надеемся, что эта статья вам поможет.
Удачи!
Автор: Леонид Теканов, инженер беспроводного отдела CompTek.Презентация по мотивам статьи прошла 25.10.2018 на нашей ежегодной конференции «БЕСЕДА». Не пропустите следующую.
Комментарии