@@ -27,10 +27,12 @@ The present document may include trademarks and/or tradenames which are asserted
**DECT™**, **PLUGTESTS™**, **UMTS™** and the ETSI logo are trademarks of ETSI registered for the benefit of its Members. **3GPP™**, **LTE™** and **5G™** logo are trademarks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. **oneM2M™** logo is a trademark of ETSI registered for the benefit of its Members and of the oneM2M Partners. **GSM®** and the GSM logo are trademarks registered and owned by the GSM Association.
# Foreword
This Group Report (GR) has been produced by ETSI Industry Specification Group (ISG) Multi-access Edge Computing (MEC).
# Modal verbs terminology
In the present document "**should**", "**should not**", "**may**", "**need not**", "**will**", "**will not**", "**can**" and "**cannot**" are to be interpreted as described in clause 3.2 of the [ETSI Drafting Rules](https://portal.etsi.org/Services/editHelp/How-to-start/ETSI-Drafting-Rules)(Verbal forms for the expression of provisions).
"**must**" and "**must not**" are **NOT** allowed in ETSI deliverables except when used in direct citation.
@@ -39,6 +41,7 @@ In the present document "**should**", "**should not**", "**may**", "**need not**
# 1 Scope
This document covers the integration of Network Emulation Capabilities into the ETSI MEC Sandbox [\[i.1\]] replacing current Linux based network simulation.
It describes the complete work done to replace the current Linux Traffic Control (TC)-based network simulation[[\[i.2\]](#_ref_i.1)] with Simu5G/SimuLTE simulators [[\[i.3\]](#_ref_i.3)], [[\[i.4\]](#_ref_i.4)], [[\[i.5\]](#_ref_i.5)].
The [Annex A](#annex-a-feasibility-study) describes the complete feasibility study done in preparation of the work.
@@ -46,25 +49,35 @@ The [Annex A](#annex-a-feasibility-study) describes the complete feasibility stu
# 2 References
## 2.1 Normative references
Normative references are not applicable in the present document.
## 2.2 Informative references
References are either specific (identified by date of publication and/or edition number or version number) or nonspecific. For specific references, only the cited version applies. For non-specific references, the latest version of the referenced document (including any amendments) applies.
> NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity.
The following referenced documents may be useful in implementing an ETSI deliverable or add to the reader's understanding but are not required for conformance to the present document.
-<spanid="_ref_i.4"></span><aname="_ref_i.4">[i.4]</a> [INet Framework: ](https://inet.omnetpp.org/)\"An open-source OMNeT++ model suite for wired, wireless and mobile networks\".
-<spanid="_ref_i.5"></span><aname="_ref_i.5">[i.5]</a> [Simu5G: ](https://simu5g.org/)\"Simulator for 5G New Radio Networks\".
-<spanid="_ref_i.6"></span><aname="_ref_i.6">[i.6]</a> [SUMO: ](https://eclipse.dev/sumo/)\"Simulation of Urban MObility\".
-<spanid="_ref_i.7"></span><aname="_ref_i.7">[i.7]</a> [VIENS: ](https://veins.car2x.org/)\"The open source vehicular network simulation framework\".
<spanid="_ref_i.4"></span><aname="_ref_i.4">[i.4]</a> [INet Framework: ](https://inet.omnetpp.org/) "An open-source OMNeT++ model suite for wired, wireless and mobile networks".
<spanid="_ref_i.5"></span><aname="_ref_i.5">[i.5]</a> [Simu5G: ](https://simu5g.org/) "Simulator for 5G New Radio Networks".
<spanid="_ref_i.6"></span><aname="_ref_i.6">[i.6]</a> [SUMO: ](https://eclipse.dev/sumo/) "Simulation of Urban MObility".
<spanid="_ref_i.7"></span><aname="_ref_i.7">[i.7]</a> [VIENS: ](https://veins.car2x.org/) "The open source vehicular network simulation framework".
# 3 Definition of terms, symbols and abbreviations
@@ -113,14 +126,14 @@ For the purposes of the present document, the [following] abbreviations [given i
<br/>
# Annex A: <br>Feasibility study
# Annex A: Feasibility study
<br/>
## A.1. Overview
This annex provides a feasibility study for replacing the current network simulation approach in the ETSI MEC Sandbox [\[i.1\]] with Simu5G/SimuLTE simulators [\[i.5\]]. The current system uses Linux Traffic Control [\[i.2\]] to simulate network characteristics, while Simu5G/SimuLTE simulators [\[i.5\]] are OMNeT++-based discrete event simulators [\[i.3\]] that provide more realistic 3GPP-compliant network behavior.
This annex provides a feasibility study for replacing the current network simulation approach in the ETSI MEC Sandbox [\[i.1\]] with Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5). The current system uses Linux Traffic Control [\[i.2\]](#_ref_i.2) to simulate network characteristics, while Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5) are OMNeT++-based discrete event simulators [\[i.3\]](#_ref_i.3) that provide more realistic 3GPP-compliant network behavior.
This feasibility study covers the following aspects:
- Can the [Simu5G/SimuLTE]() provide more realistic network simulation?
@@ -137,11 +150,11 @@ The feasibility study is organized as follow:
### A.2.1 Architecture Overview
The current network simulation in the ETSI MEC Sandbox [\[i.1\]] combines:
The current network simulation in the ETSI MEC Sandbox [\[i.1\]](#_ref_i.1) combines:
1. Geographic Information System (GIS) Engine: To calculates UE-to-POA distances and signal strength;
2. Network Characteristic Manager: To aggregate network characteristics along paths;
3. Traffic Control (TC) Engine: To apply network characteristics to Kubernetes pods [\[i.9\]];
3. Traffic Control (TC) Engine: To apply network characteristics to Kubernetes pods [\[i.9\]](#_ref_i.9);
4. TC Sidecar: To measure actual network characteristics from the traffic.
### A.2.2 Components involved in the network simulation
@@ -159,6 +172,7 @@ The Signal Strength Calculation is done as described below:
- WiFi: RSSI (32-77) calculated linearly based on distance
These calculations are done in the component meep-gis-asset-mgr/asset-mgr.go:
@@ -176,16 +190,17 @@ The current architecture provides three network characteristics:
These network characteristics are calculated and applied at different stages:
1. Configuration Stage: Characteristics are configured per network segment (POA, Zone, Domain)
2. Application Stage: Characteristics are applied using Linux Traffic Control [\[i.2\]],
2. Application Stage: Characteristics are applied using Linux Traffic Control [\[i.2\]](#_ref_i.2),
3. Measurement Stage: Actual characteristics are measured from network traffic
4. Aggregation Stage: Characteristics are aggregated along network paths
Too reflect the Signal Strength calculation in the UE network traffic, the current architecture uses a Linux tool name `tc netem` [\[i.2\]]. Several components are involved in the simulation:
Too reflect the Signal Strength calculation in the UE network traffic, the current architecture uses a Linux tool name `tc netem`[\[i.2\]](#_ref_i.2). Several components are involved in the simulation:
- The TC Engine (`go-apps/meep-tc-engine/`): To calculates network characteristics per flow;
- The TC Sidecar (`go-apps/meep-tc-sidecar/`): To applies `tc netem` [\[i.2\]] rules to pod network interfaces;
- The TC Sidecar (`go-apps/meep-tc-sidecar/`): To applies `tc netem`[\[i.2\]](#_ref_i.2) rules to pod network interfaces;
- The Network Characteristic Manager (`go-packages/meep-net-char-mgr/`): To aggregates network characteristics along network paths
Regarding the implementation, the TC Sidecar component applies the network characteristics using the following Linux command:
```bash
# TC Sidecar applies Linux traffic control
tc qdisc change dev ifb<id> root netem delay <latency>ms <jitter>ms loss <packetLoss>% rate <throughput>bit
@@ -204,9 +219,10 @@ The latency is set in the scenario configuration files (netChar.latency in milli
- Network Location (POA) level;
- Physical Location (UE/Edge) level.
The Linux `tc netem` tool [\[i.2\]] adds delay to packets passing through the IFB interface. The delay is applied per packet. The choice of the distribution (normal, uniform, pareto) affects delay variation.
The Linux `tc netem` tool [\[i.2\]](#_ref_i.2) adds delay to packets passing through the IFB interface. The delay is applied per packet. The choice of the distribution (normal, uniform, pareto) affects delay variation.
Regarding the implementation, the latency is managed by the component meep-tc-sidecar:
```go
// TC command applies latency
str:="tc qdisc change dev ifb"+ifbNumber+
@@ -223,9 +239,10 @@ The throughput is set in the scenario configuration files (netChar.throughputDl
- Network Location (POA) level;
- Physical Location (UE/Edge) level.
The Linux `tc netem` tool [\[i.2\]] rates limiting restricts bandwidth. It applies it as bit rate limit, converting Mbps to bits per second.
The Linux `tc netem` tool [\[i.2\]](#_ref_i.2) rates limiting restricts bandwidth. It applies it as bit rate limit, converting Mbps to bits per second.
Regarding the implementation, the throughput is managed by the component meep-tc-sidecar:
```go
ifdataRate!=""&&dataRate!="0"{
str=str+" rate "+dataRate+"bit"
@@ -240,6 +257,7 @@ The implementation provides also dynamic modulation of the throughput based on t
- Step 3 (75-100% of radius): 25% of max throughput
It is calculated by the function `calculateThroughput()` in the component meep-gis-engine:
@@ -419,6 +444,7 @@ The packetLoss is measured using ICMP ping loss. The key points are:
- Update Frequency: Periodic (based on IFB stats query interval).
The formula is:
```
Packet Loss (%) = (Dropped Packets / Total Packets) × 100
```
@@ -428,18 +454,22 @@ Packet Loss (%) = (Dropped Packets / Total Packets) × 100
The network characteristics are aggregated along the network path from source to destination. The path consists of multiple segments (POA, Zone, Domain...). The component meep-net-char-mgr implements the aggregation per segment mechanisms: each network characteristics is aggregated along the network paths (meep-net-char-mgr/algo-segment.go).
Each network characteristics has its own calculation rules:
- The latency aggregation is the sum of all segment latencies:
@@ -472,7 +502,7 @@ The current architecture comes with some limitations:
### A.3.1 Overview
The Simu5G/SimuLTE simulators [\[i.5\]] are open-source, system-level network simulators built on the OMNeT++ [\[i.4\]] discrete event simulation framework. They provide comprehensive simulation of 3GPP-compliant 4G (LTE/LTE-A) and 5G (NR) networks.
The Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5) are open-source, system-level network simulators built on the OMNeT++ [\[i.4\]](#_ref_i.4) discrete event simulation framework. They provide comprehensive simulation of 3GPP-compliant 4G (LTE/LTE-A) and 5G (NR) networks.
The key characteristics are:
- Framework: OMNeT++ 6.0.x with INET Framework 4.5.x;
- License: LGPL v2.1;
@@ -530,7 +560,7 @@ The Simu5G (5G NR) models the full 5G NR user‑plane stack (Rel‑16‑oriented
#### A.3.5 Simulation modes
The Simu5G/SimuLTE simulators [\[i.5\]] provides 2 simulations:
The Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5) provides 2 simulations:
- The non‑emulation simulation is pure, offline discrete‑event runs where all traffic endpoints are simulated modules and time is virtual, - - - The emulation simulation runs in real time and connect the simulated 5G network to real interfaces and applications so real packets traverse the simulated RAN and core network.
This is the emulation mode that is required here. The emulation scenarios map simulated network interfaces (e.g. at UE, router...) to real host interfaces (TAP/veth, NICs), so IP packets from real processes or devices enter the simulation, traverse the 5G NR/LTE stack, and return to the real network.
@@ -595,15 +625,15 @@ The fugure below shows a simplified architecture of Simu5G.
- Performance: Discrete event simulation can be slower than simple TC-based approach
- Complexity: Requires understanding of OMNeT++ and simulation concepts;
- Integration: Need to bridge simulation with Kubernetes/Docker environment ([\[i.9\]], [\[i.8\]]);
- Integration: Need to bridge simulation with Kubernetes/Docker environment ([\[i.9\]](#_ref_i.9), [\[i.8\]](#_ref_i.8));
- WiFi: Limited WiFi support (additional modules are required, particularly ).
### A.3.7 Conclusions
Even if this study does not cover WiFi support, the replacement of the current network simulation with Simu5G/SimuLTE simulators [\[i.5\]] represents a strategic upgrade that will transform the ETSI MEC Sandbox from a basic network emulator into a research-grade, 3GPP-compliant simulation platform.
Even if this study does not cover WiFi support, the replacement of the current network simulation with Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5) represents a strategic upgrade that will transform the ETSI MEC Sandbox from a basic network emulator into a research-grade, 3GPP-compliant simulation platform.
The use of Simu5G/SimuLTE simulators [\[i.5\]] provides the following advantages:
The use of Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5) provides the following advantages:
- Accuracy & Realism with:
- Realistic channel models;
- Realistic metrics for MEC applications;
@@ -643,13 +673,13 @@ The replacement will be considered successful if:
>
> 1. A network scenario containing a lot of PoAs and UEs can drastically reduce the performance of the Simu5G/4G simulators. The objective of 10 simultaneous connections on the MEC Sandbox could be achieved.
>
> 2. Regarding the huge amount of work to be done to replace the current network simulation with Simu5G/SimuLTE simulators [\[i.5\]], the objective of the Task#3 as defined in the STF 707 ToR, could be partially covered. An extension of this STF may be required (or a split with a future STF ?). A list of development steps is proposed in [clause A.4.3](#a43-phase-3-implementation). The 3 first steps are the ones to be achieve during this STF.
> 2. Regarding the huge amount of work to be done to replace the current network simulation with Simu5G/SimuLTE simulators [\[i.5\]](#_ref_i.5), the objective of the Task#3 as defined in the STF 707 ToR, could be partially covered. An extension of this STF may be required (or a split with a future STF ?). A list of development steps is proposed in [clause A.4.3](#a43-phase-3-implementation). The 3 first steps are the ones to be achieve during this STF.
>
> We also propose to start the task 3 immediately after the acceptance of this feasability study.
---
**Note:** In addition, a phase of learning is mandatory before to start the replacement of the current network similation by Simu5G/Simu4G simulators [\[i.5\]].
> NOTE: In addition, a phase of learning is mandatory before to start the replacement of the current network similation by Simu5G/Simu4G simulators [\[i.5\]](#_ref_i.5).
## A.4. Replacement procedure
@@ -664,6 +694,7 @@ This part of the study propose a list of milestone to implement the replacement
The purpose is to learn how Simu5G/SimuLTE simulators are working.