Хай живе Wi-Fi позиціонування в Enterprise

Wi-Fi позиціонування не працює взагалі? Зовсім ні!


Мої колеги після прочитання попередньої статті «Чому не злітає позиціонування на основі Wi-Fi» вирішили, що воно взагалі не працює і з ним не варто зв'язуватися. Це зовсім не так!

У цій статті я хочу розповісти, як працює позиціонування в умовах корпоративної Wi-Fi мережі, яка побудована за вимогами передачі даних і голосу (але не для позиціонування).

Wi-Fi позиціонування «до кімнати»

Так, Wi-Fi не так вже й добре пристосована до позиціонування: численні перевідображення, перешкоди та багато іншого. А коли починаєш додавати інструменти, що підвищують точність, цінник починає стрімко зростати!

Але, припустимо, Wi-Fi у Замовника вже є, він не готовий витрачатися на окрему інфраструктуру для сервісу позиціонування (розставляти окремі сенсори, роздавати мітки) і навіть не хоче модернізувати існуючу Wi-Fi мережу, призначену для передачі даних (збільшувати кількість точок доступу (далі МД), розставляти їх по периметру, ставити модулі моніторингу).

На що Замовник може розраховувати? З високою часткою ймовірності він може розраховувати на точність «до кімнати». Під точністю «до кімнати» в даному випадку я розумію діапазон в межах 10 метрів.

Збільшити точність позиціонування можливо, але вимагатиме зусиль і грошей (що, втім, не всіх зупиняє).

Хай живе Wi-Fi позиціонування в Enterprise!

Кому взагалі може знадобитися Wi-Fi позиціонування з точністю «до кімнати»? Можливо це тільки іграшка адміністратора? Цієї точності недостатньо для роботи з повідомленнями, що спливають на смартфоні при перетині віртуального кордону.

Моя думка, що основний драйвер покупки Wi-Fi позиціонування «до кімнати» - це робота в зв'язці з бездротовою системою виявлення і запобігання вторгнень (wIPS) або в зв'язці з системою моніторингу.

Для системи wIPS цей сервіс, я вважаю, необхідний і, по-хорошому, повинен бути її складовою частиною (що найчастіше і зустрічається). Для системи моніторингу це так само досить важливий сервіс, що допомагає отримати уявлення про місце розташування перешкод, кількість і місцезнаходження своїх і сторонніх клієнтів, зокрема, для усунення несправностей.

У зв'язку з цим я вважаю, що поряд з системою моніторингу і wIPS в будь-якій Wi-Fi мережі корпоративного класу повинен бути присутнім сервіс позиціонування.

Це нам треба розщедритися на Cisco Hyperlocation або інші дорогі рішення?

Перед тим, як переходити до аналізу складних і дорогих рішень, типу Cisco Hyperlocation, варто оцінити, як працює стандартне Wi-Fi позиціонування. Під «стандартним» в даному випадку я розумію найпоширеніший варіант: коли беруть звичайну Wi-Fi мережу для передачі даних (і/або голосу) і додають один недорогий сервер для прорахунку позиціонування (без додавання модулів моніторингу, антен, переміщення точок).

Найкращий стенд - це робоча мережа!

Розгляньмо фрагмент мережі одного з моїх замовників.

Мережа будувалася за вимогами передачі даних і голосу, але не позиціонування. Пілотною зоною я взяв частину поверху. Нижче представлений план приміщення пілотної зони з нанесеними точками доступу та орієнтовними розмірами.

Обладнання пілотної зони бездротової мережі:

- контролер бездротового доступу Cisco WLC (далі WLC);

- офісні точки доступу без додаткових додатків Cisco Aironet;

- система керування Cisco Prime Infrastructure (далі PI).

- смартфон Android 4.4.4

Що було додатково встановлено для того, щоб з'явився сервіс позиціонування:

- Cisco CMX 10 (далі CMX).

Наскільки наша мережа «звичайна»

«Звичайна Wi-Fi мережа» - поняття розтяжуване. Тому я покажу (не без гордості) результати проведеного радіообстеження в пілотній зоні, а ви вже будете вирішувати, наскільки воно прийнятне. Вимірювання проводилися в обох діапазонах (2.4ГГц і 5ГГц) за рівнем в -67dBm і SNR 25. Нижче наведу малюнок одного заміру в діапазоні 5ГГц з кордоном за рівнем -67dBm.

На навантаженій мережі тест продуктивності (за допомогою програми iperf) показав близько 50-80Мбіт/с в діапазоні 5ГГц в середині робочого дня під великим навантаженням.

Параметри CMX

Оскільки плани приміщень разом з розташуванням точок доступу вже були заведені в PI, то мені потрібно було тільки розгорнути віртуальну машину CMX і імпортувати в нього карти разом з розташуванням ТД і даними про загасання стін.

