Bouw een 5G Open RAN-testlaboratorium met open-source softwaretools

Open source software biedt netwerkcomponenten waarmee u 5G-netwerkfuncties van de netwerkkern tot aan de radio kunt simuleren. 

door Lincoln Lavoie, Interoperabiliteitslab van de Universiteit van New Hampshire

Het ontwikkelen en inzetten van een laboratoriuminfrastructuur ter ondersteuning van het testen van 5G en open radiotoegangsnetwerksystemen (Open RAN) kan een lastige en complexe taak zijn. Vóór Open RAN was deze taak alleen mogelijk door rechtstreeks contact op te nemen met de grote leveranciers van netwerksystemen. Sindsdien hebben verschillende open-sourceprojecten en organisaties materialen ontwikkeld op basis van 3GPP- en O-RAN Alliance-specificaties. Deze tools en middelen maken het mogelijk om een ​​volledige 5G-implementatie te creëren, variërend van de mobiele kern tot RAN, waardoor ingenieurs van onschatbare waarde zijn.

Open source-activiteiten spelen een belangrijke rol omdat ze snelle prototyping en verificatie van de specificaties mogelijk maken. Deze specificaties kunnen nog in conceptvorm zijn. Veel standaardisatiegroepen hebben praktijken en beleid ontwikkeld om het gebruik van open source te bevorderen. Deze groepen omvatten de Internet Engineering Task Force (IETF), richtlijnen en praktijken rond ‘ruwe consensus en lopende code’, en de Open Software Community (OSC) van de O-RAN Alliance, die formele programma’s hebben geïmplementeerd.

Een van de meest complexe aspecten van open-sourceprojecten en -componenten in een 5G-testlaboratorium is waar te beginnen. In dit artikel bespreken we enkele fundamentele componenten die ingenieurs als startblokken kunnen gebruiken en leggen we uit hoe open-sourcesoftware Open RAN-testen kan ondersteunen.

Om het proces te starten, moet u eerst enkele van de belangrijkste componenten van een 5G-netwerk begrijpen. In dit geval zullen we het kernnetwerk generaliseren als een enkele component, aangezien meerdere open-sourceopties momenteel de kernnetwerkfuncties implementeren die vereist zijn door de 3GPP-specificaties. De mobiele 5G-kern omvat verschillende individuele netwerkfuncties die de op diensten gebaseerde architectuur mogelijk maken die is gedefinieerd door 3GPP.

Drie bekende voorbeelden van open-sourcesystemen die de 5G-kern implementeren zijn het Open 5GS-project, het gratis 5GC-project en de Open Air Interface 5G-kernnetwerkcomponent. De eerste twee projecten zijn op zichzelf staande implementaties van de 5G-kern. Tegelijkertijd is dit laatste nauwer gekoppeld aan het grotere Open Air Interface (OAI)-project, dat ook het RAN kan leveren.

Bij UNH-IOL gebruiken we regelmatig de Open 5GS-kern, die we inzetten als twee sets componenten. Ten eerste implementeren we de primaire besturingscomponenten, waaronder de toegangs- en mobiliteitsbeheerfunctie (AMF), de 5G-sessiebeheerfunctie (SMF) en andere. Ten tweede implementeren we de user plane function (UPF), die verantwoordelijk is voor het doorsturen van abonneeverkeer van de RAN-interfaces naar het datanetwerk (bijvoorbeeld het internet). Dit maakt op effectieve wijze controle/gebruikersvlakscheiding (CUPS) mogelijk, waarbij deze functies worden geïmplementeerd op afzonderlijke virtuele machines. Op dezelfde manier zouden we ook meerdere UPF-instanties kunnen implementeren in grotere implementaties om de belasting van het abonneeverkeer te verdelen. Figuur 1 toont een deel van de logistiek van deze inzet in ons laboratorium.

Figuur 1. De UNH-IOL heeft deze Open 5GS-topologie ingezet voor het testen van de interoperabiliteit van 5G-netwerkcomponenten.

Van kern tot RAN

Zodra het kernnetwerk draait, zal de volgende waarschijnlijke focus het RAN zijn. Binnen deze ruimte zullen we dichter bij de voorhoede van de open-source ontwikkelingsinspanningen komen, afhankelijk van de richtingen die binnen de implementatie worden gevolgd. Het RAN zorgt voor een RF-verbinding tussen de gebruikersapparatuur (UE) en het mobiele kernnetwerk. Dat is een te grote vereenvoudiging, maar we zullen bij die werkdefinitie blijven zonder in te gaan op enkele complexe onderwerpen zoals overdrachten, ondersteuning van meerdere cellen, aggregatie van carriers, enzovoort. Hier zal de belangrijkste factor in de selectieprocessen zich waarschijnlijk concentreren rond de radiocomponenten, waarvoor we twee opties hebben.

