Детектив с Wi-Fi на огромном складе: сетевая икс-команда на выезде

image

Приходит заказчик с проблемой: есть просто огромный склад (побольше некоторых стадионов), на котором плохо работает Wi-Fi. Выражается это в том, что терминалы сбора данных у сотрудников тупят, виснут и теряют сессии, а это ведёт к тому, что работники склада не могут собрать отгрузку.

Поначалу проблема казалось очень простой: радиообследование, подтюнить настройки на контроллере или перепроектировать размещение ТД — хэппи-энд. Это работает даже на взрывозащищённом производстве и на складе блистерных упаковок таблеток, так что остаётся один маленький момент — убедиться, что проблема именно в Wi-Fi, а не в чём-то ещё. На объект до нас приезжало несколько интеграторов, и все они предложили новые проекты сети.

Мы попросили заказчика показать нам другой склад, где есть грамотно спроектированный Wi-Fi и тот же зоопарк терминалов работает без нареканий. Оказалось, что такого склада нет.

В этот момент и начался детектив по поиску проблем.

Зачем нас позвали

Заказчик изначально предполагал, что проблема — в архитектуре сети и её реализации. Сеть на складе появилась в тот момент, когда строители отдали здание с инфраструктурой. В инфраструктуру входил Wi-Fi, и его сделали очень простым образом: прикрепили к потолку на высоте 12 метров всенаправленные точки доступа из обычного офисного арсенала. То есть вроде бы и работает, но это не есть best practice. Как только склад заполнился и начались проблемы с работой ТСД, заказчик начал подозревать, что дело именно в этом. Дальше они долго бодались по бумагам, соответствуют ли ТЗ исполнению гарантии со строителями, но строители выиграли этот спор. В итоге склад примерно года три страдал от безумно бесивших терминалов, и настало время это как-то поправить.

Что именно было на месте

Сначала мы приехали на радиообследование. Увидели эти самые омниточки на потолке, почувствовали «на глаз», что они зверски расходуют энергию на создание интерференции, обеспечение устойчивой связью потолка, стен и попытки победить соседнюю точку.

image

Хорошей практикой на складах считается установка направленных антенн, которые «светят» сектором ровно на потребителя, то есть на места появления ТСД: это ряды между стеллажами. Если задача стоит сделать предельно дёшево — они ставятся по одной или двум торцевым сторонам и светят в проходы горизонтально. Метод применим для складов c подходящей длиной ряда и плох тем, что в ряд можно поставить погрузчик или другое препятствие, которое будет мешать сигналу. Поэтому, если бюджет есть, то правильно вешать направленные точки на потолок и «светить» ими вниз.

По примерно похожей схеме мы обеспечивали даже стадион HD-вайфаем, а там потребителей на порядки больше, и интерференционная картина хуже: монтировали на козырёк сверхузконаправленные сектора. Вот этот пример стадиона из Краснодара.

С этого объекта я не могу показывать детали, но на стадионе антенна выглядела так:

image

Собственно, заказчик думал, что проблема — именно во всенаправленных точках и зонах интерференции/недопокрытия между ними, и считал, что если поменять реализацию сети, то всё заработает как по щелчку. Те интеграторы, которые были на объекте до нас или вместе с нами, собственно, занимались именно тем, что предлагали проекты новой сети.

Мы же поняли, что при всей несостоятельности архитектуры на практике эта сеть работает и покрытие у неё более-менее стабильное для текущих задач. Да, зоны точек не изолированы, не раскиданы нормально по каналам, но покрытие есть. Скажем так, на 90 % площади всё в порядке или удовлетворительно.

То есть проблема как минимум не только в Wi-Fi.

Может, дело в самих ТСД?

На складе использовались терминалы трёх разных производителей. Глючили из них два, но по-разному:

  • Один вендор грешил постоянно и регулярно, эти ТСД рабочие не любили.
  • Второй имел визуально те же баги с сессиями, но более редкие. Более того, от рабочих мы узнали, что есть «счастливые» устройства, которые не надо перезагружать почти никогда, и «проклятые» тех же моделей, которые глючат регулярно.

