Le découpage des fonctions gNB : 3GPP et O-RAN

Introduction

Au cours des 5 précédents articles, nous avons vu les sous-couches protocolaires mises en œuvre au niveau de la station de base gNB.

L’entité gNB a été présentée comme une entité monolithique, le standard 3GPP présente la pile protocolaire et les interfaces entre l’UE, la station de base et le cœur de réseau.

Afin d’apporter plus de souplesse, le standard 3GPP propose de découper l’entité gNB en deux unités : une unité distribuée DU (RLC, MAC et Radio) et une unité centralisée CU (RRC et SDAP/PDCP).

Ce découpage définit de nouvelles interfaces (F1) et de nouvelles liaisons (fronthaul, midhaul et backhaul [1]) comparativement au découpage RU et BBU en 4G LTE.

Figure 1: Le découpage d’une station de base eNB et d’une station de base gNB

II) L’architecture 3GPP

L’architecture du gNB est représentée sur la figure suivante [2]

Figure 2 : Architecture gNB (Rahim Navaei) [2]

On sépare le plan de contrôle (Control Plane) et le plan utilisateur (User Plane) (CUPS : Control User Plane Separation).

Au niveau du cœur de réseau, la 3GPP défini une architecture SA en introduisant les interfaces basées sur le service (SBI) et en utilisant le protocole http2 et des API. L’architecture SBA est Cloud-native.

Au niveau de l’accès radio, la décomposition du la BBU en CU et DU et l’évolution de l’eCPRI permet de faciliter le déploiement de la virtualisation de la partie radio (O-RAN).

Dans le plan de contrôle, la figure 2 fait apparaitre un nouveau protocole F1AP entre le gNB-CU et le gNB-DU et un nouveau protocole E1AP sur l’interface E1 entre le gNB-CU du plan de contrôle et le gNB-CU du plan utilisateur.

Les fonctions sur le plan de contrôle F1AP permettent de gérer l’interface (établissement, re-initialisation, achèvement de l’interface F1) et porte les messages de contrôle RRC pour la gestion du contexte utilisateur (via le message F1AP UE Context), la gestion des systèmes d’informations MIB/SIB, le paging et l’allocation d’un numéro de tunnel TEID pour le plan d’acheminement entre le gNB-CU UP et l’UPF.

Le plan d’acheminement est injecté à travers la fonction E1AP. Les fonctions E1AP permettent de gérer l’interface (établissement, re-initialisation, achèvement de l’interface E1) et de gérer le bearer (via le message E1AP Bearer Context).

A titre d’exemple, en cas de Handover, la reconfiguration radio est déclenchée par l’unité gNB-CU de la station de base source et implique une modification du contexte entre l’unité DU source et l’unité DU cible.

Figure 3 : Les messages en cas de HandOver

 

III) L’architecture O-RAN

L’alliance O-RAN (Open Radio Access Network) propose une décomposition des fonctionnalités de la station de base en micro-services.  La première étape consiste à découper le bloc monolithique de l’entité gNB en fonctions réseaux virtualisables et inter-opérables.

La solution Cloud-Native est adoptée et plusieurs options sont possibles quand à l’implémentation RAN en micro-services : conteneurs, K8s K3s ou VM.

Amazon propose les solutions ECS (Elastic Container Service), EKS (Elastic Kubernetes Services – EKS Distro ou EKS Anywhere) [3]

L’alliance O-RAN définie (figure 1) une architecture O-RAN composée de 9 fonctions réseaux et 19 interfaces. En se basant sur l’architecture 3GPP, l’alliance O-RAN vise à définir une architecture ouverte et interopérable.

Figure 4 : Architecture O-RAN [3]

Les interfaces E2 et O1 permettent d’améliorer la gestion de l’accès radioélectrique et d’automatiser le déploiement d’instances en se basant sur des outils d’optimisation et d’automatisation radio (avec l’utilisation de l’apprentissage Machine Learning et l’optimisation par l’IA).

Le découpage des fonctions O-CU, O-DU et O-RU est standardisé par l’alliance O-RAN. La 3GPP qui propose un découpage du gNB en deux unités DU et CU est représenté par l’option 2 du standard O-RAN.

Figure 5 : Le découpage en fonction de l’architecture O-RAN [4]

L’architecture O-RAN comprend 3 niveau (three tiers) :

L’infrastructure O-Cloud contient les serveurs physiques et les fonctions réseaux.

L’orchestrateur SMO (Service Management and Orchestration Framework) fournit les services de gestion des instances, en apportant les fonctionnalités pour la gestion des slices, la gestion des services de transports de données. Le SMO peut être la plateforme ONAP (Open Network Automation Platform).

