EEL878 - Redes de Computadores I

Trabalho Final

Open-RAN

Guilherme Araujo Thomaz
Guilherme Santana Dionisio
Felipe Gomes Táparo

Este é um trabalho desenvolvido para a disciplina de Redes de Computadores I do curso de Engenharia Eletrônica e de Computação da Escola Politécnica da Universidade Federal do Rio de Janeiro (UFRJ) durante o período 2023/1

Introdução

As Redes de Acesso por Rádio (Radio Access Network - RAN) interconectam os usuários da rede celular com a infraestrutura da rede de núcleo. O aumento no acesso à Internet por smartphones, a Internet das Coisas (Internet of Things - IoT) e as redes celulares de nova geração (5G e 6G) impulsionam o investimento em novas tecnologias de RAN. Normalmente os equipamentos da RAN possuem as seguintes características:

  • São implementados em hardwares de prateleira, monolíticos.
  • As interfaces entre os componentes são fechadas.
  • Não é comum haver compatibilidade entre equipamentos de diferentes fabricantes.
  • Há pouca flexibilidade na configuração dos equipamentos para implementar novas tecnologias.
  • O uso de modelos de aprendizado de máquina para controlar os recursos de forma otimizada não é comum.

A Open RAN é um paradigma que propõe "abrir a RAN", ou seja, padronizar as interfaces, facilitando a entrada de novos desenvolvedores de tecnologias para a RAN no mercado e a implementação de novas soluções. A O-RAN Alliance é uma organização da indústria que propõe especificações para Open RAN. O restante deste trabalho se concentra nesses padrões de Open RAN, conhecidos como O-RAN.

Características da Arquitetura

A arquitetura O-RAN possui quatro características que, em conjunto, representam melhorias em relação à RAN tradicional. Essas características são: desagregação, controle inteligente, virtualização e interfaces abertas.

A - Desagregação

Na arquitetura O-RAN, a estação base é dividida em três componentes chamados de unidades funcionais. São eles: Central Unit (CU), Distributed Unit (DU) e Radio Unit (RU) [1]. Essa divisão já era presente na RAN tradicional, porém, a arquitetura O-RAN se diferencia por criar padrões abertos para as interfaces entre esses componentes, conforme será discutido no Item D. A desagregação facilita a virtualização, que será discutida no Item C.

Figura 1 - Arquitetura em Camadas da Rede Celular. A figura exemplifica uma das diversas formas de localizar as unidades funcionais.

Desde a RAN tradicional, o 3GPP define uma arquitetura em camadas, ilustrada na Figura 1. A O-CU implementa as camadas superiores, representadas em azul. A divisão entre as funcionalidades da O-DU e da O-RU é flexível. A divisão mais adotada, escolhida pela O-RAN Alliance, é chamada de 7.2x [2]. As camadas em amarelo são implementadas pela O-DU e as em vermelho pela O-RU

B - Controle Inteligente

Além das três unidades funcionais, a arquitetura O-RAN também define RAN Intelligent Controllers (RICs). Os RICs funcionam como controladores em malha fechada, pois coletam dados da RAN e de fora da RAN e atuam sobre a infraestrutura com o objetivo de otimizar o uso de recursos. É comum o uso de modelos de aprendizado de máquinas [1].

Atualmente, a O-RAN Alliance definiu apenas um RIC que toma decisões em escalas de tempo da ordem de segundos (non-real-time ou non-RT) e um RIC que toma decisões em escalas de tempo da ordem de dezenas ou centenas de milissegundos (near-real-time ou near-RT). De maneira geral, o near-RT RIC interage diretamente com um O-CU e um O-DU enquanto que o non-RT RIC orquestra os near-RT RICs [1].

C - Virtualização

Graças a desagregação, alguns componentes da arquitetura podem se servir de infraestruturas computacionais em nuvem ou em borda, enquanto que outros são instalados próximos à torre [1]. A vantagem da computação em nuvem (Cloud Computing) e em borda (Edge Computing) é que múltiplas máquinas virtuais podem ser instanciadas em uma mesma máquina física, reduzindo custos com manutenção da infraestrutura. Uma segunda vantagem é o fato das máquinas poderem ser migradas para mais perto dos usuários. Outra vantagem é a alocação dinâmica de recursos: uma máquina virtual pode dormir quando a carga de trabalho é menor, reduzindo o gasto de energia.