Зі стінами є невеликий нюанс. Імпортуються лише товсті стіни (heavy walls, вони ж thick walls, 13dB). Я змалював товсті стіни тільки по периметру будівлі, оскільки в нашому офісі всі стіни всередині будівлі не підпадають під визначення «товсті».

Можна ще вказувати жорстко зону, де можуть і де не можуть перебувати клієнти (для того, щоб виключити клієнтів у повітрі за вікном другого поверху наприклад, крім того це може істотно поліпшити точність, як у моєму випадку), але я вирішив цього не робити, щоб оцінити, як CMX відпрацює в цій ситуації товсті стіни, промальовані по периметру.

Щоб обмежити кількість показаних пристроїв, я налаштував фільтр:

- Відображаються лише підключені пристрої (тобто сторонні клієнти взагалі не відображаються);

- Відображаються лише пристрої з рівнем сигналу -85dBm і більше.

Для тестів я залишив відображення інтерференції та міток.

Стендові випробування

Вимірювання точності розташування

У PI є такий цікавий інструмент (Inspect Location Readiness), який досить прямолінійно, без будь-яких вимірювань, відображає зону, «готову» для позиціонування. Виглядає вона приблизно так:

Зрозуміло, що цю інформацію можна тільки брати до відома, але ґрунтуватися на ній не можна. У CMX є вбудована функція вимірювання точності позиціонування (location accuracy test), яка вже заміряє фактичну точність позиціонування: на плані приміщення вказується реальне місце бездротового Wi-Fi клієнта (далі Клієнт) і CMX документує дані власних замірів, вираховує точність. Для вимірювання точності позиціонування я використовував власний смартфон. Я заздалегідь вибрав близько 5 точок в пілотній зоні (за межами периметра ТД, між ТД, в коридорі і т. д.). У кожній точці я домагався, щоб CMX зробив не менше п'яти замірів. Нижче результат, який я отримав для пілотної зони:

Основні моменти:

- Точність позиціонування у всіх точках була в межах 10 метрів (у 99,2% випадків);

- Середня точність позиціонування - 4.21 метра;

- Точність позиціонування в 50% випадків становила до 3.85 метра.

Можна спробувати порівняти ці результати з офіційним керівництвом Cisco по Wi-Fi позиціонування:

— Accuracy of less than or equal to 10 meters, with 90 percent precision

— Accuracy of less than or equal to 5 meters, with 50 percent precision

Точність позиціонування вкладається в позначені рамки, при чому не тільки по периметру ТД, але і по периметру всієї пілотної зони і це дуже добре. При цьому крапки розставлялися без урахування вимог щодо позиціонування!

Я пов'язую такі результати зокрема з вдалою конфігурацією будівлі: довгий вузький будинок, по периметру якого проходить товста стіна, що не дозволяє клієнтам сильно «вивалюватися» за його межі.

Але все виявилося не настільки райдужно.

Зовсім небагато про частоту оновлення позиції

Ще до тестів я виявив, що смартфон набагато частіше деяких інших пристроїв оновлює свою позицію в CMX. Для того, щоб розібратися, чому так відбувається, я досліджував трафік від смартфона і від інших Клієнтів. Як з'ясувалося, смартфон робив активне сканування визначених SSID за допомогою probe request. Ці запити посилалися послідовно на всі канали, що призводило до того, що на всіх МД була актуальна інформація про потужність (RSSI) сигналу смартфона. Як я надалі з'ясував, це стандартний алгоритм роботи активних міток Wi-Fi (вони прокидаються, посилають послідовно на всі канали запити і засипають). Але в даному випадку це були просто забиті вручну профілі бездротових мереж, які я видалив перед проведенням тестів.

Це призвело до наступного результату:

- Якщо смартфон знаходився на одному місці і не генерував активно трафік, то його місце розташування оновлювалося дуже рідко: у CMX є такий параметр, як «last seen», тобто коли останній раз Клієнт був видний, так ось, він доходив у мене до декількох хвилин (в межах 5 - 10 хвилин).

- Коли на смартфоні були забиті профілі SSID, що виробляють активне сканування, цей параметр був в межах 10 - 15 секунд.

- Якщо я починав активно генерувати трафік, то параметр «last seen» так само був у межах 10-15 секунд.

- Якщо ж я переміщався від точки до точки, то результат був дещо інший. Позиція оновлювалася, але точність цієї позиції була набагато менше заявленої. Пов'язано, я думаю, це було з тим, що замір RSSI оновлювався тільки для певної ТД, а позицію треба було оновлювати, але так як даних про RSSI було зібрано недостатньо, точність була набагато гірше.

Більш детально даний ефект я хочу розглянути в окремій статті, яка буде присвячена частоті оновлення позиції.