Le contrôleur RIC (non-real time and near-real time RIC) a pour objectif d’optimiser les fonctions réseaux RAN pour la gestion de la mobilité des utilisateurs (non real time RIC), le contrôle de l’admission radioélectrique (non real time RIC) et la gestion des interférences (near-real time RIC. Le contrôleur utilise les outils ML/IA pour prédire et optimiser la gestion de l’accès radioélectrique et a pour objectif de contrôler les unités O-DU et O-CU pour la gestion de la QoS.

 

[1] TS 38.401

[2] Rahim Navaei :  https://www.linkedin.com/feed/update/urn:li:activity:7018462941226098688/

[3] https://docs.aws.amazon.com/whitepapers/latest/open-radio-access-network-architecture-on-aws/open-radio-access-network-architecture-on-aws.html

[4] TR 38.801

Evolution de la pile protocolaire LTE vers NR (5/5)

La couche SDAP (Service Data Adaptation Protocol)

La couche SDAP a pour rôle de définir la qualité de service à mettre en œuvre pour chaque support de données radios DRB (Data Radio Bearer).

La couche SDAP fait la correspondance entre la QoS de chaque flux d’une session PDU (session de données entre la station de base et le cœur de réseau) et la gestion de la QoS au niveau du DRB. Une entité SDAP gère autant de DRB qu’il y a de QoS différentes au niveau de la session PDU.

Deux sessions PDU différentes sont gérées par deux entités SDAP et même si deux flux de chaque session ont la même QoS, la station de base gère deux DRB différents, un par entité SDAP.

La QoS du flux est identifiée par l’identifiant QFI (QoS Flow Identifier) de 6 bits, ce qui limite à 64 QFI par session PDU.

Figure 1 : La gestion de la QoS et le gabarit de filtres (TFT) [1]

On parle de QoS réflective lorsque la couche SDAP rajoute l’identifiant QFI sur le lien montant. Ceci permet d’appliquer la même QoS au niveau du cœur de réseau pour le flux montant que la QoS appliquée au niveau du flux descendant. Mais, l’entité SDAP peut être configurée en mode transparent, l’absence d’en-tête SDAP ne permet plus d’ajouter l’identifiant QFI. Cela correspond au DRB UL par défaut.

La configuration du DRB est réalisée par un message RRC, la QoS est soit indiquée dans la configuration du message ou récupérée au niveau de l’identifiant QFI du paquet descendant (QoS réflective). Pour que la couche SDAP de l’UE puisse mettre en oeuvre la QoS réflective, la station de base positionne le bit RDI (Reflective QoS Flow ti DRB mapping Indication) à 1 [2]. Quand le bit RDI=1, l’UE met à jour la table de correspondance QFI -> DRB pour le lien montant.

L’identifiant QFI est standardisé et correspond à un profil de QoS. Au niveau de la station de base, le profil de QoS permet de définir comment traiter le trafic au niveau du DRB.

La couche SDAP est également configurée par la signalisation RRC pour chaque DRB.

Conclusion

La session PDU permet de connecter le terminal vers un réseau PDN, ce réseau est susceptible d’offrir plusieurs services avec des flux de QoS différentes.

La connexion radio est assurée par la station de base qui contrôle les ressources radios. Les différentes couches ont pour rôle d’apporter un service de transfert de données sécurisés en respectant la QoS établie avec le coeur de réseau.

Figure 2 : Les couches protocolaires de l’interface radio

[1] https://www.sharetechnote.com/html/5G/5G_QoS.html

[2]  TS 137 324 – V15.1.0 – LTE; 5G

[3] https://www.techplayon.com/5g-nr-sdap-service-data-adaption-protocol/

 

Livre 5G NR – Chapitre 1 Architecture Fonctionnelle

Le réseau NG-RAN : L’architecture fonctionnelle

extrait du livre : NG-RAN et 5G NR (sortie 19 octobre 2021)

L’objectif de cet ouvrage est de présenter de manière synthétique le déploiement de la 5G-NSA et de la 5G-SA.

Le chapitre 1 présente l’architecture de déploiement 5G-NSA et 5G-SA. L’ouvrage décrit les entités de l’accès radioélectrique et les fonctions du cœur de réseau 5G-SA en présentant les fonctions supportées par l’accès radioélectrique et le cœur de réseau 5GC

Extrait
1.2.1. Le réseau d’accès radioélectrique NG-RAN

Le réseau d’accès NG-RAN fournit à la fois une interface radioélectrique LTE et une interface radioélectrique 5G-NR.

Un nœud NG-RAN est :

  • une station de base 5G (gNB) qui fournit les services du plan de contrôle et la transmission des données du plan utilisateur à travers l’interface radioélectrique 5G-NR;
  • une station de base 4G évoluée (ng-eNB) fournissant des services du plan de contrôle et la transmission des données du plan utilisateur vers les mobiles via l’interface radioélectrique LTE.

Le nœud NG-RAN est responsable de la gestion des ressources radioélectriques, du contrôle de l’établissement du plan utilisateur et la gestion de la mobilité en cours de session (handover). Le mobile se connecte à l’un des nœuds radioélectriques.

Le nœud NG-RAN transfère les données de trafic provenant du mobile vers la fonction UPF, et celles provenant de la fonction UPF vers le mobile.

Lorsque le nœud NG-RAN reçoit des données de la part du mobile ou de la part de la fonction UPF, elle se réfère à l’identifiant QFI (QoS Flow Identifier) pour la mise en œuvre du mécanisme d’ordonnancement des données.

Le nœud NG-RAN peut effectuer pour les données sortantes, à destination de la fonction UPF, le marquage du champ DSCP (DiffServ Code Point) des paquets IP (Internet Protocol) en fonction de l’identifiant QFI affecté au flux.

Le nœud NG-RAN effectue la compression, le chiffrement des données de trafic et optionnellement le contrôle d’intégrité des données avec le mobile sur l’interface radioélectrique.

Le nœud NG-RAN effectue le chiffrement et le contrôle d’intégrité des données de signalisation échangées avec le mobile sur l’interface radioélectrique.

Le nœud NG-RAN effectue la sélection de la fonction AMF du cœur de réseau sur laquelle s’enregistre le mobile UE.

Le nœud NG-RAN traite la demande de paging émise par la fonction AMF pour sa diffusion dans la cellule. La cellule est une zone de couverture radioélectrique du nœud NG-RAN.

Le nœud NG-RAN diffuse également dans la cellule des informations systèmes contenant les paramètres de l’interface radioélectrique.

Afin de gérer les services d’un mobile, le nœud NG-RAN conserve un bloc d’information UE Context relatif au mobile. Les informations sauvegardées par le nœud radioélectrique dépendent de l’état du mobile. Le mobile est soit à l’état RRC connecté (RRC_CONNECTED), soit à l’état RRC inactif (RRC_INACTIVE) soit à l’état RRC de veille (RRC_IDLE).

A l’état de veille, la station de base n’a pas connaissance de la présence des mobiles qui sont à l’écoute des informations diffusées par le nœud radioélectrique. Concernant les mobiles à l’état RRC_IDLE, il n’y a pas de contexte UE au niveau du nœud radioélectrique.

Lorsque le mobile est à l’état radioélectrique connecté RRC_CONNECTED ou à l’état RRC_INACTIVE, l’identifiant radioélectrique du mobile est connu par le nœud respectivement via l’identifiant C-RNTI ou I-RNTI (Connected/Inactive Radio Network Temporary Identifier). Un bloc d’information (le contexte du mobile UE) est rattaché à l’identifiant radioélectrique RNTI. Le contexte est enregistré au niveau du nœud NG-RAN qui gère le mobile (nœud source) et il est transmis au nœud cible en cas de handover. Le contexte UE est également créé au niveau du nœud maitre et du nœud secondaire en cas de double connectivité.

Lorsqu’un mobile est en mode connecté, le nœud NG-RAN utilise les mesures effectuées par le mobile pour décider du déclenchement d’un changement de nœud en cours de session (handover), pour activer ou désactiver des cellules secondaires.

réf : https://www.amazon.fr/dp/B09BLKD3D5/ref=dp_kinw_strp_1

Architecture SBA du réseau 5G : Microservices et SOA

L’objectif de cet article est de comprendre l’évolution du cœur de réseau mobile entre l’architecture 4G monolithique et l’architecture 5G basée sur les services.

La nouvelle architecture 5G a été pensée pour pouvoir ajouter des briques logicielles innovantes et une mise sur marché rapide de ces nouvelles fonctionnalités. Ainsi, à l’instar des solutions proposées par Amazon ou Windows Azur, le réseau 5G s’appuie sur les solutions Cloud et la méthodologie DevOps.

Au cours de cet article, nous allons décrire le cœur de réseau 4G, puis les architectures SOA (Service Oriented Architecture) et microservice pour décrire et comprendre l’architecture SBA (Services Based Architecture) du réseau 5G.

Je remercie Mickael BARON [2] d’avoir pris le temps de relire l’article, le corriger et d’avoir contribué aux améliorations de cet article.

  1. L’architecture du réseau 4G

Le cœur de réseau de mobiles 4G (cf. figure 1) est construit à partir des entités fonctionnelles suivantes :

  • l’entité MME (Mobility Management Entity) a pour rôle de gérer :
    • l’attachement des mobile ;
    • le suivi de la mobilité ;
    • l’établissement de sessions IP prenant en compte la politique de taxation de l’usager ;
    • l’établissement d’un appel voix.
  • l’entité SGW (Serving Gateway) est le point d’ancrage des flux de sessions IP. Le SGW gère l’établissement d’un bearer (un bearer est un tunnel IP de bout en bout associée à une qualité de service QoS). Le bearer s’établit du mobile jusqu’à l’entité PGW. Le SGW mesure le trafic consommé par utilisateur et, en cas de demande judiciaire, dérive le trafic (cas d’interception légale).
  • l’entité PGW (PDN Gateway) est la passerelle de routage entre le réseau opérateur et un réseau IP (PDN : Packet Data Network). L’entité PGW réalise l’inspection de trafic, met en place les bearer avec le SGW, est en charge de fournir une adresse IP au mobile pour chaque bearer, mesure le trafic consommé et, en cas de demande, dérive le trafic dans le cas d’interception légale.
  • l’entité PCRF (Policy Charging Rule Function) gère la mise en œuvre de la QoS pour les bearer dédiés et la gestion dynamique de la facturation.

Figure 1 : Le réseau 4G, les bases de données et l’échange d’information

Chaque entité fonctionnelle contient un ensemble de lignes de codes pour pouvoir apporter les fonctionnalités attendues. On parle de bloc monolithique : le langage de programmation choisi pour chaque entité fonctionnelle dépend de l’équipementier. La mise à jour d’une entité nécessite la recompilation de l’ensemble du programme (toutes les lignes de code), ce qui met à jour toutes les fonctions. L’équipementier doit s’assurer que la modification d’une fonction n’ait aucun impact sur le reste du programme.

Chaque entité fonctionnelle contient une base de données importante (une table avec des millions d’entrées). A titre d’exemple, la figure 1 représente en couleur bleue une partie du contexte sauvegardé dans la base de données des entités pour un mobile. Les entités fonctionnelles partagent leurs données aux autres entités dans des appels à fonction. La technologie utilisée pour la base de données est propre à l’équipementier (mariadb, PostgreSQL, …). Ainsi, deux entités MME provenant de deux équipementiers différents (Nokia/Ericsson par exemple) peuvent utiliser des bases de données différentes et un langage de programmation différent. Mais les échanges entre entités sont normalisés.

Enfin, une ou plusieurs entités fonctionnelles peuvent être intégrées dans une seule entité matérielle. A titre d’exemple, le SGW et le PGW peuvent former l’entité S/PGW. L’entité matérielle est dite monolithe.

Définition : en génie logiciel, un modèle monolithique fait référence à une seule unité indivisible.

Par dérivation, le concept de logiciel monolithique réside dans la combinaison de différents composants d’une application en un seul programme sur une seule plateforme. Habituellement, une application monolithique se compose d’une base de données, d’une interface utilisateur côté client et d’une application côté serveur. Toutes les parties du logiciel sont unifiées et toutes ses fonctions sont gérées en un seul endroit.

Comme le montre la figure 1, dans l’architecture 4G, les entités sont connectées les unes aux autres, par une connexion point à point. Cette connexion est nécessaire afin d’échanger des données.

L’architecture 4G est une architecture composée d’entité monolithe modulaire autonome : chaque entité est responsable d’un ensemble de fonctions et fournit aux autres entités les données nécessaires à l’exécution d’un service.

Par exemple :

  • l’identification, l’authentification et les droits d’accès du mobile sont gérées par l’entité HSS : l’entité MME interroge l’entité HSS pour pouvoir identifier le mobile en lui transmettant l’identité IMSI du mobile. Le HSS transmet à l’entité MME les données d’authentification. L’entité MME va ensuite réaliser la procédure d’authentification avec le mobile ;
  • lorsque le mobile est en mode connecté, l’entité MME connait l’identité de la station de base (eCGI) sur laquelle le mobile échange des données. L’entité MME peut donc demander à l’entité SGW de mettre en place, pour ce mobile, un nouveau bearer (dédié) vers la station de base.

Les spécifications 3GPP standardisent les interfaces entre chaque entité fonctionnelle en définissant :

  • les applications au niveau des interfaces (par exemple GTP-C, S1-AP, DIAMETER) ;
  • les messages échangés entre chaque interface (cf. figure 1).

Dans le cas de l’architecture 4G, une fonction (une portion du code) est sollicitée par une autre entité : à titre d’exemple la fonction PCEF intégrée au niveau de l’entité PGW applique les règles fixées par l’entité PCRF. L’entité PCRF transmet une requête DIAMETER à l’entité PGW sur l’interface Gx. Chaque entité gérant des millions d’utilisateurs, il est nécessaire d’identifier le mobile concerné. Ainsi, chaque entité source soumet à l’entité cible les informations nécessaires (l’identité GUTI ou IMSI, le numéro de tunnel TEID, …comme le montre la figure 1). Les informations à transmettre sont normalisées.

Cette architecture monolithe modulaire facilite l’ajout de nouvelles entités fonctionnelle. Toutefois, puisque les entités communiquent les unes avec les autres selon les spécifications 3GPP, il est nécessaire de respecter les spécifications sur les interfaces. Malgré les efforts de spécifications, l’interprétation de la norme peut être perçue différemment par chaque équipementier.

Ainsi, lorsque l’opérateur ajoute une nouvelle entité, cela nécessite du temps pour vérifier l’intégration de cette nouvelle entité avec les autres entités existantes provenant de constructeurs différents.

En général, une fois la normalisation d’un réseau mobile gelé, l’architecture du réseau de mobiles n’évolue pas.  C’est le cas pour la 2G, puis la 3G. Cela aurait dû être le cas pour la 4G, mais l’arrivée de l’IoT a nécessité une évolution de l’architecture du réseau 4G par l’ajout d’une nouvelle entité. Ainsi, initialement la 3GPP a proposé l’ajout d’une entité MTC-IWF pour les cas d’usage du MTC (Machine Type Communication) et a spécifié l’interface DIAMETER entre l’entité fonctionnelle MTC-IWF et les autres entités.

Toutefois, prenant compte qu’il est plus simple de faire évoluer l’architecture du réseau 4G par l’ajout d’une fonction qui expose des services [1], la spécification 3GPP a proposé l’ajout d’une nouvelle entité matérielle. Ainsi, l’entité fonctionnelle MTC-IWF a été abandonnée au profit de la fonction SCEF : Service Capacité Exposure Function.

Pour résumer, chaque entité fonctionnelle de l’architecture 4G est connectée point à point avec les autres entités par une interface normalisée.

A travers cet interface, les entités offrent des services à une autre entité : le service est une action exécutée par un « fournisseur » (ou « producteur ») à l’intention d’un « client » (ou « consommateur »).

A l’instar du rôle des entités de la 4G, l’architecture SOA (Service Oriented Architecture) s’appuie sur deux éléments principaux : un fournisseur de services et un consommateur de services. Ces deux rôles peuvent être joués par un agent logiciel.

La différence importante entre une architecture 4G et l’architecture SOA concerne la mise en relation des fonctions. Nous allons maintenant nous intéresser aux architectures SOA et microservices facilitant le développement logiciel de nouvelles fonctions.

2. Evolution du réseau de mobile vers l’architecture SOA et l’architecture microservices

II-a) L’architecture SOA

