5G Core Course  /  Course home  /  Lesson 1.2 — The Complete Architecture
3GPP Release 19
MODULE M1 · LESSON 1.2 · ~30 MIN · FLAGSHIP

The Complete
5G Architecture.

One network, drawn three ways — the Service-Based view, the Reference-Point view, and the Roaming view. Built line-for-line from TS 23.501 figures 4.2.3-1, 4.2.3-2, 4.2.4-1 and 4.2.4-3. Thirty minutes of narrated, fully-animated, spec-verbatim teaching — with English subtitles.

3 viewsSBA · RP · Roaming
~30minanimated video
60+ N-refsN1 → N114
LBO·HRroaming models
EN·فاkaraoke subs
TS 23.501 V19.6.0 §4.2.3 · §4.2.4 · §4.2.6 · §4.2.7
▶ VIDEO · LESSON 1.2 · ~30 MIN

The Complete 5G Architecture — SBA, Reference Points & Roaming

The player screen is a live animation stage — 50+ scenes fire exactly as the narration reaches them. Karaoke subtitles in English, two subtitle modes, and fullscreen.

Lesson 1.2 · 5G Core Masterclass · 50+ animated scenes
The Complete 5G Architecture
0:00 / 0:00
NEXT · LESSON 1.3 · NETWORK FUNCTIONS DEEP-DIVE
The Network Functions, one at a time →
AMF · SMF · UPF · NSSF · AUSF · UDM · UDR · NRF — expert depth, every service, IE and message with spec citations. AMF fully narrated (15 min) now.
INTERACTIVE · THE THREE VIEWS

One core, three drawings — explore each

Exactly the figures from the standard. Click any function for its role and services. In the roaming view, flip between Local Breakout and Home-Routed and watch the user-plane path change.

FULL THEORY · STAGE-2 / STAGE-3 DEPTH

The architecture, at spec depth

5G is the first mobile core defined as service-based. TS 23.501 draws the very same network two ways — a service-based representation and a reference-point representation — and is explicit that the two drawings are one architecture. The interactive views above are the pictures; this is the machinery behind them, taken verbatim from the specification.

"The 5G architecture is defined as service-based and the interaction between network functions is represented in two ways… Network functions within the 5GC Control Plane shall only use service-based interfaces for their interactions."  TS 23.501 §4.2.1
1 · Two representations, one architecture

TS 23.501 §4.2.1 defines exactly two ways to draw the 5G Core control plane — and they describe the same system:

  • Service-based representation (Fig 4.2.3-1) — "network functions (e.g. AMF) within the Control Plane enable other authorized network functions to access their services." Everyone hangs off one horizontal bus; it "also includes point-to-point reference points where necessary."
  • Reference-point representation (Fig 4.2.3-2) — "shows the interaction… described by point-to-point reference point (e.g. N11) between any two network functions (e.g. AMF and SMF)."

So N11 is not a cable and not a protocol — it is a name for a relationship: "the AMF consuming Nsmf and the SMF consuming Namf." Service-based interfaces are listed in §4.2.6; reference points in §4.2.7 — both are in the filterable tables below.

2 · Why service-based? The design goals

The move from 4G's monolithic MME / S-GW / P-GW to 5G's NF mesh buys three properties, and the spec pins the key one down word-for-word:

"Each of the NF services offered by a Network Function shall be self-contained, reusable and use management schemes independently of other NF services offered by the same Network Function (e.g. for scaling, healing, etc)."  TS 23.501 §7.2.1
  • Modularity — the core is decomposed into small NFs (AMF, SMF, UPF, AUSF, UDM…), each independently deployable and version-able.
  • Reuse — a service written once (e.g. Nudm_SDM) is consumed by many NFs; procedures in TS 23.502 are literally built by invoking a sequence of NF services.
  • Compute–storage separation — NFs are kept stateless: structured context lives in the UDR (Nudr) and unstructured context in the UDSF (Nudsf), so any instance can pick up any transaction and the layer scales and self-heals like cloud microservices.
3 · NF · NF Service · NF Service Operation — the three-level hierarchy

The specification is precise about granularity §7.2.1:

  • A Network Function offers one or more NF Services.
  • "Each NF service shall be accessible by means of an interface. An interface may consist of one or several operations."

That maps straight onto the naming you see everywhere:

  • SBI = N + function name → Namf, Nsmf, Nudm, Nnrf§4.2.6
  • NF Service = <SBI>_<ServiceName> → e.g. Namf_Communication.
  • Operation = service + operation → e.g. Namf_Communication_N1N2MessageTransfer.

Read a call flow and you are reading a stack of these: a procedure such as PDU-Session Establishment is just a choreography of Nsmf_PDUSession_CreateSMContext, Npcf_SMPolicyControl_Create, Nudm_SDM_Get, N4TS 23.502

4 · The two interaction mechanisms — Request-Response & Subscribe-Notify