Algumas funcionalidades como transformadas, modulação, codificação de canal e correção de erro podem se beneficiar com hardwares especializados. A arquitetura O-RAN facilita a aceleração por hardware, pois diferentes componentes de software ficam em diferentes hardwares [1].

D - Interfaces Abertas

A modularização da arquitetura leva à necessidade de se definir interfaces para comunicação entre os módulos, conforme ilustra a Figura 2. Diferente da RAN tradicional, os componentes da RAN não são mais caixas pretas, de modo que suas interfaces são abertas. Assim, os componentes expõem dados de telemetria para os RICs implementarem o controle realimentado, apresentado no Item B. A abertura das interfaces também aumenta a interoperabilidade entre unidades funcionais (CU, DU e RU) de diferentes fabricantes [1]. A Seção 4 irá detalhar o papel de cada interface.

Figura 2 - Componentes da O-RAN e suas interfaces. As interfaces O1 e E2, que interligam os controladores às unidades funcionais, possuem apenas suas terminações, para simplificação.

Componentes

Para atender as características definidas na Seção 2, a arquitetura O-RAN propõe a seguinte estrutura de componentes: Unidades Funcionais, responsáveis por implementar os protocolos da arquitetura de camadas 3GPP, e os RAN Intelligent Controllers (RICs) que proporcionam componentes para controle em malha fechada de forma a otimizar os recursos da estrutura.

Unidades Funcionais

A arquitetura O-RAN propõe a divisão da estação base em 3 unidades lógicas que atuam em conjunto para implementar toda a pilha 3GPP. As unidades se diferenciam não somente pelas camadas implementadas mas também pelo seu paradigma de computação e, consequentemente, sua localização.

Radio unit (O-RU)

Essa unidade atua em conjunto com a Distributed Unit (O-DU) para implementar os protocolos para acesso ao meio físico. Posicionado próximo às antenas, a O-RU é responsável pela parte inferior da camada, assegurando as funcionalidades relacionadas ao acesso direto ao meio. Suas funções abrangem diversas atividades como atuar para que as antenas possam transmitir o sinal de forma direcionada (Beamforming), executar as conversões D/A e A/D além de ser responsável pelos parâmetros de rádio-frequência (RF) para a transmissão e recepção [4].

Distribution Unit (O-DU)

Unidade responsável pelas implementações da parte superior da camada física e por uma parte da camada de enlace. Com relação a camada física, a O-DU atua prinicipalmente no domínio da frequência garantindo, por exemplo, a modulação do sinal. Além disso, é responsável pelo protocolo Medium Acess Control (MAC) que garante alocação de tempo eficiente para as transmissões e busca evitar colisões no meio e, pelo protocolo Radio Link Control (RLC) que é responsável por garantir comunicação confiável entre usuário e a estação base através de um enlace de rádio. Suas funções permitem que sua implementação não fique, necessariamente, próxima à estação de transmissão [4].

Central Unit (O-CU)

Essa unidade é responsável pelos protocolos das camadas superiores da pilha 3GPP possibilitando estar implementada em uma localidade diferente da estação base. É dividida em dois componentes lógicos: Control Plane (CP), responsável por garantir a comunicação e sua autenticação e User Plane (UP), responsável pelos dados dos usuários, possibilitando uma maior desagregação entre os componentes da arquitetura O-RAN.

Os dois componentes executam diferentes protocolos sobre a camada Packet Data Convergence Protocol (PDCP) que proporciona algumas funcionalidades como reordenamento, duplicação de pacotes e etc. para um melhor funcionamento na transmissão no ar. Por ter função de gerenciar a comunicação, o componente Control Plane executa a camada Radio Resource Control (RRC), que gerencia o ciclo de vida das conexão (Estabelecimento, finalização e etc.). Enquanto que o componente User Plane, responsável pelos dados, executa a camada Service Data Adaptation Protocol (SDAP), que garante a qualidade do serviço do fluxo de tráfego [4].

RAN Intelligent Controllers (RICs)

A arquitetura O-RAN inclui dois RICs que recebem informações sobre a infraestrutura da rede (Key Performance Measurements (KPMs)) além de informações de fora da RAN. Esses dados, como a quantidade de usuários, a carga da rede, utilização de recursos, são processados para otimizar o funcionamento dos recursos da infraestrutura, incluindo suporte a algoritmos de Aprendizado de Máquina (AI/ML) para processamento dos dados.