Définition : une architecture orientée services (SOA) est une architecture logicielle qui fait référence à une application composée d’agents logiciels discrets et faiblement couplés qui exécutent une fonction requise. Le concept de SOA est le suivant : une application peut être conçue et construite de manière à ce que ses modules soient intégrés de manière transparente et puissent être facilement réutilisés.

Dans une architecture SOA, les fonctions sont connectées les unes aux autres par un médiateur nommé bus d’intégration ESB.

Le bus d’intégration ESB est un logiciel (middleware) facilitant l’échange de données entre différentes fonctions logicielles (application).

Le logiciel ESB est le point de connectivité pour toutes les applications, et il garantit la sécurisation des échanges.

Le logiciel ESB enregistre les services que fournit chaque application (appelée capacité de service) dans un registre. Les applications publient une ou plusieurs de leurs capacités via le bus ESB et les consommateurs peuvent interagir avec ces applications sans même savoir ce qu’est une application

Le bus ESB centralise les informations et répartit le travail entre les applications. Le bus ESB agit comme un pont de données entre les applications. Le routage des données et la répartition de charge sont assurées par l’application BPM (Business Process Management).

Le bus d’intégration ESB permet de fusionner (interconnecter) diverses applications, anciennes comme récentes, pouvant fonctionner sur des systèmes d’exploitation différents et pouvant utiliser des protocoles différents [2]. Le bus d’intégration s’appuie sur des connecteurs sur lesquelles sont connectées les applications. Les connecteurs garantissent l’interopérabilité entre les applications.

