Ferramentas úteis para redes móveis
UERANSIM
O UERANSIM é uma solução de software de código aberto, desenvolvida em C++, destinada à simulação de redes 5G. Esta ferramenta, que se destaca por oferecer uma implementação completa do UE e da gNB, permite a simulação de processos essenciais da rede 5G, tais como procedimentos de registro, estabelecimento de serviço, configuração de segurança, entre outros [1].
Essa plataforma de simulação fornece um ambiente controlado e reproduzível para experimentação e desenvolvimento da tecnologia 5G, sem a necessidade de acesso à infraestrutura real da rede 5G. Adicionalmente, seu caráter de código aberto permite que os usuários possam alterar e aprimorar o software conforme suas necessidades específicas, contribuindo para a evolução constante da ferramenta. Por isso, o UERANSIM se apresenta como um recurso valioso para pesquisadores, desenvolvedores e engenheiros que atuam com a tecnologia 5G [1,2].
Aether-in-a-box
O Aether-in-a-Box é um projeto de pesquisa e desenvolvimento no contexto do 5G que visa criar uma plataforma de testes e experimentação para a tecnologia 5G e suas aplicações. Esse projeto é financiado e apoiado por várias empresas líderes da indústria de telecomunicações, incluindo fornecedores de equipamentos, operadoras de rede e instituições acadêmicas [3].
O objetivo do Aether-in-a-Box é fornecer uma solução completa e de ponta a ponta para testes e validação de tecnologias 5G, incluindo equipamentos de rede, dispositivos móveis e aplicações. Ele busca criar um ambiente controlado e flexível, onde pesquisadores e desenvolvedores possam explorar os recursos do 5G, avaliar o desempenho de novos serviços e experimentar novas ideias em redes privadas [3].
A pesquisa realizada no âmbito do projeto Aether-in-a-Box abrange diversas áreas relacionadas ao 5G, como redes de acesso sem fio, virtualização de redes, computação em nuvem, internet das coisas (IoT), segurança e muito mais. Os pesquisadores envolvidos têm a oportunidade de explorar os desafios e as oportunidades apresentadas pelo 5G, contribuindo para o avanço dessa tecnologia e suas aplicações [3].
O Aether-in-a-Box surgiu como uma resposta à crescente demanda por plataformas de testes 5G mais acessíveis e flexíveis e também a rede privada é um conceito de grande impacto. A ideia por trás do projeto é permitir que empresas e instituições de pesquisa tenham acesso a um ambiente de teste realista e controlado, sem a necessidade de grandes investimentos em infraestrutura [3].
Ao disponibilizar uma plataforma aberta e modular, o Aether-in-a-Box incentiva a colaboração e o compartilhamento de conhecimento entre diferentes atores da indústria de telecomunicações. Isso contribui para impulsionar a inovação e acelerar o desenvolvimento de novas aplicações e serviços baseados no 5G [3].
No decorrer do projeto, várias empresas estão envolvidas no financiamento e suporte, incluindo fornecedores de equipamentos de rede, fabricantes de dispositivos móveis, operadoras de telecomunicações e instituições de pesquisa. Essa colaboração entre diferentes stakeholders é fundamental para impulsionar o desenvolvimento do 5G e garantir sua adoção bem-sucedida [3].
No geral, o projeto Aether-in-a-Box representa um esforço conjunto para impulsionar a pesquisa pela ONF, desenvolvimento e adoção do 5G, fornecendo uma plataforma de testes aberta e flexível. Com o envolvimento de várias empresas e instituições, ele está contribuindo para a evolução contínua do 5G e a criação de um ecossistema inovador para as futuras redes de telecomunicações [3,4].
Free5GC / Free5GC Compose
O Free5GC Compose é uma versão em Docker Compose do Free5GC, que por sua vez é um projeto em código aberto para simulação de processos e aplicações do core 5G mantido pela Universidade Nacional Chiao Tung (NCTU – National Chiao Tung University), localizada em Hsinchu, Taiwan. O objetivo final do projeto Free5GC é implementar o core da rede 5G definido na Release 15 (R15) e posteriores. A licença do Free5GC é a Apache 2.0, isto é, qualquer um pode usar o Free5GC para fins comerciais sem pagar taxas [5,6].
No estágio 3, o Free5GC apresenta um core 5G completamente funcional e suporta funcionalidades de operação, administração, e gerenciamento (OAM – Operation, Administration and Management) além de orquestração. Foram adicionadas as funções N3IWF e a funcionalidade de classificador de Uplink (ULCL – UpLink Classifier) [6], além das já suportadas funções: NSSF, NRF, UDM, PCF, AUSF, AMF, SMF, e UPF [5].
Além dos containers contendo cada uma das NFs isoladas, o Free5GC Compose possui um container com a implementação de uma interface Web (WebUI). A WebUI permite cadastrar os dispositvos de usuário no Core com uma série de configuraçãoes como: Identidade Internacional de Assinante Móvel (IMSI – International Mobile Subscriber Identity), S-NSSAI, DNN e configurações de QoS. Podendo através da WEBUI também, visualizar informações da conexão como consumo de dados em tempo real, endereço IP do assinante e entre outras funções. A plataforma Free5GC Compose utiliza o protocolo HTTP2 para implementar a arquitetura de representação do estado de Transferência (REST – Representational State Transfer) [5,6].
OpenAirInterface
O OAI (OpenAirInterface) é uma plataforma de software de código aberto criada com intuito de oferecer ferramentas para o desenvolvimento de redes de telecomunicações móveis definidas por software com base nos padrões 3GPP. O projeto é mantido pelo Eurecom, um instituto francês de pesquisa em telecomunicações [7,8]. O OpenAirInterface implementa o NG-RAN e o 5GC em hardware genérico, subdivididos em dois projetos [7,9].
O OpenAirInterface segue o conceito Open-RAN, que tem a premissa de implementar o rádio do 5G através de iniciativas de código aberto, removendo assim a necessidade de estar preso a tecnologias proprietárias e garantindo interoperabilidade e flexibilidade para escolher diferentes fornecedores durante a implantação de rede [7].
Usando o simulador OAI, pesquisadores e desenvolvedores podem avaliar o desempenho de protocolos e algoritmos de rede sem fio em várias condições e cenários. Isso permite que eles identifiquem possíveis problemas e otimizem o desempenho de seus sistemas sem fio antes de implantá-los em ambientes do mundo real [7].
5G-LENA
O simulador 5G-LENA, com código aberto, é um simulador de ponta a ponta, a nível de sistema, que é oferecido como um módulo do software ns-3 e é mantido pela instituição CCTC (Centre Tecnològic de Telecomunicacions de Catalunya), localizada na Espanha, possuindo licença GPLv2 [10].
Seu desenvolvimento se deu a partir de um fork do simulador ns–3 mmWave [10,11], que, por sua vez, foi baseado no simulador LENA (para 4G) que havia sido desenvolvido pelo CCTC [10,12].
Já que o simulador funciona sobre o ns-3, é possível utilizar outros módulos de simulação como Ethernet, Wi-Fi, LTE, entre outros, juntamente ao 5G-LENA, sendo possível conduzir simulações com interoperabilidade de tecnologias, o que aumenta a versatilidade dos testes e a relevância dos resultados [10].
As camadas PHY e MAC foram implementadas seguindo-se os padrões do rádio 5G, no entanto, as camadas e protocolos RLC, PDCP, RRC, NAS e o Core são ainda os mesmos do simulador LENA (4G) [10,12]. A camada SDAP, por não existir no 4G, também não está presente no 5G-LENA [10,12].
Dentre as funcionalidades do rádio 5G (NR) relevantes do simulador estão:
- configuração flexível e automática da estrutura do quadro NR através de múltiplas numerologias [10,12];
- acesso baseado em Orthogonal Frequency-Division Multiple Access (OFDMA) com TTIs (Transmission Time Interval) variáveis [10,12];
- novos schedulers flexíveis de MAC que consideram simultaneamente recursos de domínio de tempo e frequência (blocos de recursos e símbolos) tanto para esquemas de acesso Time-Division Multiple Access (TDMA) quanto para esquemas de acesso baseados em OFDMA com TTI variável [10,12];
- tempos de processamento em acordo com o rádio 5G [10,12];
- novos gerenciadores de Bandwidth Part (BWP) e arquitetura com suporte a múltiplas BWPs [10,12];
- suporte a frequências mmWave e bandas de 400 MHz [10].
Algumas outras funcionalidades, não específicas do 5G, são:
- suporte a configuração de potência de transmissão [10];
- configuração da quantidade de antenas [10];
- configuração da velocidade dos nós [10];
- beamforming [10];
- suporte a vários modelos de propagação [10].
Scapy
Scapy é um poderoso programa interativo de manipulação de pacotes. É capaz de forjar e decodificar pacotes de um grande número de protocolos, enviá-los, capturá-los, casar requisições e respostas, entre outros [5,13]. Uma das funcionalidades mais interessantes do Scapy é a capacidade de criar pacotes customizáveis, especificando as diferentes camadas e protocolos de rede, bem como alterar cada um dos campo dos cabeçalhos destes pacotes [5].
Essa criação e customização é facilitada com o uso da interface por linha de comando e pela sintaxe simples e direta, uma vez que o Scapy é implementado em Python. Outra funcionalidade que auxilia na criação de fluxos de pacotes é a função rdpcap em que é possível ler arquivos de gravação de tráfego (.pcap), arquivos estes que podem ser gerados em capturas de ferramentas como Tcpdump e Wireshark [5].
Outra funcionalidade implementada pela biblioteca Scapy é o método sniff. Esta função é responsável por capturar pacotes e armazená-los em uma estrutura que pode, posteriormente ser manipulada e tratada utilizando Python [5].
No código fonte 1 é possível observar o commando sniff para a captura de cem pacotes, esta quantidade é configurada através do parâmetro count. O comando se utiliza de um filtro que seleciona somente pacotes cujo protocolo da camada de transporte é UDP (User Data Protocol) e cujas portas são 67 ou 68, ambas referentes ao protocolo DHCP (Dynamic Host Configuration Protocol) e vindos do endereços IP de origem 8.8.8.8 através do parâmetro filter [5].
Além disto este comando filtra qual interface de rede desejada para interceptar os pacotes, neste caso eth0, uma interface do tipo Ethernet padrão, presente em sistema operacionais Linux. Por fim, todos estes pacotes interceptados são armazenados em uma variável pacotes para posterior tratamento e manipulação.
Código fonte 1 – Exemplo de utilização do comando sniff da biblioteca Scapy
pacotes = sniff(filter="src 8.8.8.8 udp port 67 or 68", iface="eth0", count=100)
Simuladores
A melhor forma de se avaliar sistemas para entender a influência de cada conjunto de configurações nos índices de desempenho finais é por meio de simulações [10].
Alguns exemplos de simuladores de redes utilizados na academia são o ns-3 e o OMNeT++. Ambos possuem bibliotecas com suporte a simulação de redes móveis e são muito versáteis, possuindo um grande leque de configurações disponíveis. Além disso, oferecem suporte à integração de recursos físicos e interfaces de redes do sistema operacional, permitindo a interação entre diferentes softwares e hardwares, como por exemplo: UE e interface de rádio simulada interagindo com um Core 5G e uma rede de dados real [10].
Também, softwares como o MATLAB são bastante utilizados para simulações de nível de enlace, pois possuem uma vasta biblioteca de funcionalidades para estudos de sistemas de controle, sinais e modulações, permitindo o desenvolvimento de códigos em linguagem própria que facilitam o acesso a tais recursos [10].
O Quadro 1 ilustra uma lista de simuladores de código aberto para sistemas 5G e uma breve descrição de cada um [10].
Quadro 1 – Simuladores de 5G de código aberto
Simulador | Características principais |
OpenAirInterface [9] | Pode ser utilizado com hardware SDR para testes reais controlando o acesso ou o UE. Possui também um simulador para simular a parte de rádio do 5G, porém não permite configurações avançadas como distância, beamforming, obstáculos, velocidade, entre outros. |
NYUSIM [14] | Simulador de nível de enlace (link) para modelagem estatística de canal, código de simulação com interface fácil de usar e frequências de portadora de 2 a 73 GHz. Escrito para MATLAB. |
Vienna 5G Simulators [15] | Simuladores de nível de enlace e de sistema para simulações em grande escala (incluindo centenas de nós) e suporte à paralelização. Escrito para MATLAB. |
WiSE [16] | Simulador de nível de sistema para orientações multicamadas. |
GTEC 5G Simulator [17] | Simulador de nível de enlace. Para MATLAB. |
5G Toolbox by Matlab [18] | Simulador de nível de enlace, focado em modelagem de canal e geração de sinal. Para MATLAB. |
Simu5G [19] | Simulador de ponta a ponta em nível de sistema baseado em OMNeT++. |
5G-air-simulator [20] | Simulador em nível de sistema, de ponta a ponta, para modelar a interface de ar (air) 5G. |
ns–3 mmWave [11] | Simulador em nível de sistema de ponta a ponta com pilha de protocolos completa para simular bandas de ondas milimétricas do rádio 5G (NR). Para ns-3. |
5G-LENA [12] | Simulador em nível de sistema de ponta a ponta com pilha de protocolos completa para simular bandas de 0,5 até 100 GHz do rádio 5G (NR). Para ns-3. |
Fonte: [21]. Traduzido e adaptado por [10]
Referências:
[1] ROTA, Lucas Kienen. Avaliação e validação da interoperabilidade das Redes Non3GPP com as redes 5G fim a fim (UE a UE). 2023. 88 f. TCC (Graduação) – Curso de Engenharia de Controle e Automação, Departamento de Engenharia de Controle, Automação e Computação, Universidade Federal de Santa Catarina. Campus Blumenau, Blumenau, 2023. Disponível em: https://repositorio.ufsc.br/handle/123456789/248729. Acesso em: 13 jul. 2023.
[2] UERANSIM. UERANSIM. Acessado em: 21 de Junho de 2023. 2023. Disponível em: https://github.com/aligungr/UERANSIM.
[3] LIAO, Douglas. Implementação de QoS em rede 5G através do Network Slicing. 2023. 75 f. TCC (Graduação) – Curso de Engenharia de Controle e Automação, Departamento de Engenharia de Controle, Automação e Computação, Universidade Federal de Santa Catarina. Campus Blumenau, Blumenau, 2023. Disponível em: https://repositorio.ufsc.br/handle/123456789/248721. Acesso em: 13 jul. 2023.
[4] FOUNDATION, Open Networking. Aether-in-a-Box for Developers. 2020. Disponível em: https://docs.aetherproject.org/master/developer/aiabhw5g.html. Acesso em: 6 jun. 2023.
[5] SILVA, Gabriel Henrique Davanço. Classificação de tráfego por classes de serviço no núcleo 5G. 2022. 80 f. TCC (Graduação) – Curso de Engenharia de Controle e Automação, Departamento de Engenharia de Controle, Automação e Computação, Universidade Federal de Santa Catarina. Campus Blumenau, Blumenau, 2022. Disponível em: https://repositorio.ufsc.br/handle/123456789/237577. Acesso em: 26 ago. 2022.
[6] NATIONAL CHIAO TUNG UNIVERSITY AND NATIONAL CHUNG CHENG UNIVERSITY. free5GC Link The Word! 2019. Disponível em: . Acesso em: 14 abr. 2022.
[7] BARETTA, José Luis Maziero. Encapsulamento de protocolos Ethernet Industrial utilizando a rede 5G. 2022. 74 f. TCC (Graduação) – Curso de Engenharia de Controle e Automação, Departamento de Engenharia de Controle, Automação e Computação, Universidade Federal de Santa Catarina. Campus Blumenau, Blumenau, 2022. Disponível em: https://repositorio.ufsc.br/handle/123456789/243552. Acesso em: 01 abr. 2023.
[8] MALLASEN QUINTANA, S. Deployment and analysis of a 5G NR radio access network based on Open RAN, using USRPs and OpenAirInterface. [S.l.: s.n.], Acesso em: 7 dez. 2022. Disponível em:http://hdl.handle.net/10251/187834.
[9] KALTENBERGER, F. et al. The OpenAirInterface 5G New Radio Implementation: Current Status and Roadmap. WSA 2019; 23rd International ITG Workshop on Smart Antennas, pp. 1-5, 2019.
[10] MAILER, Christian. Desenvolvimento e análise de um modelo de simulação para arquiteturas 5G industriais. 2022. 86 f. Dissertação (Mestrado) – Curso de Ciência da Computação, Centro Tecnológico, Universidade Federal de Santa Catarina, Florianópolis, 2022. Disponível em: https://repositorio.ufsc.br/handle/123456789/244587. Acesso em: 01 abr. 2023.
[11] MEZZAVILLA, M. et al. End-to-End Simulation of 5G mmWave Networks. IEEE Communications Surveys & Tutorials, vol. 20, no. 3, pp. 2237-2263, Abr. 2018, doi: 10.1109/COMST.2018.2828880.
[12] PATRICIELLO, N. et al. An E2E Simulator for 5G NR Networks. Simulation Modelling Practice and Theory, vol. 96, n. 101933, Nov. 2019, doi: 10.1016/j.simpat.2019.101933.
[13] BIONDI, P. Scapy: Packet Crafting for Python2 and Python3. 2021. Disponível em: . Acesso em: 12 jul. 2022.
[14] SUN, S.; MACCARTNEY, G. R.; RAPPAPORT, T. S. A novel millimeter-wave channel simulator and applications for 5G wireless communications. 2017 IEEE International Conference on Communications (ICC), pp. 1-7, Jul. 2017, doi: 10.1109/ICC.2017.7996792.
[15] MÜLLER, M. et al. Flexible multi-node simulation of cellular mobile communications: the Vienna 5G System Level Simulator. Journal on Wireless Communications and Networking, vol. 2018, n. 227, Set. 2018, doi: 10.1186/s13638-018-1238-7.
[16] JAO, C. -K. et al. WiSE: A System-Level Simulator for 5G Mobile Networks. IEEE Wireless Communications, vol. 25, no. 2, pp. 4-7, Abr. 2018, doi: 10.1109/MWC.2018.8352614.
[17] DOMINGUEZ-BOLANO, T. et al. The GTEC 5G link-level simulator. 1st International Workshop on Link- and System Level Simulations (IWSLS). 2016, pp. 1-6, doi: 10.1109/IWSLS.2016.7801585.
[18] MATHWORKS. 5G Toolbox, 2021. Simulate, analyze and tests 5G communications Systems. Math works. Disponível em: https://www.mathworks.com/products/5g.html. Acesso em: 07 nov. 2022.
[19] NARDINI, G. et al. Simu5G: A System-level Simulator for 5G Networks. Proceedings of the 10th International Conference on Simulation and Modeling Methodologies, Technologies and Applications, pp. 68-80, 2020, doi: 10.5220/0009826400680080.
[20] MARTIRADONNA, S. et al. 5G-Air-simulator: An open-source tool modeling the 5G air interface. Computer Networks, vol. 173, n. 107151, Maio 2020, doi: 10.1016/j.comnet.2020.107151.
[21] KOUTLIA, K. et al. Calibration of the 5G-LENA System Level Simulator in 3GPP reference scenarios. Elsevier Simulation Modelling Practice and Theory (SIMPAT), vol. 119, n. 102580, Maio 2022, doi: 10.1016/j.simpat.2022.102580.