Skip to content

Commit 9868624

Browse files
authored
Merge pull request #2223 from linouxis9/cms/linouxis9/hpe-dev-portal/blog/open-sourcing-packetrusher-a-5g-core-performance-tester
Create Blog “open-sourcing-packetrusher-a-5g-core-performance-tester”
2 parents 4e5f701 + d1be441 commit 9868624

File tree

5 files changed

+69
-0
lines changed

5 files changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
title: "Open-sourcing PacketRusher: A 5G Core performance tester"
3+
date: 2023-12-18T10:04:11.852Z
4+
author: Valentin D'Emmanuele
5+
authorimage: /img/profile.png
6+
thumbnailimage: /img/thumbnail.png
7+
disable: false
8+
tags:
9+
- opensource
10+
- 5g
11+
- gnodeb
12+
- ue
13+
- simulator
14+
---
15+
In the fast-evolving landscape of 5G technology, the demand for robust and efficient testing tools has never been higher. Enter PacketRusher, a cutting-edge 5G core Network performance testing tool. As the lead developer behind this groundbreaking project, I am thrilled to share the power and potential PacketRusher holds in revolutionizing the way we test and optimize 5G networks.
16+
17+
## PacketRusher
18+
19+
PacketRusher is a tool dedicated to the performance testing and automatic validation of 5G Core Networks. It tests a 5G Core Network via its external interfaces as defined by the 3rd Generation Partnership Project (3GPP): N1, N2 and N3 interfaces.
20+
21+
22+
The tool can emulate various types of user equipment (eg. 5G phones or 5G-enabled IoT devices) on the N1 interface using the Non-access Stratum (NAS-5GS) 5G protocol. It can do stress testing of the 5G Core with up to 100k simulated user equipment doing simultaneously multiple 5G Control Plane’s procedures: Registration with authentication and Deregistration, Creation and Deletions of Protocol Data-Unit (PDU) Sessions.
23+
24+
25+
These user equipements can be used together with PacketRusher’s simulated gNodeBs (eg. antennas in Radio Access Network) implementing the N2 interface. These simulated gNodeB implements a set of pre-defined procedures on top of both New Generation Application Protocol (NGAP) which allow the usage of advanced gNodeB features as user equipment handover between gNodeB with PDU Session continuity.
26+
27+
The other most important feature of PacketRusher is its highly performant N3 generic tunnel. Alongside its control plane testing features, PacketRusher is also able to stress test the UPF of a 5G Core with user equipment being able to do each up to 5 GB/s of userplane traffic.
28+
29+
All of these features of PacketRusher can be offered from a simple Linux virtual machine, that can compiled in minutes, without the needs for expensive commercial tools, or 100k phones on a table ;-)
30+
31+
32+
## Architecture
33+
Before I show you how PacketRusher works, it's important to have an understanding of the components of a minimal 5G network:
34+
35+
![High-level diagram of a 5G deployment](/img/high-level-diagram-of-a-5g-deployment.png "High-level diagram of a 5G deployment")
36+
37+
To summarize, there are essentially three main components:
38+
- User equipment, which is any 5G device used directly by a user to communicate. For example, a smartphone or an IoT device.
39+
- The gNodeB, which is the radio used for wireless communication between the User Equipment and the 5G network core.
40+
- And finally, the 5G network core itself, which manages all mobile network functionalities. This is the component that will manage phone authentication in the network, quality of service, routing to the data network, and so on...
41+
42+
43+
![High-level diagram of the PacketRusher's architecture and its interaction with a 5G Core's AMF and UPF](/img/packetrusher-architecture.png "High-level diagram of the PacketRusher's architecture and its interaction with a 5G Core's AMF and UPF")
44+
45+
PacketRusher's behavior is quite simple; it essentially simulates two of the three major components of a 5G network:
46+
- the User Equipments, i.e. the phones
47+
- and the gNodeB, i.e. the antennas.
48+
- At the same time, it connects to the 5G Core via its external interfaces, as if it were a black box.
49+
PacketRusher simulates both components en masse, which means it can simulate several user devices and gNodeBs at the same time.
50+
51+
## Community contributions
52+
53+
Excitingly, PacketRusher has caught the attention of a leading industry player. Orange, a key player in the telecommunications sector, has recognized the potential of PacketRusher and is actively integrating it into their open-source GitHub project, [toward-5gs](https://github.com/Orange-OpenSource/towards5gs-helm).
54+
55+
56+
I would also like to mention the outstanding work of Github User [s5uishida](https://github.com/s5uishida) who made a [high-quality performance comparison](https://github.com/s5uishida/simple_measurement_of_upf_performance) of open-source UPF using PacketRusher.
57+
58+
## Join the 5G revolution
59+
60+
How 5G evolves will be based on community collaboration and you're invited to be a part of this exciting journey. Whether you are a seasoned developer, a researcher, or simply passionate about the possibilities of 5G, your contributions can make a significant impact.
61+
62+
To get started, visit the [GitHub repository](https://github.com/HewlettPackard/PacketRusher) to access the source code, documentation, and engage with the community. Your feedback, suggestions, and contributions are invaluable in shaping the future of 5G technology.
63+
64+
At HPE, we are committed to pushing the boundaries of innovation, and with the release of PacketRusher as open-source, we are laying the foundation for a new era of connectivity.
65+
66+
PacketRusher is not just a testing tool; it's a community-driven effort to push the boundaries of 5G technology. Let's build the future of 5G together!
67+
68+
[Valentin D'Emmanuele](https://www.linkedin.com/in/valentin-d-emmanuele/),
69+
Lead Developer and Maintainer, PacketRusher
443 KB
Loading
227 KB
Loading

static/img/profile.png

16.5 KB
Loading

static/img/thumbnail.png

73.8 KB
Loading

0 commit comments

Comments
 (0)