Может, дело в магнитной аномалии в какой-то части склада?

Следующий наш вопрос был про то, где именно происходят глюки. Выяснилось, что они «размазаны» по складу примерно равномерно, и чётких мест их дислокации нет. На складе, кстати, хранится очень много всего разного, но переизбытка металла или каких-то других вещей вроде источников мелкодисперсной проводящей пыли, как вот в этом примере на складе одежды из синтетической ткани, там нет. В целом, если вы будете считать основным товаром продукты питания, то не сильно ошибётесь в свойствах, которые имела продукция с точки зрения радиопокрытия.

Покрытие 2,4/5:

image

Интерференция 2,4/5:

image

Начинаем исследовать баг

Баг проявляется как потеря связи между ТСД и сервером WMS, с которым терминалы работают. Терминал использует TCP, в котором использует старый добрый Telnet (не спрашивайте, почему так), через который бросает уже что-то в верхнеуровневом протоколе приложения.

Мы развернули два решения братской компании NETSCOUT — старых добрых вендоров софта для сетевиков. Мы использовали nGenius One и nGenius Pulse. Пульс — это инфраструктурный мониторинг, который собирает статистику с контроллеров и помогает отыскать аномалии. Он же может устанавливаться на устройства для разных видов тестирования. Единичка — это софт, который собирает реальный трафик между узлами сети и позволяет расковыривать протоколы с вопросами: «А что это у вас в пакете?»

Ещё мы поставили зонд с Пульсом — это может быть как коробочное решение, которое что-то пингует или делает что-то ещё с сетью с точки зрения оконечного устройства пользователя, либо же это софт, который ставится на один из узлов. Мы поставили на промышленный ноутбук и оставили его на складе посмотреть, что случится. Зонд находился внутри сети заказчика и занимался тем, что пинговал сервера WMS и проверял доступность порта.

Вообще-то эти два компонента нужны не только для поиска проблем, но и для планирования сети на развитие: они показывают, как делается доставка приложений по сети, показывают нормальные дашборды про доступность всех ресурсов и помогают посчитать, под какое приложение сколько какого ресурса надо.

Для зеркалирования трафика и минимизации влияния мониторинга на прод (там вообще-то всё ещё склад с живыми людьми, и ничего останавливать нельзя) мы использовали пакетные брокеры Niagara Networks и NETSCOUT.

Что сделали:

  1. Так как трафик от ТСД мог отправляться двумя путями (ТСД — ТД — сервер WMS или ТСД — ТД — Wi-Fi-контроллер в ЦОДе — сервер WMS), мы собирали трафик от склада до серверов WMS и от ЦОДа (тут живут Wi-Fi-контроллеры) до серверов WMS.
  2. Провели тесты доступности серверов со склада.
  3. Собрали метрики сети (доступность оборудования).

Вот зонд пингует сервер WMS:

image

Как видите, всё хорошо.

Вот то же самое, но уже на уровне TELNET:

image

Провал ночью — это регламентные работы, там всё хорошо. То есть Telnet тоже ходит.

Вот оценка качества работы точек доступа Wi-Fi и хит-парад наихудших показателей в диапазоне 5 ГГц:

image

А вот общие показатели работы точки доступа:

image

И детальные показатели работы точки доступа в диапазоне 5 ГГц:

image

Как видите, проблем особо нет.

Теперь начинаем ковыряться в сетевых взаимодействиях чуть повыше уровнем. Нашлось вот что, смотрите:

image

Это сам момент возникновения проблемы. Разрывается TCP-сессия и устанавливается новая.

И исходная сессия, и новая сессия выглядят нормально. Ковыряемся дальше.

image

Дальше смотрим на DHCP и видим большое количество тайм-аутов на DHCP-запросы от терминалов:

image