Regardless of transport, every SBI exchange is one of exactly two patterns §7.1.2:

  • Request-Response — one-to-one. Consumer NF_A asks producer NF_B to "perform an action or provide information or both"; one response is expected within a timeframe. To fulfil it, NF_B may itself consume other NFs' services.
  • Subscribe-NotifyNF_A subscribes; NF_B notifies every interested subscriber when the event fires. The subscription must carry a notification endpoint = a Notification Target Address + Notification Correlation ID (typically a callback URL). NF_A may even subscribe on behalf of NF_C, pointing notifications at a third NF.

Subscription itself comes in three flavours:

  • Explicit — a separate subscribe request/response.
  • Implicit — the subscription rides inside another operation of the same service.
  • Default notification endpoint — registered once with the NRF at NF registration (§4.17.1 of TS 23.502), so producers already know where to push.

A Binding Indication (→ Routing Binding Indication for indirect comms) lets a consumer pin subsequent requests to a suitable producer instance/set — vital when an NF is a stateful set. §6.3.1.0

5 · Direct vs Indirect communication & the SCP

An NF pair can talk directly, or indirectly through a Service Communication Proxy (SCP) — and the choice is per-message, driven by local configuration ("An NF may not use SCP for all its communication"). §4.2.1 · §7.1.1

  • Direct — the consumer discovers the producer by local config or via the NRF, then connects straight to it.
  • Indirect — the consumer sends via an SCP. It may still discover the producer itself, or delegate discovery/selection to the SCP, which then uses the parameters the consumer supplied. The SCP routes on the Routing Binding Indication when present.

Combining the two axes gives the four communication models of Annex E:

  • Model A — Direct, no NRF discovery (local config only).
  • Model B — Direct with NRF discovery.
  • Model C — Indirect, consumer does discovery, SCP forwards.
  • Model D — Indirect with delegated discovery — the consumer just hands intent to the SCP. §6.3.1 · Annex E
6 · Register → discover → authorize (the NRF life-cycle)

The NRF is the repository that makes the mesh find itself, across three §7.1 procedures:

  • Registration §7.1.5 — every NF tells the NRF the services it supports: on first start (register), on activation/de-activation after a scaling event (update), and de-register on graceful shutdown; if an NF crashes, an authorised OA&M entity de-registers it. Registration "includes capacity and configuration information at time of instantiation."
  • Discovery §7.1.3 · §6.3.1 — a consumer (or SCP) asks the NRF for instances providing the wanted service, filtered by target-nf-type, snssais, dnn
  • Authorization §7.1.4 — two steps: (1) may I discover it? — per-NF granularity, enforced by the NRF; (2) may I consume it for this UE / subscription / roaming case? — request-type granularity, embedded in the producer's own service logic.

On the wire that authorization is OAuth2: the NRF is the authorization server, issuing signed access tokens (grant_type=client_credentials, scoped to a service) that the producer verifies before serving. TS 33.501 §13

7 · How an SBI actually works on the wire — HTTP/2 · JSON · TLS

Every control-plane call is a REST request over the stack fixed in TS 29.500 §5.1, Fig 5.1-1:

  • HTTP/2 (IETF RFC 9113) is mandatory — multiplexed streams over one TCP connection.
  • JSON is the application-layer serialization; the APIs are described in OpenAPI 3.0.
  • TLS — "all 3GPP NFs shall support TLS, and TLS shall be used within a PLMN if network security is not provided by other means." §5.1 · TS 33.501

Resources are addressed by a structured URI TS 29.501:

{apiRoot}/{apiName}/{apiVersion}/{resource}
e.g. …/namf-comm/v1/ue-contexts/{id}/n1-n2-messages

3GPP layers its own routing/priority metadata on top as custom headers:

3gpp-Sbi-Message-Priority 3gpp-Sbi-Target-apiRoot 3gpp-Sbi-Routing-Binding 3gpp-Sbi-Producer-Id 3gpp-Sbi-Callback
Application (JSON / OpenAPI)
HTTP/2  ·  RFC 9113
TLS
TCP
IP
L2
8 · Reference points: names for relationships, and where real wires survive

Because the control plane shall only use SBIs, its reference points (N8, N11, N12, N15…) are all the same HTTP/2 bus under different names — a reference point is a named relationship, realised as two NFs consuming each other's services.

The user plane is the exception: it does not run HTTP, so it keeps genuine point-to-point interfaces — which is exactly why the UPF never appears on the SBI bus:

  • N1 — NAS (5GMM / 5GSM), UE ↔ AMF (logical, tunnelled in N2).
  • N2 — NGAP over SCTP, (R)AN ↔ AMF.
  • N3 / N9GTP-U over UDP, user data to the gNB / between UPFs.
  • N4PFCP over UDP:8805, SMF ↔ UPF.
  • N6 — plain IP, UPF ↔ Data Network.

The N1–N114 table below now carries the exact transport each reference point runs, so you can tell a "name on the bus" from a real wire at a glance.

9 · Roaming — two operators, one border (SEPP · N32 · IPUPS)

Roaming stitches a VPLMN (visited) to an HPLMN (home). Every inter-operator control message crosses two SEPPs over N32 §4.2.4 · TS 33.501 §13, and N32 is really two connections:

🤝 N32-c — control

