Skip to content
Docs / dflux TinyCore
ContactGet started

Architecture

Four core processes (plus optional NSSF and SMSF), a real 3GPP control and user plane, and in-process shortcuts where they don't change the wire.

Four core processes

dflux TinyCore splits the golden-path 5G core into four binaries. Each one bundles several 3GPP network functions and exposes only the interfaces that need to cross a process boundary; the rest are in-process function calls. Two optional binaries — NSSF and SMSF — ship alongside them when you need slice selection or SMS over NAS.

  • DMF — AMF + SMF. Access, mobility, and session management in one process.
  • DPF — AUSF + UDM + UDR + PCF. Authentication, subscriber data, storage, and policy.
  • NRF — standalone NF registration, discovery, and heartbeats.
  • UPF — standalone user-plane forwarding.
  • NSSF (optional) — Network Slice Selection Function.
  • SMSF (optional) — SMS Function (SMS over NAS).

See Network functions for what each one owns.

Control plane vs user plane

The control plane — DMF, DPF, and NRF — handles signaling: registration, authentication, policy, and session setup. It talks to the gNB over N2 (NGAP/SCTP) and between NFs over the service-based interface (SBI). The user plane is the UPF: once a PDU session exists, UE packets ride GTP-U over N3 from the gNB to the UPF and out to the data network over N6, with no control-plane process in the data path.

The boundary between them is N4 (PFCP): the SMF inside the DMF programs the UPF — install forwarding rules, assign the UE IP — and then steps out of the way of the bytes. See User plane.

Real interfaces vs in-process

Because related functions are co-located, the interfaces between them never hit the wire. What's left on the wire is exactly the set of interfaces that cross a process boundary in this topology.

  • Real, on the wire: N1 (NAS), N2 (NGAP/SCTP), N4 (PFCP), N3 (GTP-U), N6 (data network), and SBI (HTTP/2 cleartext) between DMF, DPF, and NRF.
  • In-process function calls: N11/Namf-Nsmf inside the DMF (AMF↔SMF), and N8/N10/N12/N13 inside the DPF (AUSF↔UDM↔UDR↔PCF). These are not wire protocols here.
Why this matters
The functions you'd authenticate or configure across an SBI in a disaggregated core become local calls here. That keeps the lab small without changing the externally observable behaviour of the interfaces that do cross processes.

Architecture diagram

How a request flows

At a high level, an attach moves through the core like this:

  1. The gNB sends NGAP over N2 to the DMF; the AMF starts registration.
  2. The AMF runs authentication against the DPF (AUSF/UDM) over SBI — 5G-AKA.
  3. The SMF (in the DMF) sets up a PDU session, pulling subscription and policy from the DPF, then programs the UPF over N4.
  4. The UE gets an IP and user-plane traffic flows over N3/GTP-U to the UPF and out over N6.

Each NF found the others by registering with and discovering through the NRF. See NF discovery.

Where to go next