Каждый конкретный терминал запрашивал новый IP-адрес у DHCP-сервера в случайный момент времени. Выяснилось, что это происходит в момент роуминга ТСД на другую точку доступа, то есть при физическом перемещении терминала из-под одной точки к другой. То есть просто при движении работника по складу.

Выглядит это так: устройство делает запрос к DHCP-серверу, ждёт пять секунд тайм-аута, потом сбрасывает стек и стартует всю процедуру подключения к сети заново. В этот момент и сбрасывается верхнеуровневая сессия в приложении.

Также время от времени терминалы запрашивают новый IP просто так, никуда не двигаясь, и ловят ту же проблему.

Вот что по этому поводу думает DHCP:

image

А что дальше?

Дальше по просьбе заказчика мы сделали новую архитектуру сети (точки с направленными антеннами над аллеями склада) но сказали, что это не решит проблему с терминалами, потому что дело не в Wi-Fi. Точнее, по большей части — не в покрытии. Главное, что нашли истинный корень зла и локализовали проблему с неработающими терминалами. Еще мы посоветовали заказчику приобрести и развернуть решение NETSCOUT на своей инфраструктуре для дальнейшего проактивного анализа работы бизнес сервисов и приложений. Так они смогут сократить время простоя при возникновении новых проблем. ИТ-отдел заказчика думает, что с этим делать, потому что нужно решить проблему и с ответом сервера, и со случайными сбросами IP устройств (прошивка или драйвер, скорее всего), и с покрытием в тех местах, где оно всё же плохое.

Чем все закончится, расскажу потом в комментариях. Или это будет уже новая история…

Почему ИТ-отдел не сделал всё сам?

Потому что у них есть другой фокус и потому что задача относилась к анализу и проектированию сети (с возможными последующими реализацией, гарантией и поддержкой). То есть они хотели получить решение как сервис.

А можно где-то пощупать этот софт?

Да. Мы регулярно показываем, что и как мы делаем. Ближайший вебинар — 11 ноября, там будем разбирать тему беспроводных сетей и их анализ. Покажем два решения: мониторинг от NETSCOUT и Wi-Fi 6 от Huawei, покажем, как они работают вместе. Разберём ещё пару примеров похожих сетевых детективов.

Прошлые посты про Wi-Fi вот: стадион в Краснодаре, особо охраняемый экранированный объект.

Читайте так же:

  • Секреты эффективной поисковой рекламы в Яндекс.ДиректСекреты эффективной поисковой рекламы в Яндекс.Директ Описание Программа мероприятияМы расскажем. Как начинающим рекламодателям запустить новые поисковые кампании в Яндекс.Директе: как устроен рекламный кабинет. Какие настройки важны и как составлять эффективные объявления. Что вы узнаете на вебинаре:-   как быстро собрать […]
  • Google набирает команду для работы над планшетной частью AndroidGoogle набирает команду для работы над планшетной частью Android Google набирает команду для разработки Android под планшеты. Соответствующие вакансии появились на сайте компании. Из описания вакансий следует, что Google серьезно настроена на развитие сектора планшетов и считает сферу важной для пользователей.Так на сайте Goolge Careers появилась […]
  • Kotlin Symbol Processing. Работаем с аннотациями по-новомуKotlin Symbol Processing. Работаем с аннотациями по-новому Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. В феврале 2021 года компания Google анонсировали экспериментальный релиз технологии Kotlin Symbol Processing (совместима с Kotlin с 1.4.30), как более эффективную альтернативу KAPT (Kotlin Annotation […]
  • Чуть подробнее о настройке среды разработки esp-idf для разработки приложений Esp32Чуть подробнее о настройке среды разработки esp-idf для разработки приложений Esp32 ВведениеПочему, ESP32?Esp32 использует два процессора Xtensa с симметричной адресацией. Это разработка Гарварда, сделанная аж в 1997 году. Заявленная тактовая частота 240/160 МГц.Частота таймеров 80 МГцОчень низкое энергопотребление в режиме «глубокого сна» — аж 5-2,5 мкА.Аналогичные по […]