Near Real Time RIC (near-RT RIC)

Controlador responsável por aferir dados de performance da rede vindo de O-DUs e O-CUs em uma janela de tempo entre 10ms a 1s. Uma unidade não está limitada ao controle de somente uma RAN portanto, é responsável pela qualidade de serviço de diversos usuários.

O controle é feito através de uma estrutura de suporte à diversas aplicações implementada no controlador (xApps). Um xApp é uma aplicação que tem acesso aos dados coletados (KPMs) da rede, informações da infraestrutura armazenados dentro do Near-Real-Time RIC (Lista de nós conectados, usuários, etc.), uma infraestrutura para mensagens entre componentes da rede e acesso às interfaces. [4].

Non Real Time RIC (non-RT RIC)

Controlador complementar ao Near-RT RIC responsável por análises em janelas de tempo maiores que 1s. Também possuem uma infraestrutura para multiplas aplicações (rApps) e acesso aos dados da rede como um todo porém, tem um papel de gerenciar tarefas em nível mais alto afetando um número ainda maior de nós. [4].

Suporte a AI/ML

A infraestrutura dos RICs oferece suporte à modelos de Aprendizado de Máquina devido a capacidade de processamento e análise da dados proporcionados por esses algoritmos. Devido ao paradigma de interfaces abertas, os dados da rede podem ser coletados e armazenados em repositórios dentro dos RICs para serem utilizados no treinamento dos modelos de Inteligência Artificial e, os modelos treinados podem ser utilizados como xApps ou rApps dependendo do contexto de suas aplicações [4].

Interfaces

Para padronizar a comunicação entre os diversos componentes, permitindo assim a interoperabilidade entre diversos fornecedores, foi necessária a criação de novas interfaces abertas. Assim, a O-RAN Alliance definiu um conjunto de interfaces para a utilização em Open-RAN, algumas totalmente novas e outras adaptadas do padrão 3GPP já existente. Entre as interfaces definidas pela O-RAN Alliance estão as interfaces A1, E2, O1, O2 e Open Fronthaul.

A1

A interface A1 faz a conexão entre o Non-RT RIC e o Near-RT RIC. Essa interface permite que o Non-RT RIC implemente orientaçẽos baseadas em políticas, gerencie modelos de machine learning e envie informações de enriquecimento ao Near-RT RIC. A interface A1 faz utilização do A1 Application Protocol (A1AP), que utiliza uma combinação de API REST e HTTP para a transferência de objetos JSON.

E2

A interface E2 é utilizada para fazer a conexão entre o Non-RT RIC e os outros componentes da rede (chamados de nós E2). Pela interface E2 o Non-RT RIC pode controlar recursos de rádio e realziar o gerenciamento dos componentes. Através dessa interface, é posśivel também coletar dados e métricas de performance dos diversos nós E2.

A interface E2 foi logicamente dividida em dois protocolos, o E2 Application Protocol (E2AP) e o E2 Service Models (E2SM). o E2AP provê uma série de serviços especificados pelo O-RAN Alliance que podem ser combinados para a implementação do E2SM [1].

O1

A interface O1 conecta o SMO aos diversos componentes da RAN, incluindo o Near-RT RIC, os CUs, DUs, RUs e eNBs. A principal característica da interface O1 é o suporte a serviços de gerenciametos (Management Services - MnS).

Os serviços de gerenciamento tem a função de gerenciar o ciclo de vida dos componentes da RAN (inicialização e configuração), coletar dados de performance a partir de KPIs, e fazer o gerenciameto de arquivos e software [1]. Os protocolos utilizados pela interface O1 incluem uma combinação de REST/HTTPS e NETCONF, funcionando sobre os protocolos TCP e IP.

O2

A interface O2 conecta o SMO à O-Cloud, permitindo o controle e gerenciamento da RAN a partir da O-Coud. Pela interface O2 é possível fazer um inventário das intalações da RAN, monitorar, aplicar tolerância a falhas e atualizações.

Open Fronthaul

O Open Fronthaul é resposável pela comunicação entre um DU e um ou mais RUs no mesmo gNB. Com isso, é possível dividir as funcionalidades entre o RU e o DU, como definido no split 7.2x, adotado em Open-RAN. Essa interface também permite o controle de RUs a partir do DU.