Chaque application fournit et consomme des services : les applications exposent des services à travers des interfaces de programmation d’application API (Application Programming Interface). La gestion des API est fondamentale, elle permet aux développeurs d’utiliser des services back-end pour la supervision et permet de garantir l’agilité du réseau (Agilité [3] : Capacité de changer les choses rapidement).

L’architecture SOA permet donc de réduire le temps de déploiement de nouveaux services.

II-b) L’architecture microservices

L’architecture en microservices consiste à concevoir un ensemble de services autonomes qui communiquent entre eux via une API. Les microservices communiquent via des protocoles HTTP (REST), ou via AMQP (Advanced Message Queuing Protocol) en asynchrone chaque fois que cela est possible, surtout pendant la propagation de mises à jour avec des événements d’intégration. Cette communication se produit par le biais d’un bus d’événements pour propager les mises à jour sur les microservices ou pour s’intégrer à des applications externes.

Un microservice [2] doit réaliser une seule fonctionnalité de l’application globale. En général, chaque microservice est déployé en tant que conteneur indépendant, ou dans une machine virtuelle.

Le concept de conteneur est le plus généralement adopté car il consomme peu de ressource (l’application n’a pas besoin d’un système d’exploitation complet) et il améliore la sécurité, puisque la containerisation permet d’exécuter un programme de manière isolée du noyau d’un système d’exploitation (kernel).

