La fonction SCP : proxy applicatif spécialisé pour la signalisation inter-NF

Nous allons voir dans cet article la fonction SCP Service Communication Proxy proposée dans la Rel-16 pour apporter une souplesse dans le déploiement du 5GC et dans la communication entre les fonctions NF.

Dans le cœur de réseau 5G (5GC), tout est service. Une fonction réseau (NF) n’appelle plus forcément une autre NF via une interface point à point figée comme en EPC (S1, S5, S11…) : elle consomme un service exposé en HTTP/2, décrit en JSON, au sein d’une architecture orientée services — la SBA, Service-Based Architecture (3GPP TS 23.501 §7).

Mais « orienté services » ne dit pas comment la requête voyage concrètement entre le consommateur (NFc) et le producteur (NFp). Sur ce point, la 3GPP définit quatre modèles de communication, désignés modèles A, B, C et D (TS 23.501 §7.1.1). Ils se distinguent par une question simple : qui découvre le producteur, qui le sélectionne, et qui route effectivement la requête ?

Le socle commun : le NRF

Avant de comparer les modèles, un mot sur la fonction qui rend tout ça possible : le NRF (Network Repository Function). Chaque instance de NF s’y enregistre avec un profil (NFProfile, TS 29.510 §6.1.6.2) décrivant son type, son statut, les slices qu’elle sert (sNssais), sa charge courante (load), sa capacité configurée (capacity), sa localisation, et bien d’autres attributs. C’est sur cette base que repose toute logique de discovery (trouver les candidats) et de sélection (choisir le bon candidat parmi eux).

Ce qui change d’un modèle à l’autre, c’est seulement la répartition de ces deux tâches — discovery et sélection — entre le consommateur et un composant que l’on n’a pas encore présenté : le SCP.

Modèles A et B : la communication directe

Dans les modèles A et B, le NFc parle directement au NFp, sans intermédiaire de routage.

Modèle A — sans discovery. Le consommateur connaît déjà l’adresse du producteur, configurée statiquement. Aucune interrogation du NRF n’a lieu au moment de l’appel. C’est simple, mais rigide : ça ne tient pas la route dès que les instances NF sont déployées, retirées ou redimensionnées dynamiquement — exactement le genre de souplesse qu’on recherche en environnement cloud-native.

Modèle B — avec discovery, sans SCP. Le consommateur interroge le NRF (Nnrf_NFDiscovery_Request), reçoit une liste de candidats (SearchResult, TS 29.510 §6.2.3), applique lui-même sa logique de sélection (charge, localisation, slice…), puis contacte directement l’instance choisie. La découverte est dynamique, mais chaque NFc doit implémenter sa propre logique de discovery et de sélection — du code répété dans chaque type de NF.

Le SCP : un proxy de service, pas un simple routeur

Les modèles C et D introduisent le SCP (Service Communication Proxy), une fonction réseau à part entière dont le rôle est de gérer l’échange de signalisation entre NFs. Deux déploiements sont possibles : colocalisé avec chaque NF (modèle sidecar, comme dans un service mesh applicatif), ou centralisé comme une entité à part.

Le SCP agit comme un routeur de service et, selon le modèle, comme un agent de sélection : il peut interroger lui-même le NRF pour obtenir les paramètres de sélection (charge, capacité, localisation) d’un ensemble d’instances, et choisir la plus appropriée au moment du routage — une décision mécaniquement plus fraîche que celle prise par un NFc qui aurait mis en cache un résultat de discovery plus ancien (borné par le validityPeriod de la réponse NRF et le heartBeatTimer de chaque instance enregistrée).

Modèle C : le NF consommateur garde la main sur la découverte

Dans le modèle C, le NFc continue d’interroger le NRF et d’appliquer sa propre logique de sélection — exactement comme en modèle B. La différence se situe après : au lieu de contacter directement le producteur, le NFc envoie sa requête au SCP, en indiquant l’adresse cible.

Deux cas se présentent. Si cette adresse pointe vers une instance unique, le SCP se contente de router — un simple relais. Si elle pointe vers un NF Set (un ensemble d’instances interchangeables), le SCP doit lui-même sélectionner une instance dans ce set, en interrogeant si besoin le NRF pour affiner son choix.

Le NFc fait donc toujours le gros du travail de discovery et de sélection, mais délègue le routage réseau au SCP — un point de contrôle centralisé qui apporte de la résilience et de l’observabilité, sans simplifier la logique côté consommateur.

Modèle D : la découverte déléguée

Le modèle D va plus loin : le NFc ne fait ni discovery ni sélection. Il construit sa requête avec uniquement les critères nécessaires — type de NF cible, S-NSSAI, DNN, zone géographique — typiquement transmis via les en-têtes 3gpp-Sbi-Discovery-* en HTTP/2 (TS 29.500), et envoie le tout au SCP.

C’est le SCP qui interroge le NRF, obtient les candidats correspondants, effectue la sélection finale, puis route la requête. Le NFc n’a plus besoin de connaître le NRF ni d’implémenter quoi que ce soit en matière de sélection : toute cette intelligence est centralisée dans le SCP — au prix d’un SCP qui doit être nettement plus robuste et complet.

Quel modèle pour quel déploiement ?

Il n’y a pas de modèle « supérieur » dans l’absolu — seulement des compromis différents.

