Привет, Хабр! Меня зовут Анастасия Беднова, я тестирую базовые станции в стандартах 4G (LTE) в YADRO. В профессии я почти 20 лет: начинала карьеру в крупной компании-вендоре как тестировщик одного из компонентов сети 3G. Когда два года назад YADRO объявила о разработке собственной базовой станции, я решила, что хочу стать частью этого проекта — в России такого еще никто не делал, задача показалась крайне амбициозной. 

При разработке базовой станции важно обеспечить четкую работу каждой ее функции. В этой статье расскажу об одной из ключевых функциональностей — handover — и о том, как мы ее тестируем. Большинство из нас пользуется ею, даже не замечая этого: handover переключает телефон с одной БС на другую без перерыва в обслуживании.  

Материал поможет на базовом уровне разобраться в устройстве базовых станций и понять, какую роль играет handover в стабильном соединении с ними, где бы ни находился мобильный телефон.

Надевайте шапочки из фольги
Надевайте шапочки из фольги

Как handover работает в реальной жизни 

Handover — переключение пользовательского устройства с одной соты на другую без перерыва в обслуживании. 

Этой функцией мы пользуемся постоянно, но часто даже не знаем об этом. Устройство (ноутбук, смартфон) переключается с одной соты на другую при передвижении. Вспомните, как в поезде или машине видео иногда подвисает — как раз в эти моменты работает handover. Чтобы лучше понять эту функцию, начнем с устройства мобильных сетей и базовой станции.

Базовая станция — приемопередающая аппаратура, которая формирует радиоинтерфейс на определенном участке сети. 

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

Сота — минимальная ячейка, которая составляет радиоинтерфейс. Именно поэтому мобильный телефон часто называют сотовым.

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

От чего зависит количество сот?
  • От частотного диапазона, доступного оператору связи, и необходимой емкости сети в локации, обслуживаемой базовой станцией. Если абонентов в локации много, и у оператора есть широкий диапазон частот, можно создавать несколько сот на разных частотах для увеличения емкости сети и увеличивать скорость передачи данных у абонентов.

  • От предполагаемый зоны покрытия. Чаще всего базовая станция имеет три и больше секторов, обеспечивающих покрытие сети, в каждом из которых работает отдельная секторная антенна и отдельная сота.

Рассмотрим пример. Вы едете на машине по трассе и слушаете музыку в стриминговом сервисе. В стартовой точке вы подключились к какой-то базовой станции, но удалились от нее — сигнал слабеет. Вдоль трассы расположено много базовых станций, и вы приближаетесь к другой, сигнал у которой становится сильнее. Когда сигнал второй базовой станции станет лучше, чем сигнал первой, сотовый телефон переключится на более сильный сигнал. 

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

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

Мы тестируем базовые станции и функцию handover на специальных стендах — о них я расскажу дальше.

Как выглядит тестовый стенд 

Стандартный тестовый стенд состоит из базовой станции, симулятора ядра сети и симулятора пользовательского устройства. БС, в свою очередь, состоит из обрабатывающего узла BBU и радиоприемника (радиомодуля) RU. Узлы разрабатывает и тестирует моя команда, а сами компоненты производят на фабриках YADRO. Поскольку мы тестируем соединение в комплексе, симулятор ядра сети на нашем тестовом стенде подключается к BBU, а симулятор мобильного телефона — к радиомодулю. 

Схема тестового стенда для базовой станции
Схема тестового стенда для базовой станции

Это была простая схема. А теперь я покажу, как выглядит стенд для тестирования handover. На схеме ниже — две базовые станции. 

Схема тестового стенда для handover
Схема тестового стенда для handover

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

На стенде мы проводим тестирование в идеальных радиоусловиях, какие редко бывают в реальности. Все устройства соединены радиопроводами — на схеме они показаны оранжевыми линиями. Если вместо них подключить антенну, базовая станция выйдет в эфир и начнется излучение. 

Мощность антенны достаточно велика, подходить близко к работающей антенне в диапазоне СВЧ не очень безопасно. Тут даже шапочка из фольги не поможет. Использование радиопроводов позволяет нам входить в серверные лаборатории.

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

Безопасность — лишь одна из причин, по которой в тестах мы не используем реальные пользовательские устройства. Другая причина — сложные сценарии для симуляторов, которые невозможно стабильно воспроизвести на обычном мобильном в тестовой среде. К ним относятся сценарии с ошибками, задержками пакетов, разным пересечением сложных схем. 

Готовых и подходящих симуляторов ядра сети и пользовательских устройств на рынке мы не нашли, поэтому разрабатываем их самостоятельно. Две команды в YADRO занимаются разработкой симуляторов только для того, чтобы мы смогли протестировать устройство. Когда в тестировании handover появляются новые сценарии, инженеры поставляют необходимые фичи в симуляторы. Так, недавно добавили подмену измерений уровня сигнала для вызова различных типов handover. 

Количество задач и команда растут, поэтому мы постоянно ищем специалистов в направление тестирования базовых станций. Сейчас открыты две вакансии: инженер-автоматизатор на Python и инженер по тестированию радиоподсистемы LTE/GSM. Оставляйте заявки на карьерном портале, если хотите присоединиться к моей команде. 

Помимо отсутствия симуляторов, мы сталкиваемся и с другими проблемами.

На результат влияет много параметров

Длина и качество проводов, качество соединений влияют на результаты тестов и стабильность работы сторонних компонентов в роли пользовательских устройств. Так, опытным путем мы выяснили, что для симуляторов пользовательских устройств важно, чтобы они запускались на определенных ядрах процессора. Чтобы исключить влияние тестовой среды, приходится проводить много тестов, подбирать параметры настройки оборудования и проводить тесты несколько раз.