Cette architecture apporte :

  • de la souplesse puisqu’il est possible de développer ou modifier un microservice sans affecter les autres sous-systèmes : chaque microservice étant déployé indépendamment grâce aux solutions de virtualisation et de conteneur, une nouvelle évolution d’un seul service peut rapidement être testée et re-déployée ;
  • de l’élasticité puisqu’il est possible de dimensionner dynamiquement le réseau en fonction du nombre de sollicitation (montée en charge = scalabilité). En cas de trafic croissant, il suffit de multiplier le nombre d’instances d’un microservice.

Chaque microservice dispose si possible de sa propre base de données, ce qui le découple entièrement des autres microservices. Quand elle est nécessaire, la cohérence entre les bases de données des différents microservices est obtenue à travers l’utilisation d’événements d’intégration au niveau de l’application (via un bus d’événements logiques)

A l’instar d’un bus d’intégration, l’architecture microservice utilise un bus d’évènement et un logiciel d’équilibrage de charge (load balancer) afin de mettre en relation des services.

Un bus d’événements est un logiciel (middleware) qui permet une communication de type publication/abonnement entre les microservices, sans nécessiter que les composants soient explicitement informés de la présence des uns des autres.

Figure 2 : Bus d’évènement

Lorsque le microservice publie un évènement, il ne sait pas que cet évènement sera diffusé vers les microservices B et C. Il ne connait pas les abonnés, ceux-ci se sont enregistrés auprès du bus d’évènement MOM (Message Oriented Middleware comme par exemple RabbitMQ).

Si le microservice est stateless, une même requête produit toujours la même réponse. Ainsi, le bus d’évènement met en relation les deux services qui doivent communiquer directement l’un à l’autre. Lorsque plusieurs instances sont activées, l’équilibrage de charge définit quelles instances doivent être sollicitées. L’architecture microservice est donc bien adapté pour dimensionner le système en fonction de la charge.

En contrepartie, cette architecture peut entraîner des soucis de performance puisque chaque microservice peut faire appel à plusieurs microservices. Ainsi, le temps de réponse du plan de contrôle (ce qui revient à la latence) est accru pour chaque dépendance supplémentaire entre microservices.

II-c) Microservices : les bonnes pratiques du SOA

L’architecture SOA est composée d’applications logicielles réutilisables. Les services sont exposés via des API. L’interface, c’est-à-dire le couplage entre applications est faible ce qui permet d’appeler ces services avec peu de connaissance sur la manière dont les services sont implémentés. Cela permet de réutiliser rapidement des services.

A l’instar du SOA, l’architecture microservice est conçu sur un ensemble de fonctions faiblement couplés.

3. Architecture des réseaux de mobile 5G

III-1) Architecture SBA

Les fonctions du cœur de réseau 5G sont très proches des fonctionnalités du cœur de réseau 4G. L’évolution Next-Gen (NG Core) consiste à séparer le plan de contrôle du plan de trafic. Concernant le trafic, pour le réseau 5G comme pour le réseau 4G, les données IP sont encapsulées par le protocole GTP-U à travers un tunnel. Le protocole GTP-U est utilisé entre la station de base gNB et les fonctions UPF (User Plane Function).

L’architecture du plan de contrôle du réseau de mobiles 5G est une architecture hybride entre des applications Cloud Native, et la virtualisation.

Sur la figure 3, on présente à gauche l’architecture monolithique traditionnelle, et deux solutions complémentaires : la virtualisation des fonctions réseaux (NFV : Network Function Virtualization) et la méthodologie Cloud Native.

Figure 3 : L’architecture monolithique, l’architecture de virtualisation VNF et l’architecture Cloud CNF

Une application Cloud Native (CNA) est développée sous forme de microservices faiblement couplés. Chaque microservice est conditionné dans un conteneur. Un orchestrateur central planifie les conteneurs pour gérer efficacement les ressources du serveur et réduire coûts opérationnels. Les CNA nécessitent également un environnement DevOps.

