Программное обеспечение с открытым исходным кодом предоставляет сетевые компоненты, которые можно использовать для моделирования функций сети 5G от ядра сети до радиомодуля.
Линкольн Лавуа, Лаборатория совместимости Университета Нью-Гэмпшира
Разработка и развертывание лабораторной инфраструктуры для поддержки тестирования систем 5G и открытых сетей радиодоступа (Open RAN) может представлять собой сложную задачу. До появления Open RAN эта задача была возможна только при прямом взаимодействии с крупными поставщиками сетевых систем. С тех пор несколько проектов и организаций с открытым исходным кодом разработали материалы на основе спецификаций 3GPP и O-RAN Alliance. Эти инструменты и ресурсы позволяют создать полное развертывание 5G, от ядра мобильной связи до RAN, предоставляя инженерам бесценные ресурсы.
Деятельность с открытым исходным кодом играет важную роль, поскольку она позволяет быстро создавать прототипы и проверять спецификации. Эти спецификации все еще могут оставаться в форме проекта. Многие группы по стандартизации разработали методы и политику, способствующие использованию открытого исходного кода. В число этих групп входят Инженерная группа Интернета (IETF), руководства и практики, касающиеся «приблизительного консенсуса и выполнения кода», а также Сообщество открытого программного обеспечения (OSC) Альянса O-RAN, которые реализовали официальные программы.
Действительно, один из самых сложных аспектов, связанных с проектами и компонентами с открытым исходным кодом в испытательной лаборатории 5G, — это то, с чего начать. В этой статье мы обсудим некоторые фундаментальные компоненты, которые инженеры могут использовать в качестве отправной точки, и объясним, как программное обеспечение с открытым исходным кодом может поддерживать тестирование Open RAN.
Чтобы начать процесс, вам необходимо сначала понять некоторые основные компоненты сети 5G. В этом случае мы обобщим базовую сеть как один компонент, поскольку в настоящее время несколько вариантов с открытым исходным кодом реализуют функции базовой сети, требуемые спецификациями 3GPP. Ядро мобильной связи 5G включает в себя различные отдельные сетевые функции, которые обеспечивают архитектуру на основе услуг, определенную 3GPP.
Тремя хорошо известными примерами систем с открытым исходным кодом, реализующих ядро 5G, являются проект Open 5GS, бесплатный проект 5GC и компонент базовой сети Open Air Interface 5G. Первые два проекта представляют собой автономные реализации ядра 5G. В то же время последний более тесно связан с более крупным проектом Open Air Interface (OAI), который также может обеспечить RAN.
В UNH-IOL мы часто используем ядро Open 5GS, которое развертываем в виде двух наборов компонентов. Сначала мы развертываем основные компоненты управления, включая функцию управления доступом и мобильностью (AMF), функцию управления сеансами 5G (SMF) и другие. Во-вторых, мы развертываем функцию пользовательской плоскости (UPF), которая отвечает за пересылку абонентского трафика от интерфейсов RAN в сеть передачи данных (например, Интернет). Это эффективно обеспечивает разделение плоскостей управления и пользователя (CUPS), при этом эти функции развертываются на отдельных виртуальных машинах. Аналогичным образом мы могли бы реализовать несколько экземпляров UPF в более крупных развертываниях для балансировки нагрузки абонентского трафика. Рисунок 1 показаны некоторые аспекты логистики этого развертывания в нашей лаборатории.
От ядра к RAN
Как только базовая сеть заработает, следующим вероятным приоритетом станет RAN. В этом пространстве мы приблизимся к переднему краю усилий по разработке открытого исходного кода, в зависимости от направлений, выбранных в ходе развертывания. RAN обеспечивает радиочастотное соединение между пользовательским оборудованием (UE) и базовой сетью мобильной связи. Это чрезмерное упрощение, но мы будем придерживаться этого рабочего определения, не углубляясь в некоторые сложные темы, такие как хэндоверы, поддержка нескольких ячеек, агрегация несущих и так далее. Здесь наиболее значимым фактором в процессе выбора, скорее всего, будут радиокомпоненты, для которых у нас есть два варианта.
Во-первых, мы могли бы развернуть систему на основе программно-определяемой радиосвязи (SDR), которая использует проект Open Air Interface для предоставления программного обеспечения и встроенного ПО для реализации полной RAN, или, точнее, хорошей базовой станции. В зависимости от выбранного оборудования SDR возможно подключение RF-портов непосредственно к антенне. Чтобы избежать нарушения любого лицензированного спектра, должно быть возможно радиочастотное соединение с устройством UE. В этой связи лаборатории также потребуются экранированные камеры или комнаты с радиочастотной изоляцией, но это выходит за рамки данной статьи.
Другой подход к реализации RAN соответствует спецификациям O-RAN Alliance, где gNodeB разделен на дискретные компоненты: радиоблок (RU), распределенный блок (DU) и централизованный блок (CU). В этой области проект OAI может предоставить некоторое программное обеспечение, в частности компоненты DU и CU, которые затем реализуют интерфейс Open Fronthaul (OFH) по отношению к RU. Для RU необходимо выбрать продукт у поставщика, поскольку в настоящее время не существует RU с открытым исходным кодом.
Чтобы обеспечить правильную передачу радиосигналов или кадров, DU и RU должны синхронизировать время и понимать его достаточно хорошо, чтобы поддерживать OFH-интерфейс. Опять же, возможны несколько архитектур или подходов, описываемых как разные конфигурации от LLS-C1 до LLS-C4. В нашей лаборатории мы в настоящее время внедряем LLS-C3, где один из коммутаторов Fronthaul служит главным тактовым генератором IEEE-1588, который обеспечивает синхронизацию RU и DU. Для сетевого адаптера на сервере DU требуется аппаратная поддержка отметок времени, а проект ptp4l используется для синхронизации часов сервера с сетью. Рисунок 2 показывает эту конфигурацию в лаборатории.
Предполагая, что вы будете использовать готовые устройства UE, такие как телефоны, все готово для тестирования, не так ли? Ну, очень почти. На данный момент развернуты базовая сеть и радиосеть. За исключением каких-либо проблем с конфигурацией, gNodeB должен быть зарегистрирован и подключен к базовой сети. Он должен предоставить хотя бы одну ячейку в желаемом диапазоне 5G для подключения UE. UE должно пройти аутентификацию в сети, что зависит от SIM-карты. В 5G аутентификация работает «в обоих направлениях», где UE аутентифицирует сеть, а сеть аутентифицирует UE. Не вдаваясь во все детали, для этого требуется сетевая информация, т. е. некоторые ключи, предоставленные в базовой сети, для соответствия ключам на SIM-карте, что позволяет успешно завершить криптографический запрос/ответ. Невозможно (по очень веским причинам) считать эти значения ключей с SIM-карты.
Однако некоторые SIM-карты можно программировать, обычно в целях тестирования. Итак, последняя часть лабораторного оборудования — это небольшое устройство для чтения/записи SIM-карт вместе с программируемыми SIM-картами. К счастью, что касается программирования, существует несколько инструментов с открытым исходным кодом, которые позволяют запрограммировать значения сетевых ключей и идентификаторы абонента в SIM-карту, что позволяет успешно пройти аутентификацию. Для этой цели мы использовали в лаборатории инструменты pysim и sysmo-usim-tool.
Используя инструменты с открытым исходным кодом, вы можете подключить устройство UE к сети с работающим соединением 5G в лаборатории. Вся работа здесь лишь поверхностно касается сети 5G и возможностей тестирования. Тем не менее, вам следует создать лабораторию с ресурсами с открытым исходным кодом, способными поддерживать более продвинутые функции при правильной настройке, такие как разделение сети или агрегирование операторов/сот, и это лишь несколько возможных тем.