The SEPP-to-SEPP handshake: capability negotiation, cipher-suite & protection-policy exchange, and key agreement. Set up once, then used to manage the security context.

📨 N32-f — forwarding

The protected carriage of the actual roaming signalling — secured end-to-end with TLS, or with PRINS (application-layer JWE) when IPX intermediaries must read / modify selected IEs.

On the user plane, home-routed traffic crosses the border on N9, guarded by IPUPS (Inter-PLMN User Plane Security) — the SEPP's user-plane counterpart. Supporting cross-PLMN control rides the bus through the SEPPs too: N27 (vNRF ↔ hNRF discovery), N31 (vNSSF ↔ hNSSF slice mapping), N24 (vPCF ↔ hPCF policy), N16 (V-SMF ↔ H-SMF). Where the user plane exits — visited vs home — is the LBO-vs-Home-Routed decision detailed below.

Key concepts — the vocabulary of the SBA
SBA

Service-Based Architecture — the whole 5GC control plane as producers/consumers on a bus.

NF

Network Function — a deployable unit (AMF, SMF…) offering one or more services.

NF Service

A self-contained, reusable capability, independently managed (§7.2.1).

NF Service Operation

One action within a service's interface (e.g. …_CreateSMContext).

SBI

Service-Based Interface — N+function (Namf, Nsmf…), HTTP/2 + JSON.

Reference point

A named relationship between two NFs (N11 = AMF↔SMF), realised on the bus.

NRF

NF Repository Function — register, discover, and OAuth2-authorize NFs.

NFProfile

The record an NF registers at the NRF: type, services, S-NSSAIs, capacity, load.

SCP

Service Communication Proxy — the routing tier for Indirect Communication.

Direct / Indirect

NF-to-NF straight, or via an SCP — chosen by local configuration.

Binding Indication

Hint that pins subsequent requests to a suitable producer instance/set.

Notification endpoint

Notification Target Address + Correlation ID — where a Notify is delivered.

apiRoot

The deployment-specific base of every SBI URI (TS 29.501).

OAuth2 token

Signed access token the NRF issues; the producer verifies it (TS 33.501 §13).

SEPP

Security Edge Protection Proxy — the control-plane border gateway between PLMNs.

N32-c / N32-f

SEPP handshake vs protected forwarding of roaming signalling.

PRINS

PRotocol for N32 INterconnect Security — JWE protection allowing IPX mediation.

IPUPS

Inter-PLMN User Plane Security — the N9 user-plane border guard.

Stateless NF

Compute with no local state; context externalised to UDR / UDSF.

VPLMN / HPLMN

Visited vs Home operator networks in a roaming scenario.

Clause map — jump straight to the source
Two representations — 23.501 §4.2.1 SBI list — §4.2.6 Reference points — §4.2.7 Direct / indirect — §7.1.1 Req-Resp / Sub-Notify — §7.1.2 Discovery — §7.1.3 · §6.3.1 Authorization — §7.1.4 Registration — §7.1.5 NF service — §7.2.1 Roaming — §4.2.4 SBI stack — 29.500 §5 URI / OpenAPI — 29.501 OAuth2 · SEPP — 33.501 §13
Verbatim from ETSI TS 123 501 V19.6.0 (2026-01) §4.2.1 · §7.1 · §7.2.1 · §4.2.4  ·  ETSI TS 129 500 V19.4.0 §5  ·  TS 133 501 §13
REFERENCE MATERIAL

Every interface, verbatim from TS 23.501

The complete reference-point list (§4.2.7) and service-based interface list (§4.2.6). Filter to find any N-number or N-name in seconds.

ROAMING · THE BIG DECISION

Local Breakout vs Home-Routed

The single choice that shapes every roaming design. Same phone, same tap — two completely different data paths.

🌏 Local Breakout (LBO) — Fig 4.2.4-1

  • Data exits: in the visited country, at the V-PLMN UPF → N6 → internet
  • User plane: (R)AN → N3 → V-UPF → N6 → DN. No cross-border data.
  • SMF: one, in the visited network
  • Policy: visited PCF, using roaming-agreement config (no access to home policy)
  • Best for: low latency to local servers, efficient paths
  • Trade-off: home operator has less control & visibility

🏠 Home-Routed (HR) — Fig 4.2.4-3

  • Data exits: back in the home country, at the H-PLMN UPF → N6 → internet
  • User plane: (R)AN → N3 → V-UPF → N9 → H-UPF → N6 → DN
  • SMF: two — V-SMF and H-SMF, joined by N16
  • Policy & charging: home operator, full control
  • Best for: IMS voice, lawful intercept, tight charging
  • Border guard: IPUPS UPF may sit on the N9 boundary

Trace fingerprints: one SMF + local N6 = LBO. Two SMFs + N16 + cross-border N9 = Home-Routed. Control between operators always rides N32 through the SEPPs.

TS 23.501 V19.6.0 §4.2.4 Fig 4.2.4-1 / -3 / -4 / -6
QUIZ · 10 QUESTIONS

Architecture mastery check

Questions and answers reshuffle every load. 70%+ to consider Lesson 1.2 done.