O Open Fronthaul é dividido entre quatro planos, sendo eles o plano de controle (C-plane), o plano de usuário (U-Plane), o plano de sincronização (S-plane) e o plano de gerenciamento (M-plane). O plano controle é responsável por transferir comandos entre o DU e o CU. O plano de usuário é responsável pela tranferência de amostras em fase e quadratura (I/Q) no domínio da frequência entre o RU e o DU. O plano de sincronização realiza a sincronia entre o tempo, frequência e fase entre os clocks de DUs e RUs. O plano de gerenciamento funciona em paralelo aos outros planos e realiza operação realcionadas ao ciclo de vida dos componentes.

Aplicações

Como já mencionado, o arquitetura O-RAN permite a realização do controle de componentes da rede por meio do Non-RT RIC e do Near-RT RIC. O Non-RT RIC permite a implementação de aplicações em que o loop de controle necessário seja maior que um segundo, já as aplicações do Near-RT RIC podem atuar em escalas de tempo entre 10 milissegundos e 1 segundo.

A partir da utilização dos controladores, é possível também implementar aplicações baseadas em modelos de aprendizado de máquina, que são treinados previamente e implantados como um xApp no Near-RT RIC, ou um rApp no Non-RT RIC. Uma vez implementados, as aplicações de aprendizado de máquina coletam dados na forma de indicadores de performance (Key Performance Indicator) e inferem uma ação de controle com base nesses dados.

A aplicações do Non-RT RIC atuam na orquestração de recusos de infraestrutura e coordenação entre o Non-RT RIC e o Near-RT RIC. Entre exemplos práticos de laços de controle aplicados no Non-RT RIC estão a instanciação e orquestração de fatias de redes, a seleção sobre quais modelos de inferêcia do catálogo devem ser implantados para cumprir com as intenções do operador, bem como em quais Near-RT RICs esses modelos devem executar [4].

O Near-RT RIC atua entre o Non-RT RIC e os componentes das estações base, vale ressaltar que um único Near-RT RIC pode estar associado a multiplas estações base. Entre aplicações implementadas no Near-RT RIC estão o controle de balanceamento da rede e a realização de handover, o desing e agendamento de beamforming e a otimização da qualidade de serviço por usuário [4].

Na tabela abaixo, adaptada de [4], estão definidos os laços de controles e seus objetivos. Na tabela é previsto desafios que envolvem um controlador de tempo real (com laços de controle menos que 10 milissegundos), ainda não existente na arquitetura O-RAN.

Objetivo de controle Escala de atuação Escala de tempo
Politicas, modelos e fatiamento Milhares dispositivos Não tempo real (>1 s)
Gerenciamento de sessão de usuário Centenas de dispositivos Quase tempo real (10-1000 ms)
Gerenciamento de acesso ao meio Centenas de dispositivos Quase tempo real (10-1000 ms)
Gerenciamento de rádio Dezenas de dispositivos Tempo real (<10 ms)
Gerenciamento de upload e download de dispositivos Um dispositivos Tempo real (<10 ms)

Segurança

A desagregação e a abertura das interfaces na O-RAN levanta preocupações quanto à segurança. Com a O-RAN, os operadores da rede precisam proteger os acessos a componentes instanciados em diferentes localizações da infraestrutura, bem como garantir a segurança das novas aplicações de gerenciamento da rede (xApps e rApps). Geralmente, os requisitos de segurança que devem ser mantidos são os seguintes [1]:

  • Disponibilidade da infraestrutura.
  • Integridade da infraestrutura e dos dados, no sentido de evitar a falsificação dos componentes e dos dados.
  • Confidencialidade dos dados dos usuários coletados

A seguir, destacamos algumas das fragilidades e ataques, listados em [1], com potencial de comprometer os requisitos acima:

  • Dados em claro trafegam na interface que conecta unidade de rádio (RU) e de dados (DU), o fronthaul. A comunicação entre esses componentes deve oferecer baixíssima latência. A criptografia poderia proteger a confidencialidade dos dados, mas ela introduz uma sobrecarga de desempenho.
  • Os desenvolvedores podem criar aplicações que comprometem a confidencialidade de dados nos controladores inteligentes (RICs).
  • Os atacantes podem obter atacar o meio físico de modo a atrapalhar a sincronização entre a RU e a DU ou reduzir a potência, comprometendo a disponibilidade.
  • As interfaces web com mecanismos de controle de acesso e autenticação fracos podem comprometer completamente os requisitos de segurança dependendo do escalamento de privilégio que o atacante obteve na infraestrutura.
  • Os atacantes podem controlar nós da rede para produzir dados sintéticos. Esses dados podem envenenar o modelo de aprendizado de máquina que está sendo ajustado online, ou seja, degradar o desempenho da tarefa de controle inteligente.