DevOps fait référence à une méthodologie qui prend en compte le développement logiciel avec les contraintes d’administration des infrastructures informatiques. La partie développement (Dev) intègre le développement logiciel, l’automatisation et le suivi du projet informatique et la partie opérationnelle (ops) intègre l’exploitation, la maintenance et la supervision de l’infrastructure informatique. L’équipe opérationnelle (ops) gère la stabilité du système et le contrôle de la qualité des services, et l’équipe développement (Dev) cherche à améliorer les services à moindre coût en ajoutant de nouvelles fonctionnalités. L’équipe ops doit donc constamment valider les évolutions proposées par l’équipe dev.

La méthodologie DevOps permet d’obtenir les avantages suivant pour les applications Cloud Native :

  • une évolutivité facilitée par une architecture modulaires (microservice) ;
  • la réduction du CAPEX et de l’OPEX par mutualisation des applications (hébergement sur des machines virtuelles ou conteneurs) ;
  • l’automatisation des fonctions applicatives.

La solution alternative NFV (Network Function Virtualization) a été initialement proposée et adaptée au cœur de réseau 5G par le groupe de travail de l’ETSI. L’architecture NFV décrit les interactions entre l’infrastructure matérielle (NFVI), la gestion des machine virtuelles (VNFM : Virtual Network Function Manager) et l’automatisation des VM sur les infrastructures matérielles.

La spécification NFV a permis de définir un environnement stable pour la mise en place automatisée de machines virtuelles et de conteneurs, chaque VM ou conteneur exécutant une fonction du réseau 5G (NFV : Network Function Virtualized).

L’architecture SBA du cœur du réseau de contrôle 5G est une solution hybride SOA/microservices.

Figure 4: L’architecture SBA du réseau 5G [9]

La mise en place des fonctions réseaux, la supervision (monitoring) nécessite un orchestrateur afin d’automatiser le déploiement des services (établissement ou relâchement d’un service ou d’un microservice). Une plateforme de service permet de fournir un environnement temps-réel qui utilise une pile de protocoles open-source pour le déploiement de fonction réseaux NF.

La plateforme de service permet l’intégration et le déploiement de nouvelles fonctions sur un réseau en production :

  • CI : l’intégration continue de nouvelles fonctionnalités (CI – Continuous Integration) ;
  • CD : le déploiement continue ou la distribution continue permettant d’automatiser l’ajout d’un nouveau code dans une bibliothèque de code partagé et dans un environnement de production (CD – Continuous delivery/continuous deployment), et résoudre ainsi la difficulté connue sous le nom « integration hell», ou l’enfer de l’intégration.

L’approche CI/CD permet de créer de créer plusieurs versions d’une application, chaque version étant gérées par un serveur de distribution (un serveur référentiel comme github) et de développer l’environnement client afin de tester rapidement la nouvelle version.

Une fois testée en laboratoire, il est assez rapide de rajouter une nouvelle fonction réseau NF (avec la nouvelle version) tout en conservant en parallèle l’ancienne version de la fonction. Le client peut ainsi tester sur son environnement réel la nouvelle version et la conserver en production.

Figure 5 : L’approche CI/CD [9]

L’environnement complet est représenté sur la figure 6 suivante

Figure 6 : L’environnement de production du cœur de réseau 5G [8]

L’approche CI/CD est parfaitement adaptée pour la mise en place du découpage de réseau (Network Slicing) puisqu’elle permet de déployer des nouvelles fonctionnalités rapidement en fonction des spécificités de chaque service.

Figure 7 : L’architecture SBA [10]

MOLI : Management and Orchestration Layer Interface

SOBI : Southbound Interface (SoBI)

III-2) Les fonctions réseau NF (Network Function)

Les fonctions réseau NF se compose d’opérations basées sur un modèle de demande-réponse ou sur un modèle de souscription/notification.

Le protocole HTTP2 est un protocole commun à l’ensemble des fonctions du réseau (NF) remplaçant ainsi les protocoles DIAMETER, GTP-C du réseau de mobiles 4G. Les fonctions réseaux NF communiquent à travers l’interface SBI grâce à un système d’API, principalement le JSON.

Figure 8 : L’interface SBI entre deux fonctions NF

Dans l’architecture SOA, un bus d’intégration permet la communication entre chaque fonction NF. Lorsqu’une fonction NF démarre, elle interroge dans un premier temps un catalogue de fonction pour découvrir les fonctions existantes et communiquer avec elles. Nous avons vu précédemment que le bus ESB enregistre les services que fournit chaque application (appelée capacité de service) dans un registre.

Dans l’architecture réseau 5G, le catalogue de fonction se nomme NRF (Network Repository function). Il offre un service de découverte des fonctions du réseau de mobile et un service d’enregistrement (service registration management et service discovery mechanisms).

La fonction NRF:

  • implémente une fonction d’authentification via une règle de sécurité d’accès sur chaque requête de services reçue
  • délivre un certificat à la fonction NF qui l’interroge. La fonction NF initiatrice d’une requête pourra ainsi prouver son authenticité à la fonction NF cible (qui rend le service).

Figure 9 : L’interface SBI et la communication JSON

Dans le cas de l’architecture SOA, les événements d’intégration sont utilisés pour synchroniser l’état du domaine sur plusieurs fonctions (microservices ou systèmes externes). Cette fonctionnalité est effectuée en publiant des événements d’intégration.

La fonction NF peut se décomposer en plusieurs microservices, notamment un agent_NRF permettant à la fonction NF de se déclarer auprès du NRF. Ainsi, en cas d’évolution de la fonction du NF, l’agent_NRF peut mettre à jour les fonctionnalités au niveau du NRF.

Lorsqu’un événement est publié sur plusieurs microservices récepteurs (sur tous les microservices abonnés à l’événement d’intégration), le gestionnaire d’événements de chaque microservice récepteur gère l’événement.

Figure 10 : Le NF découpé en microservice (Source China Telecom [11])