Вимірювання точності розташування під час переміщення

Система позиціонування не тільки відображає поточне місцезнаходження, але також може показати історію переміщення за день (client movement history playback), що може бути корисно при усуненні несправностей і розслідуванні інцидентів.

Але в нашому випадку я буду використовувати цей інструмент для інших цілей, а саме оцінки точності позиціонуванні при переміщенні.

Щоб бути максимально неупередженим, я не став ходити якимись спеціальними колами по офісу, а просто взяв історію свого переміщення зі смартфоном за день.

Ось так виглядає план другого поверху з нанесеними клієнтами. Синіми гуртками відображено ТД, всередині гуртків - кількість авторизованих клієнтів. Зелені точки - це Клієнти.

У системі дуже зручний пошук Клієнтів. Клієнта можна використовувати для будь-яких символів MAC адреси, імені користувача, SSID. Фільтрація йде автоматично за кожним введеним символом. Свій смартфон я знайшов з трьох букв.

Моя позиція вказана досить точно, я перебуваю в лівому відсіку А-03 (а не в другому відсіку, як показано). Ширина відсіку - 5 метрів, так що точність цілком нічого. Якщо навести курсор на Клієнта, то схематично відображається, на яких ТД є замір RSSI (який береться до уваги).

Після того, як Клієнт обраний, можна переходити до історії переміщень.

Що відразу цікаво: час підключення 9.31 - це час приходу в офіс (можна відстежити час приходу!), точність позиціонування в цей час була навіть кращою (лівий відсік А-03). В районі 10 годин я пішов в район кімнати B-32. І ось тут починається найдивовижніше: на карті це відображено як досить хаотичне переміщення Клієнта:

Хоч і загальний напрямок переміщення вгадується, але я переміщався явно не по периметру будівлі. Пов'язаний такий ефект, як я вважаю, якраз з тим, що я описав трохи раніше: замер RSSI обнавується тільки на певній ТД (до якої йде роумінг), CMX змушена оновлювати позицію, але точність її вкрай мала. Ймовірно, CMX виштовхнув би Клієнта за межі будівлі, якби не промальовані товсті стіни, в яких «ув'язає» Клієнт (а якщо не промальовувати стіни, треба обов'язково промальовувати регіони позиціонування). Як пом'якшувальну обставину можна взяти до уваги те, що у відсіку «В» покриття гірше і, отже, позиціонування теж. А які результати в пілотній зоні? Далі я повернувся в кімнату А-03. Потім в районі 12.30 я пішов до колеги в зону А-16, тут можна було прикинути якраз точність позиціонування в пілотній зоні.

У даному випадку відображення пройшло більш чітко, але на зворотному шляху мене все одно покидало по периметру. Я думаю це може бути пов'язано як з активністю смартфона, так і з більш щільним покриттям безпосередньо в цьому відсіку.

Цікавий факт: переміщення клієнта не прив'язане до одного поверху, а об'єднується між усіма приміщеннями. Наприклад, я виявив, що в районі трьох годин спустився на перший поверх (пішов обідати).

А ще система відображає різні перешкоди і мітки

Є ще такий приємний момент, відображатися можуть не тільки Wi-Fi клієнти, але і перешкоди і мітки (за рахунок вбудованого в ТД аналізатора спектра). У переговорній Альфа у нас стоїть зараз для демонстрації пристрій на основі стандарту IEEE 802.15.4 (ZigBee). Система позиціонування його знайшла, визначила тип і навіть з дуже хорошою точністю відобразила його місце розташування!

Це дуже зручно для усунення несправностей і дослідження інцидентів. Мало хто займається періодичним радіообстеженням. А цей інструмент дозволяє, не встаючи з крісла, виявляти всі перешкоди з точністю до кімнати і проводити з ними всі необхідні заходи (легалізувати, прибирати і т. д.).

Загальні висновки

Які висновки можна зробити:

1. Точність позиціонування в Wi-Fi мережах, призначених під передачу даних/голос в загальному випадку буде знаходитися в межах 10 метрів в 90% замірів (точність «до кімнати»).

2. Питання точність позиціонування треба обов'язково розглядати в тандемі з питанням частоти оновлення позицій. Точність стаціонарного клієнта і точність клієнта можуть сильно відрізнятися. Тобто потрібно розуміти, як і з якою швидкістю може переміщатися Клієнт.

3. Потрібно розуміти, який тип трафіку і як часто повинен (і може) генерувати необхідний Клієнт.

А що далі?

При підготовці даного матеріалу я отримав як відповіді, так і нові питання, головне з яких - це частота оновлення в Wi-Fi позиціонуванні. З цієї причини в наступній статті постараюся більш детально розглянути це питання.

logo