Apesar das fragilidades de segurança, a maior flexibilidade de configuração da rede trazida pela O-RAN facilita a adoção de novas contramedidas de segurança. Um dos grupos de trabalho da Aliança O-RAN propôs diversas especificações técnicas com contramedidas de segurança. Essas especificações definem algoritmos criptográficos, protocolos e práticas de segurança. O trabalho do grupo é bastante dinâmico e ainda há muitas oportunidades de melhoria da segurança.

Plataformas

Anteriormente, as implementações de RAN eram realizadas de forma proprietária e fechada, o que dificultava a realização de pesquisas e testes de implementações. Isso restringia os testes aos equipamentos de um fornecedor específico, tornando as pesquisas limitadas e difíceis de serem conduzidas.

A proposta de padrões de interface, componentes e frameworks abertos da O-RAN possibilita a condução de pesquisas e testes de forma facilitada e universal. Sendo possível simular os diversos componentes da rede, incluindo as Unidades Funcionais, os RICs e as Interfaces, e considerar o ambiente de transmissão de radiofrequência para realizar experimentos em uma arquitetura O-RAN.

Frameworks

Para executar os componentes da arquitetura O-RAN, existem frameworks como o OpenRAN Gym. O OpenRAN Gym utiliza conteineres (por exemplo, Docker) para implementar os componentes, incluindo pilhas 3GPP abertas (por exemplo, srsRAN), RICs, controladores de interface e pipelines de Inteligência Artificial (IA). Essa abordagem permite executar a arquitetura em praticamente qualquer computador, facilitando a realização de experimentos e testes [4, 5].

Plataformas

Para simular o funcionamento em um ambiente de transmissão, existem plataformas como Colosseum e Arena. O Colosseum disponibiliza servidores com equipamentos de RF conectados a um emulador de canal, permitindo simular o ambiente de transmissão. A Arena, por sua vez, oferece servidores com equipamentos de RF e diversas antenas para realizar testes de transmissão de forma mais realista [4, 6, 7].

Conclusões

Este trabalho apresentou a Open RAN, baseado nos trabalhos desenvolvidos pela O-RAN Alliance e na literatura acadêmica. Em se tratando de um assunto novo nas áreas da redes de computadores e comunicações, ainda há muitas oportunidades de atuação na área por empresas e instituições de pesquisa. Destacam-se entre elas o desenvolvimento de melhores modelos de aprendizado de máquina, xApps e rApps, hardwares otimizados (FPGAs e ASICs), propostas de segurança, testbeds, desenvolvimento e testagem dos softwares utilizados nas unidades funcionais e RICs e ferramentas de simulação.

Referências

[1] M. Polese, L. Bonati, S. D’Oro, S. Basagni, T. Melodia, “Understanding O-RAN: Architecture, Interfaces, Algorithms, Security, and Research Challenges,” IEEE Communications Surveys & Tutorials, pp. 1-23, January 2023.

[2] S. K. Singh, R. Singh and B. Kumbhani, "The Evolution of Radio Access Network Towards Open-RAN: Challenges and Opportunities," 2020 IEEE Wireless Communications and Networking Conference Workshops (WCNCW), 2020.

[3] O-RAN Downloads. O-RAN ALLIANCE Specifications. Disponível em: https://orandownloadsweb.azurewebsites.net/ specifications. Acesso em: 28 abr. 2023.

[4] L. Bonati, S. D’Oro, M. Polese, S. Basagni, and T. Melodia, “Intelligence and Learning in O-RAN for Data-driven NextG Cellular Networks,” IEEE Communications Magazine, vol. 59, no. 10, pp. 21–27, October 2021.

[5] OpenRAN Gym. Disponível em: https://openrangym.com/. Acesso em: 23 jun. 2023.

[6] OpenRAN Gym. Colosseum. Disponível em: https://openrangym.com/experimental-platforms/colosseum. Acesso em: 23 jun. 2023.

[7] OpenRAN Gym. Arena. Disponível em: https://openrangym.com/experimental-platforms/arena. Acesso em: 23 jun. 2023.