Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Membangun 5GC dengan Klaster Raspberry Pi

Avatar for stwn stwn
July 19, 2025

Membangun 5GC dengan Klaster Raspberry Pi

Avatar for stwn

stwn

July 19, 2025
Tweet

More Decks by stwn

Other Decks in Technology

Transcript

  1. Yogyakarta, 19 July 2025 Building 5GC with a Cluster of

    Pis Membangun 5GC dengan Klaster Raspberry Pi Iwan Setiawan — @stwn Lecturer/Researcher @EE Unsoed in progress
  2. Iwan stwn Purbalingga, ID • Full-time (Debian) GNU/Linux user •

    Lecturer/Researcher at EE Unsoed ◦ Area: computer & information engineering1 ◦ Interested in (edge) systems & networking 2 1 Not Teknik Informatika 162 km, 35 jam 57 menit OSRM
  3. Disclaimer • Do not expect too much from this session

    ◦ Simple things* to share ◦ Limited time and speaker’s capacity • Plenty of abbreviations and concepts • Focus on bare-metal 5GC deployment 3 in progress
  4. OPENINFRA INDONESIA DAYS 2025 Outline • 5G System • 5G

    Service-Based Architecture • p5GC Testbed • p5GC Testing • p5GC with Orchestrators 4 in progress
  5. (Some) Abbreviations 5GC 5G Core 5G RAN 5G Radio Access

    Network 5G UE 5G User Equipment 5G SBA 5G Service-Based Architecture 5G CP 5G Control Plane 5G UP 5G User Plane NF Network Function NFV NFs Virtualization VNF Virtual NF CNF Container or Cloud-native NF 5 5
  6. 5G System • General architecture • Main components • NFV

    6 Core RAN UE Peterson, Sunay, and Davie, 2023
  7. 5G System • 5G components: 5GC, 5G RAN (5G NR),

    and 5G UE • 5G deployment options – 5G Standalone (SA), or “full deployment” – 5G Non-standalone (NSA), or “hybrid”, e.g., 4GC (EPC) with 5G RAN 7 7
  8. 5G SBA1 • Cellular netw uses NFs+considers NFV/SDN • 5G

    SBA comprises VNFs/CNFs, \w 2 planes ◦ 5G Control Plane (5G CP) ◦ 5G User Plane (5G UP) • Each VNF is a microservice, providing service to other VNFs via API (interface) 12 3GPP TS 23.501 1 5G Service-Based Architecture Reference points: N1, N2, N3, N4, …
  9. OPENINFRA INDONESIA DAYS 2025 5G SBA 15 15 3GPP TS

    23.501 • 5G Control Plane ◦ Access and Mobility Manage. Function (AMF) ▪ Connection, mobility tracking, auth., location service ◦ Session Management Function (SMF) ▪ UE session, IP address alloc., UPF selection, QoS control, etc. ◦ Network Slice Selection Function (NSSF) ◦ Network Repository Function (NRF) ◦ Authentication Server Function (AUSF) ◦ Unified Data Management (UDM) ◦ Unified Data Repository (UDR) ◦ Policy Control Function (PCF) • 5G User Plane ◦ User Plane Function (UPF) ▪ Traffic forwarding between RAN and data network (DN) ▪ Policy enforcement, measurement, QoS policing
  10. p5GC Testbed • Relatively small, modular, low-power • 5GC: computing,

    networking, simple rack ◦ ARM-based single-board computers (Pis) ◦ 5GC software compliant w/ 3GPP Release 15+ ◦ Mounting, power management, cooling • 5G RAN and UEs run in simulators 16
  11. p5GC Testbed: Computing Hardware • Single-board computer (SBC): Raspberry Pi

    4 (Quad-core ARM64 1.5GHz, 8GB) x4 • Storage: MicroSD SanDisk Ultra Class 10 64GB x4 Software • GNU/Linux distribution: Ubuntu 20.04 LTS (ARM64), preinstalled server image • Linux kernel: 5.4.0 (aarch64) • Provisioning utilities: – flash script for flashing the image to SD card; from Hypriot – cloud-init: init. and config. for Pis; treat Pis like cloud instances • Account, network configuration, packages, SSH public key, etc. 17 17 Laserlicht, CC By-SA 4.0
  12. p5GC Testbed: Networking • Gigabit Ethernet switch: D-Link DGS-1100-08V2 with

    8 ports, managed • Network cables: Cat6 UTP with RJ45 and plug boot 18 18
  13. p5GC Testbed: Simple Rack • DIN rail (35 mm), 40

    cm length 1x • 3D-printed DIN rail stand (pairs) 1x • 3D-printed Raspberry Pi 4 DIN rail mount brackets 4x • Power management – MCB AC DOMAE 2A 1P, DIN rail mount 1x – Power supply MDR 5V 10A, DIN rail mount 2x – Power socket, DIN rail mount 1x – Terminal blocks for DIN rail – Power cables with multiple sizes • NYA 1.5mm2 • NYM 0.75mm2 for powering Pis via GPIO pins (4, 6) – Power plug 1x • Cooling with two 8x8cm2 5V DC fans 2x 19 19 https://raspberrypi.com/documentation/computers/raspberry-pi.html
  14. p5GC Setup: free5GC • An implementation of 5GC, compliant with

    3GPP Release 15+ standards • License: Apache 2.0 • Under Linux Foundation since Sep 16, 2024 • Deployment options – Containerization with Docker – CNFs orchestration using Kubernetes (K8s) 20 20
  15. p5GC Setup: 5G CP • Download and install golang (1.21.8)

    • Setup Go environment • Clone free5GC repo: https://github.com/free5gc/free5gc.git • Compile with Make: make -j nproc amf smf nssf nrf pcf udr udm ausf chf • Install MongoDB (3.6.9) – Issue: MongoDB 5.0+ requires AVX support (processor) • Configure multiple IP addresses based on a scenario with netplan • Configure 5G CP NFs: config/{amfcfg, smfcfg, nssfcfg, nrfcfg, ausfcfg}.yaml • Run 5G CP NFs with a script 21 21 Bare-metal deployment
  16. p5GC Setup: Webconsole • Install nodejs • Compile webconsole •

    Run webconsole: go run server.go 22 22 Bare-metal deployment
  17. p5GC Setup: 5G UP • Compile UPF: make -j nproc

    upf • Clone gtp5g: https://github.com/free5gc/gtp5g • Compile gtp5g: make; requires: Linux kernel source • Install: make install • Configure UPF: config/upfcfg.yaml • Configure forwarding: /etc/sysctl.conf with “net.ipv4.ip_forward=1” • NAT configuration, ex: – sudo iptables -t nat -A POSTROUTING -s 10.11.0.0/16 ! -o upfgtp -j MASQUERADE 23 23 Bare-metal deployment
  18. p5GC Testing • UERANSIM: simulate gNodeB (gNB) and UE •

    Promising simulator: PacketRusher • Other simulator: gnbsim 24
  19. p5GC Testing: UERANSIM • Clone UERANSIM repo: git clone https://github.com/aligungr/UERANSIM

    • Compile UERANSIM: make -j nproc • Configure gNB: config/free5gc-gnb.yaml • Configure UE: config/free5gc-ue.yaml • Run gNB • Run UE 25 25
  20. p5GC \w Orchestrators • Notes on Docker container, Compose, Swarm,

    and MikroK8s • Notable Issues ◦ ARM architecture: versions, image building ◦ Netw. config.: topology, ref. points, interfaces ◦ 5G CNFs (inter)dependencies 28 in progress
  21. 29 Notes on Docker Container, Compose, and Swarm • No

    issues in Docker installation • ARM-related issues (arm64 or aarch64) – ARM (Docker) container: pull or buildx, https://hub.docker.com/u/free5gc – Unsupported MongoDB for ARMv8.0-A: build, or use arm64v8/mongo:4.4.18 • Network config.: (virtual) networks following 5G SBA, including ref. points, ifaces. – Need to be specified regarding networks, IP addresses, and network interfaces • Docker Swarm: 5G CNFs (inter)dependencies 29
  22. MicroK8s • CNCF-certified lightweight K8s distribution • Simple to install

    and run • Available documentations from Ubuntu/Canonical and free5GC communities • Packaged as a snap 30 30
  23. Notes on MicroK8s • ARM architecture and processor load –

    K8s deployment: value.yaml, “aarch64” image – kubelite: 15~30% processor when idle • Helm charts – free5GC-helm, based on towards5gs-helm: https://github.com/free5gc/free5gc-helm – Gradiant 5G, helm charts for Open5GS (an alternative to free5GC) • At least two network interfaces needed for each node (Pi) for the free5gc helm charts – Considering the WiFi interface for control channel, and Ethernet for data channel 31 31
  24. Concluding Remarks • Building a 5GC seems simple, but not

    that simple1 • 5GC can be constructed with a Raspberry Pi cluster and free5GC ◦ Bare-metal and container deployment options ◦ Issues: ARM, netw. config. (SBA, ref. points, ifaces.), 5G CNFs dependencies ◦ Experiments needed on multi-node lightweight K8s w/ Helm charts • More exploration on a complete 5G system (5GC, 5G RAN+UE) ◦ Converged edge cloud and connectivity ◦ Wanted by telco: cloud-native capabilities and experts 35 35 1 prior knowledge, more thinking and tinkering are required
  25. THANK YOU Yogyakarta, 19 July 2025 Thanks to LPPM Unsoed

    for the competency development research scheme 2024