Le modèle A reste pertinent pour des relations NF figées à petite échelle, là où la complexité d’un NRF ne se justifie pas. Le modèle B convient à des déploiements dynamiques mais de taille modeste, où dupliquer la logique de sélection dans chaque NF reste acceptable. Le modèle C apporte de la résilience et de l’observabilité centralisée sans renoncer à la maîtrise de la sélection côté consommateur — un bon compromis pour des architectures en transition. Le modèle D, enfin, est celui qui s’aligne le mieux avec une approche service mesh à grande échelle : il simplifie radicalement chaque NF, au prix de concentrer une responsabilité critique — et donc une exigence de robustesse accrue — sur le SCP.

En pratique, un même cœur de réseau 5G n’est pas obligé de choisir un seul modèle pour toutes ses interactions : certains flux peuvent rester en communication directe (B) tandis que d’autres transitent par un SCP en mode délégué (D), selon la criticité, la fréquence d’appel, ou la maturité de l’infrastructure de routage déployée par l’opérateur.


Références : 3GPP TS 23.501 §6.3 et §7.1.1 (NF Service Framework) ; TS 29.500 (en-têtes de découverte HTTP/2) ; TS 29.510 (Nnrf_NFDiscovery, schémas NFProfile et SearchResult).

Le réseau 5G – 5GS

Le réseau 5G (5G System) se compose d’un accès Radio (NG-RAN : Next Generation RAN) et d’un cœur réseau (5G Core).

I. L’accès radio 5G

L’accès radio 5G est constitué de stations de base de nouvelle génération qui forment le nœud de connexion des mobiles avec le cœur réseau 5G (5GC)

Les mobiles UE communiquent avec les stations de base soient par un lien radio 5G, soit par un lien radio 4G. Si la communication est en 5G, la station de base se nomme gNB (next Generation Node Base Station), si la communication est en 4G, la station de base est une station de base 4G eNB évoluée pour s’interconnecter avec le cœur réseau 5G. La station de base se nomme ng-eNb (Next Generation eNb).

Les fonctions de la station de base gNb sont  assez similaires avec l’entité eNB. Cependant, les différences concernent la gestion de la qualité de service par flux et non par support (bearer) et la gestion des tranches de réseau (Slices) sur l’interface radio.

Pour rappel, un slice est composé d’instances logiques du réseau mobile permettant d’apporter un service réseau de manière efficace en vue de répondre à une qualité de service QoS spécifique à ce service (se référer à l’article Network Slicing).

II. Le cœur réseau 5G (5GC)

Le cœur réseau 5G est adapté pour la virtualisation du réseau et s’appuie sur le découpage du plan de contrôle (Control Plane) et du plan utilisateur (User Plane) définit dans l’architecture CUPS.

Par comparaison avec la 4G CUPS, on pourrait dire que  :

  • L’entité AMF (Access and Mobility Managmenent Function) reprend le rôle de l’entité MME. L’entité AMF établit une connexion NAS avec le mobile UE et a pour rôle d’enregistrer (attachement) les mobiles UE et de gérer la localisation des mobiles sur le réseau 3GPP et/ou non 3GPP.
  • L’entité SMF (Session Management Funtion) reprend le rôle de l’entité SGW-C et PGW-C. L’entité SMF permet de contrôler les sessions PDN. L’entité SMF est choisie par l’entité AMF puisque l’entité AMF  gère la signalisation NAS avec le mobile. L’entité SMF est responsable de la gestion du plan de contrôle. L’entité SMF a une interface avec l’entité qui gère la politique des flux (PCF : Policy Charging Function).

Le plan de transport est composé de passerelles de données qui réalise des mesures sur les données transportées et réalise l’interconnexion avec les réseaux Data (PDN). Dans l’architecture CUPS, les fonctions du plan de transport sont gérées par les entités SGW-U et PGW-U. Pour le cœur réseau 5G, les fonctions du plan de transport sont à la charge de l’entité UPF (User Plane Function). L’entité UPF communique avec l’entité SMF par l’interfae Sx et selon le protocole PFCP. Se référer à l’article présentant l’architecture CUPS.

L’entité PCRF de l’architecture 4G permet de définir les règles de contrôle et les politiques de flux avec l’entité SGW/PGW. En 5G, l’entité PCRF se renomme PCF et permet de contrôler les flux à la fois au niveau de l’entité SMF mais également au niveau de l’entité AMF afin de pouvoir apporter une meilleure granularité sur les flux autorisés en prenant en compte la localisation du mobile UE.

Le profil utilisateur (son abonnement, ses droits, …) sont sauvegardées dans une base de données UDR accessible via l’entité UDM (Unified Data Management). L’entité UDM conserve les profils de sessions de données (sessions PDU) et de l’entité AMF sur laquelle est attachée le mobile UE (éventuellement les entités AMF pour un accès 3GPP et non 3GPP sur un autre opérateur).

L’enregistrement du mobile nécessite une double authentification réalisée au niveau de l’entité AMF et du mobile UE à partir de vecteurs d’authentifications fournies par l’entité AUSF (AUthentication Server Function).

Enfin, l’entité NSSF (Network Slice Selection Function) est une entité permettant d’assister l’entité AMF de la sélection des instances logiques du réseau pour une tranche de réseau (slice) défini.

La figure 1 présente l’architecture 5G et les interfaces entre chaque entité.

Figure 1 : L’architecture du réseau 5G point à point (R.15)