Dans l’architecture microservices, chaque microservice dispose de sa propre base de données. Pour l’architecture SBA du réseau 5G, la fonction réseau NF (microservice) dispose soit de sa propre base de données UDSF (Unstructured Data Storage Function) soit partage la base de données UDSF avec plusieurs NF.

Comme en 4G, la base de données UDSF contient le contexte de chaque mobile UE (User Equipment).

Figure 11 : La base de données

   4. Conclusion

Si le cœur de réseau 5G présente beaucoup d’analogie fonctionnelle avec le cœur de réseau 4G, l’évolution majeure consiste en un découpage de fonction réseau NF dans un environnement agile permettant de déployer et adapter dynamiquement le cœur de réseau en fonction de la charge et d’apporter rapidement de nouvelles fonctionnalités.

La méthodologie DevOps et l’approche CD/CI permet la mise à jour de certains microservices tout en conservant des microservices de versions plus anciennes pour assurer la stabilité avec des terminaux non compatibles avec cette mise à jour.

Ainsi en maintenant des microservices en fonction (version 1.0) tout en proposant des microservices dans une nouvelle version (version 1.1) cela permet à certains téléphones de profiter des dernières évolutions sans impacter certains terminaux mobiles qui peuvent continuer à fonctionner sur les anciennes versions.

Figure 12 : Le cœur de réseau 5G [7]

L’architecture SBA permet donc une meilleure adaptation aux évolutions de service (Network Slicing).

Figure 13 : Comparaison de l’architecture monolithique et SBA (HPE [12])

La figure 14 fait une synthèse des améliorations ainsi apportées par l’architecture SBA

Figure 14 : Comparaison des architectures [4]

 

Références :

[1] Andrea Zerial

https://www.organisation-performante.com/le-monolithe-dans-l-it-pour-en-comprendre-l-origine/

https://www.organisation-performante.com/les-evolutions-du-si-2-soa-et-le-monolithe-seffrita/

[2] Mickael BARON :  https://mickael-baron.fr/soa/introduction-microservices

[3] Thimothée Barray : https://slides.com/tyx/sflive2020-bb8c28

[4] Michael Sukachev : https://fr.slideshare.net/MichaelSukachev/soa-vs-microservices-vs-sba

[5] Jonathan Huteau, Jérôme Cognet,

https://blog.link-value.fr/architectures-de-projet-b42dc5213857

[6] https://www.ibm.com/cloud/blog/soa-vs-microservices

[7] https://docs.microsoft.com/fr-fr/dotnet/architecture/microservices/multi-container-microservice-net-applications/integration-event-based-microservice-communications

[8] https://images.samsung.com/is/content/samsung/p5/global/business/networks/insights/white-paper/cloud-native-5g-core/Cloud-Native-5G-Core-Samsung-5G-Core-Volume-2.pdf

[9] https://www.redhat.com/fr/topics/devops/what-is-ci-cd

[10] https://5g-monarch.eu/wp-content/uploads/2019/05/5G-MoNArch_761445_D2.3_Final_overall_architecture_v1.0.pdf

[11] https://www.3g4g.co.uk/5G/5Gtech_6004_2017_11_Service-Based-Architecture-for-5G-Core-Networks_HR_Huawei.pdf

[12] http://www.hpe.com/info/5g

 

 

Double Connectivité (DC – Dual Connectivity) 4G/5G

La 5G arrivera en Juillet 2020, le déploiement sera un déploiement au niveau de la couche radio. Comment la 5G sera déployée? Quels services va t’elle apporter? Quelles performances? Comment la station de base 5G (gNB) sera controlée? Peut on parler de 5G si le coeur réseau est 4G?

Ces réponses seront apportées dans une série d’articles, et voici le premier article d’une longue série sur la double connectivité.

Introduction

La double connectivité implique la présence de deux stations de base pour apporter des ressources radio-électrique vers un terminal mais un seul point de terminaison de signalisation vers le coeur réseau. Dans une première phase, le coeur de réseau est le coeur de réseau 4G (EPC), le point de terminaison est donc l’interface S1-MME.

La double connexion implique soit deux stations de bases LTE (se référer à l’article suivant) soit une station de base NR et une station de base LTE (Multi-Radio DC – MR-DC aussi nommé NR-DC).

Chaque nœud radio contient plusieurs cellules (une cellule pour une antenne omni-directionnelle, trois cellules, 6 cellules pour des antennes multi-sectorielles, …), et chaque nœud gère plusieurs porteuses LTE ou NR (agrégation de porteuses).

La double connexion implique donc la gestion de groupe de cellules (GC : Group Cell) pour chaque nœud radio. L’objectif d’un groupe de cellules est de gérer les données sur une ou plusieurs porteuses pour augmenter le débit. Dans un groupe de cellules (GC), on identifie la cellule principale (SpCell) qui est en charge de contrôler toutes les cellules du groupe et optionnellement une ou plusieurs cellules secondaires (SCell).

La double connectivité définie la notion de support MCG (Master Cell Group) et SCG (Secondary Cell Group bearer). Le support MCG est géré par la station de base maitresse, le support SCG correspond aux supports de la station de base secondaire. La double connexion permet de modifier la terminaison du plan de transport (U-plane termination) vers le support MCG ou SCG via la signalisation S1-MME sans modifier le point de terminaison du nœud de contrôle S1-MME (la signalisation est toujours définie entre le cœur de réseau et la station de base maîtresse).

Ainsi, si on appelle MCG le groupe de cellule maître et SCG le groupe de cellules secondaires, le MSG et le SCG peuvent avoit un SpCELL et des SCELL.