Ten eerste zouden we een op software gedefinieerd radio (SDR) gebaseerd systeem kunnen inzetten dat gebruik maakt van het Open Air Interface-project om de software en firmware te leveren om het volledige RAN te implementeren, of beter gezegd, een goed basisstation. Afhankelijk van de geselecteerde SDR-hardware is het wellicht mogelijk om RF-poorten rechtstreeks op de antenne aan te sluiten. Om te voorkomen dat enig gelicentieerd spectrum wordt geschonden, moet een RF-verbinding met het UE-apparaat mogelijk zijn. Wat dat betreft heeft een laboratorium ook afgeschermde kamers of RF-isolatiekamers nodig, maar dat valt buiten de reikwijdte van dit artikel.

Een andere benadering voor het implementeren van RAN volgt de specificaties van de O-RAN Alliance, waarbij de gNodeB wordt opgesplitst in afzonderlijke componenten: radio-eenheid (RU), gedistribueerde eenheid (DU) en gecentraliseerde eenheid (CU). Op dit gebied kan het OAI-project bepaalde software leveren, met name de DU- en CU-componenten, die vervolgens de Open Fronthaul-interface (OFH) naar de spoorwegonderneming implementeren. Voor de RU is het selecteren van een product van een leverancier noodzakelijk omdat er momenteel geen open source RU's bestaan.

Om de juiste overdracht van radiosignalen of frames te garanderen, moeten de DU en RU de tijd synchroniseren en deze goed genoeg begrijpen om de OFH-interface te ondersteunen. Ook hier zijn meerdere architecturen of benaderingen mogelijk, beschreven als verschillende configuraties LLS-C1 tot en met LLS-C4. In ons laboratorium implementeren we momenteel LLS-C3, waarbij een van de fronthaul-schakelaars dienst doet als de IEEE-1588-grootmeesterklok, die de timing aan de RU en DU levert. Ondersteuning voor hardwarematige tijdstempels is vereist voor de NIC op de DU-server en het ptp4l-project wordt gebruikt om de serverklokken met het netwerk te synchroniseren. Figuur 2 toont deze configuratie in het lab.

Figuur 2. Voor Open RAN gebruikt het lab deze opgesplitste topologie, waarbij rekening wordt gehouden met netwerkliming.

Ervan uitgaande dat u kant-en-klare UE-apparaten zoals telefoons gaat gebruiken, is alles klaar om te testen, toch? Nou ja, bijna. Tot nu toe zijn een kernnetwerk en een radionetwerk ingezet. Behoudens configuratieproblemen moet de gNodeB geregistreerd zijn bij en verbonden zijn met het kernnetwerk. Het moet ten minste één cel op de gewenste 5G-band bieden waarmee de UE verbinding kan maken. De UE moet zich authenticeren bij het netwerk, wat afhankelijk is van de simkaart. In 5G werkt de authenticatie ‘in beide richtingen’, waarbij de UE het netwerk authenticeert en het netwerk de UE authenticeert. Zonder alle details te doorzoeken, is hiervoor de netwerkinformatie vereist, dat wil zeggen dat sommige van de sleutels die in het kernnetwerk zijn ingericht, overeenkomen met de sleutels op de SIM-kaart, waardoor de cryptografische uitdaging/reactie met succes kan worden voltooid. Het is (om zeer goede redenen) niet mogelijk om deze sleutelwaarden van een simkaart af te lezen.

Sommige simkaarten zijn echter programmeerbaar, meestal voor testdoeleinden. Het laatste deel van de laboratoriumhardware is dus een kleine simkaartlezer/-schrijver, samen met de programmeerbare simkaarten. Gelukkig zijn er aan de programmeerkant enkele open-sourcetools waarmee je de netwerksleutelwaarden en de abonnee-ID's in de simkaart kunt programmeren, waardoor de authenticatie kan slagen. Hulpmiddelen die we voor dit doel in het lab hebben gebruikt, zijn pysim en sysmo-usim-tool.

Met behulp van open source tools kun je het UE-apparaat online brengen met een werkende 5G-verbinding in het lab. Al het werk hier bestrijkt slechts het oppervlak van het 5G-netwerk en de testmogelijkheden. Toch zou je een lab moeten inschakelen met op open source gebaseerde bronnen die meer geavanceerde functies kunnen ondersteunen met de juiste configuratie, zoals netwerkslicing of carrier/cel-aggregatie, om maar een paar mogelijke onderwerpen te noemen.