Skip to content

Commit

Permalink
update it
Browse files Browse the repository at this point in the history
  • Loading branch information
acetcom committed Apr 26, 2024
1 parent 9641880 commit f8f2a40
Showing 1 changed file with 37 additions and 13 deletions.
50 changes: 37 additions & 13 deletions osmodevconf2024.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,17 @@ <h2>
<p><small>Presentation link : <a href="https://open5gs.org/slides/osmodevconf2024" target="_blank">https://open5gs.org/slides/osmodevconf2024</a></small></p>
<p style="text-align: right;">Sukchan Lee</p>
<aside class="notes">
Hello. I'm Sukchan Lee, the developer of Open5GS. I'm very happy to be here in Germany again after 6 years.
Hello. I'm Sukchan Lee, the developer of Open5GS.

Today, I'd like to give you an overview of development status in 2023, our current projects, and our plans for the future. I look forward to continuing to keep you up to date as I have the opportunity.
I'm very happy to be here in Germany again after 6 years.

Today I'm going to share what makes me think about developing Open5GS.

Why did I implement that feature in the first place?

Why did I change that config file?

I'm here to share these thoughts.
</aside>
</section>

Expand All @@ -64,9 +72,9 @@ <h2>Recent Developments</h2>
</small>
</ul>
<aside class="notes">
HTTP2 is the interface used by 5G. While 4G primarily used Diameter, 5G uses HTTP2, and HTTP2 uses TLS by default for security.
HTTP2 is the interface used by 5G. Whereas 4G primarily used Diameter, 5G uses HTTP2. And TLS is used to secure the HTTP2 protocol. As we'll see later, TLS is essential for 5G roaming to connect different carriers. So I was going to do this, but someone in the community implemented it. Thank you!

SUCI was introduced to protect IMSI from being exposed in 5G. For 5G, IMSI is used as the term SUPI, and the encryption of this SUPI is called SUCI. Initially, the SUCI implemented by Open5GS used the NULL Scheme, which did not protect the IMSI. With the support of Profile A/B Scheme, it is possible to protect the IMSI from being leaked to the outside world.
A new feature in 5G is encrypted IMSI. In 4G, capturing S1AP exposes the IMSI. In 5G, you can protect your IMSI with the SUCI Scheme.

When two UPFs are associated with a single SMF, you can configure the UPFs as redundant. If the first UPF goes down, the second UPF ensures uninterrupted service delivery to UEs.
</aside>
Expand All @@ -87,11 +95,13 @@ <h2>

In order to monitor the various Open5GS programs, we need some sort of system for measuring metrics.

For this purpose, support for counters has been added to open5gs by adding a kind of generic API for counters, gauges, etc. For the backend/implementation of that API, Prometheus was used, which by default requires an HTTP server to be running in the Open5GS process that serves the metrics.
For this purpose, support for counters has been added to open5gs by adding a kind of generic API for counters, gauges, etc.

For the backend/implementation of that API, Prometheus was used, which by default requires an HTTP server to be running in the Open5GS process that serves the metrics.

The Prometheus client library, prometheus-client-c, actually contains two libraries: libprom and libpromhttp.

Libprom implements the format of the counters to pass to prometheus, and libpromhttp is a very small library that provides an http server that uses libmicrohpttd underneath it. Open5GS already relies on libmicrohttpd, and libmicrohttpd is very small, which is great because we can actually integrate the whole thing directly into your open5gs code.
Libprom implements the format of the counters to pass to prometheus, and libpromhttp is a very small library that provides an http server that uses libmicrohpttd underneath it.
</aside>
</section>

Expand All @@ -110,9 +120,13 @@ <h2>
</small>
</p>
<aside class="notes">
One of the interesting features of 5G is the ability to provide connectivity from external N6 networks to IP networks that are sitting behind a UE (technically we can call this type of UE a router or CPE).
One of the exciting features of 5G is the implementation of UEs as routers or CPEs.

You can implement this with the Generic feature.

This feature is called Frame Routing whereby another IP subnet is associated with a UE alongside the normal IP address that is assigned from the UE IP pool. You can check 3GPP TS 23.501 section 5.6.14 Support of Framed Routing for more details.
This is through Frame Routing, which is described in TS23.501 Seciton 5.6.14.

Normally we assign a single IP to a UE, but Frame Routing allows us to assign multiple IPs to a UE, expressed in subnets.
</aside>
</section>

Expand Down Expand Up @@ -166,11 +180,19 @@ <h2>
</ul>
</p>
<aside class="notes">
The PFCP protocol was also used in 4G EPC. The PFCP Protocol was defined to separate the Control Plane and Data Plane into different Network Entities and to send and receive data between them.
The PFCP protocol was defined to pass data back and forth between the control plane and the data plane.

For EPC, the SGW can be separated into SGW-C and SGW-U. PGWs can be separated into PGW-C and PGW-U. In 5GC, SMF and UPF were separated from the beginning.

Therefore, if one NF terminates abnormally, a Context mismatch occurs.

However, many problems can arise if a Network Entity in either Control or Data is abnormally shut down and restarted.
How do we resolve this?

First we need to detect when an NF in the Control or Data zone restarts. You can check the Recovery time in the Heartbeat Request/Response to see which NFs have been restarted.
Heartbeat Request/Response is exchanged periodically between the two.

By checking the Recovery Time in Heartbeat, we can determine if the other one has terminated abnormally.

This allows us to restart the abnormally terminated NF, which should recover the Context.
</aside>
</section>

Expand All @@ -195,9 +217,11 @@ <h2>
</small>
<p>
<aside class="notes">
Suppose an NF in a control zone, such as SMF or SGW-C, is abnormally shut down. If UPF or SGW-U detected it, all related contexts should be deleted. Otherwise, UPF/SGW-U will keep unnecessary contexts.
Suppose an SMF or SGW-C in the Control Plane is abnormally terminated. If a UPF or SGW-U in the Data Plane detects this, it can simply delete all UE information in memory. All PFCP information in Control and Data can start in the initialized state.

Imagine that you have terminated with the UPF or SGW-U in the Data Plane. When the SMF or SGW-C in the Control Plane detects this, it cannot just delete the UE information. This is because the SMF has the F-TEID information assigned by the UPF.

Suppose an NF in a Data zone, such as UPF or SGW-U, is abnormally terminated. If the SMF or SGW-C detects it, it should send a PFCP Establishment Request to the UPF/SGW-U. It should include a Restoration Indication so that UPF/SGW-U generates the same F-TEID that SMF/SGW-C gave it.
Therefore, it is necessary to allow the UPF/SGW-U to generate PFCP information with the same F-TEID. This can be done by sending a PFCP session establishment request message with a restoration indication flag.
</aside>
</section>

Expand Down

0 comments on commit f8f2a40

Please sign in to comment.