La fonctionnalité Double Connectivité (Dual Connectivity DC) a initialement été spécifiée sur le réseau de mobiles 4G entre deux stations de bases eNB différentes (sur des porteuses différentes) avec l’objectif d’augmenter le débit ressenti par l’utilisateur en agrégeant des flux des deux eNB en dépit de la latence provoquée par le lien X2 (backhaul). Cela constitue une différence avec l’agrégation de porteuses ou l’agrégation des flux est réalisée sur la même station de base dans deux bandes radios différentes. Dans le cas de la double connexion, les stations de base n’ont pas besoin d’être synchronisées (et peuvent donc être non co-localisées).

Figure 1 : Agrégation de porteuses et Double Connexion

L’interface X2 est une interface physique, généralement en Fibre Optique. L’interface X2 peut être séparée en deux interfaces, l’interface X2-U pour l’échange de données du plan utilisateur entre la station de base maîtresse et secondaire (handover, double connexion), et l’interface X2-C permettant l’échange des informations de contrôle entre les deux stations de base.

La pile protocolaire pour le plan de transport sur l’interface X2-U utilise les couches protocolaires GTP-U, UDP, IP et la couche de niveau 2

  1. La double connectivité DC 4G-4G (se référer à l’article DC 4G/4G)

L’option DC 4G-4G a déjà été présentée dans un article précédent, on différencie le plan de contrôle et le plan de trafic. L’une des deux stations de base est responsable de la signalisation avec le cœur réseau et le terminal. Les supports (nommés bearer) de signalisation correspondent aux bearer SRB1 et SRB2 entre le terminal Ue et la station de base maîtresse (MeNB). La station de base secondaire est responsable de la connexion de données additionnelles sur le lien radio (DRB) et vers le cœur réseau.

Plan de contrôle :  La station de base maîtresse (MeNB) établie la connexion RRC avec le terminal UE et la connexion radio avec l’entité SeNB (Secondary eNB) est contrôlée par la station de base maîtresse.

Plan utilisateur : Deux options sont supportées pour la DC 4G-4G :

  • Option 1A : Le cœur de réseau établit deux supports (bearer) avec chacun des entités eNB ;
  • Option 3C : Le support est séparé par l’entité MeNB : Split Bearer

Figure 2 : Pile protocolaire DC 4G-4G

Le terminal UE ne dispose que d’une seule entité RRC.

Dans le cas de la double connexion 4G-4G, les deux options retenues parmi toutes les options possibles sont l’architecture 1A et 3C.

Pour l’option 1A, la séparation des flux est gérée au niveau du cœur réseau (SGW).

Pour l’option 3C, la séparation des données est basée sur le routage de support de données PDCP.

Figure 3 : Double Connexion 4G-4G

  1. DC 4G-5G : Déploiement NSA

Le mode de déploiement de la 5G s’appuiera en 2020 sur une double connectivité 4G-5G (mode NSA – Non Standalone Architecture). L’opérateur conserve le cœur de réseau 4G (EPC), la signalisation entre l’accès radio et le cœur de réseau est réalisée par l’entité eNB. On parle d’option 3

Remarque : si le cœur de réseau était 5G on parlerait alors d’option 7, tout chose égale par ailleurs.

Pour l’option 3, le terminal UE est sous le contrôle de la station de base 4G et lors de la demande de connexion radio avec la station de base eNB (LTE PCell), le terminal va être configuré pour monter un support radio NR avec la station de base gNB (dénommée en-gNb : E-UTRAN – NR gNB pour rappeler le mode DC).

Plan de contrôle : Sur l’interface radio, le terminal UE est contrôlé par l’entité eNB et en-gNB (par des messages RRC). La signalisation (CP : Control Plane) est échangée entre les deux stations de base via le lien backhaul X2.

L’application X2AP réalise plusieurs fonctions comme le rappelle la figure 4 :

Figure 4 : les fonctions supportées par l’application X2AP

Plan Utilisateur : Le terminal UE peut être connecté simultanément sur l’entité eNB et en-gNB pour le plan utilisateur ou uniquement avec l’entité en-gNB.

La fonction DC 4G-5G option 3 se décline en trois sous options (figure 4) en séparant le support au niveau de l’accès radio (split bearer) ou en créant un support au niveau du cœur de réseau (MCG ou SCG) :

  • option 3 : La séparation du support (split bearer) est réalisée par l’entité MeNB. Le trafic (UP : User Plane) est transmis à travers le lien X2 vers l’entité SgNB (Slave en-gNB) ;
  • option 3a : La création d’un bearer secondaire (SGC) s’effectue au niveau du cœur réseau (SGW) et le flux de données est transmis sur deux supports (bearer) complémentaires, l’un vers l’entité MeNB, l’autre vers l’entité SgNB ;
  • option 3x : La création d’un bearer est réalisée au niveau du cœur radio (SCG) et la séparation du bearer est réalisée par la station de base secondaire (SCG split bearer).

Figure 5 : Les options 3/7 vert à gauche, 3a/7a (en bleu), 3x/7x vert à droite du mode NSA

L’option 3x consiste à séparer le support DC au niveau de la station de base gNB. L’entité eNB peut conserver un ou plusieurs bearer avec le cœur de réseau (MCG bearer) ou ne gérer que la signalisation entre l’accès radio (eNB/en-gNb) et le cœur de réseau.

Dans le cas du split-bearer, les données sont distribuées ou dupliquées entre les deux nœuds radios. L’équilibrage de charge est réalisé de manière dynamique par le nœud d’ancrage (MeNB ou SgNB) en fonction du trafic, c’est-à-dire par l’entité PDCP du nœud d’ancrage (MeNB pour l’option 3 et SgNB pour l’option 3x).

Dans la suite, on appellera indifférent SgNb ou en-gNB.

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)