Невозможно провести несколько тестов параллельно 

Дело в том, что каждый тест проверяет конкретные настройки оборудования и его работу именно с этими настройками.

Далее рассмотрим базовый сценарий теста handover. 

Как проходит стандартное тестирование

Базовый сценарий теста — это цикл, который состоит из пяти шагов и повторяется для разных настроек базовой станции:

  1. Собрать стенд, подключить все провода согласно схеме. 

  2. Провести настройки базовой станции в соответствии со сценарием, когда происходит стандартный handover.  

  3. Настроить симулятор ядра сети с необходимыми модификациями, убедиться в соединении его с базовыми станциями стенда. 

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

  5. После завершения сценария собрать трейсы со всех симуляторов и проанализировать их на соответствие требованиям и стандартам. Использование симуляторов хорошо еще тем, что мы можем собирать информационные пакеты и анализировать их содержимое. Сделать это с радиоэфира достаточно сложно.  

Когда мы проанализировали базовую станцию на соответствие стандартам сообщений, тест заканчивается. Можно переходить к следующему, с новыми настройками. Цикл повторяется.

Сложные сценарии тестирования

Помимо базовых сценариев, мы прогоняем еще и сложные, в том числе с необычной работой handover. Их мы также проверяем с помощью симуляторов — они как раз позволяют стабильно воспроизводить подобные случаи и исследовать проблемы. Вот несколько примеров:

  • Handover не происходит, но при этом соединение с телефоном не должно разрываться. Лучше остаться на той соте, к которой мы уже подключены — там есть хоть какое-то соединение.

  • Handover не происходит из-за недостатка ресурсов на принимающей соте. Каждая сота поддерживает определенное количество пользователей одновременно, и, если число подключенных устройств превышено, новые она не принимает. Также на каждой соте есть определенный лимит радиоресурсов. Разные типы соединений требуют разного количества радиоресурсов, и при их недостатке сота просто не примет новый телефон.

  • Handover не происходит, если в данный момент используется функция, которую целевая сота не поддерживает — например, Carrier aggregation. 

  • Handover не происходит из-за помех в сети, больших задержек или повреждения пакетов. 

Особую сложность представляют сценарии с пересечением разных событий одновременно. Например, когда во время handover происходит экстренный вызов или запрос переподключения. Такие сценарии сложно симулировать даже в наших условиях, но мы над этим работаем, и многие из них уже протестировали.

Также мы продолжаем разрабатывать и улучшать как тестовые стенды, так и симуляторы. Для сертификации необходимо исследовать совместимость нашей базовой станции с новыми стандартами разных поколений. 

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

О проблемах безопасности в сетях разных поколений рассказал Максим Башканов, который отвечает за ИБ базовых станций в YADRO

А что дальше?

После того как наше тестирование пройдено, базовая станция переходит на другие этапы: 

  • нагрузочное тестирование, 

  • системное тестирование,

  • взаимодействие с реальными пользовательскими устройствами,

  • взаимодействие с настоящим ядром сети в тестовых лабораториях.

Брендированный автомобиль, с помощью которого тестируем handover
Брендированный автомобиль, с помощью которого тестируем handover

Также базовые станции проходят полевое тестирование — испытание с реальной излучающей антенной, вне лаборатории, в специально выделенном месте. В частности, у нас есть автомобиль, который перемещается между несколькими базовыми станциями и тестирует handover.

Тестирование телеком-оборудования — комплексная, интересная задача, она подходит инженерам с разной специализацией. Международные вендоры занимаются разработкой базовой станции несколько десятилетий. Наш проект существует чуть больше двух лет, и за это время мы смогли многого добиться, но многое нам еще предстоит. Потребность в базовых станциях в России большая, измеряется тысячами штук в год. Тестирование телеком-оборудования очень перспективно, и только от нас зависит, какая сотовая связь будет в итоге у нас в стране.

О каких еще видах тестирования вы бы хотели узнать? Пишите в комментариях

Комментарии (6)


  1. baldr
    21.11.2024 14:17

    Мда, прямо ностальгия нахлынула как, помнится, более 20 лет назад мы тестировали новые телефоны Motorola (возможно, как раз в одной с вами компании).

    Девайс приходил к нам ещё в "инженерном" варианте - отдельно экран, отдельно клавиатура на плате, всё соединялось шлейфом и никакого корпуса. Работал крайне нестабильно и каждые 3 минуты перезагружался - за это время надо было проделать хотя бы несколько тестов.

    На handover у нас оборудования, к тому моменту, не было ещё (да и никакого не было, поначалу), но для того чтобы "потерять сеть" мы бегали в подземный переход неподалёку.


  1. keemailme
    21.11.2024 14:17

    «Шапочка из фольги не поможет» каждому - только фольгу надо потолще


  1. botay123
    21.11.2024 14:17

    А что на счет межвендорного НО? Не тестировали?


    1. AnastasiIaBednova Автор
      21.11.2024 14:17

      Тестировали, но ес-но не на всём зоопарке возможных устройств. Хочется надеяться что другие вендоры придерживаются стандартов, мы со своей стороны обеспечиваем совместимость в соответствии с 3GPP.


      1. botay123
        21.11.2024 14:17

        Круто! Нравится ваш подход.


  1. nafigat
    21.11.2024 14:17

    Интересно. А что используется в качестве симулятора ядра сети и симулятора сотовых телефонов?