Déploiement de la 5GC

  1. Architecture du cœur de réseau 5GC

Le cœur de réseau 5GC est déployé selon l’architecture a 3 niveaux :

  • les instances des fonctions réseaux sont exécutées au sein de DataCenter central
  • un Datacenter régional avec le plan de trafic
  • un Datacenter de proximité (Edge Datacenter) avec le MEC et le CDN

Figure 1 : Architecture 3 niveaux [1]

      2. Fiabilité du réseau : Redondance

Afin de fiabiliser le cœur de réseau, le déploiement des fonctions 5G s’appuient sur la redondance de fonctions dans des Datacenter séparés (DC1/DC2) selon une approche active/active, active/passive ou sur une redondance dans un pool.

La redondance active ou passive sont mises en œuvre pour les fonctions NRF, NSSF, SMSF, UDM, et UPCF alors que la redondance par pool est utilisée pour les fonctions AMF, SMF et UPF.

II-a) La redondance active/passive

La redondance active/passive représente une paire de fonction NF et seule la fonction active apporte le service demandé, la fonction passive est vue comme un backup. Les deux NF échangent un message Heartbeat (battement de cœur) c’est-à-dire un ping envoyé à un intervalle de pulsation régulier configuré.

Figure 2 : La redondance active/passive

Le HeartBeat est un système de haute disponibilité sous Linux (LinuxHA High Availability), mettant en cluster, c’est-à-dire en groupe, plusieurs fonctions. Le processus Heartbeat se chargera de passer les communications aux serveur actif si celui-ci est vivant et au serveur passif le cas échéant.

Sous linux, installez le paquet Heartbeat (apt-get install heartbeat)
et configurez le fichier /etc/heartbeat/ha.cf de la même manière
sur les deux serveurs.

II-B) La redondance active/active

La redondance active/active chaque NF déployée sur 2 DC différents répondent aux services demandés. Les données de backup peuvent être transmises d’une NF active à une autre, mais n’est pas obligatoire.

II-C) La redondance par pool

Les fonctions NFs sont regroupées dans un pool et chaque NF répond aux services demandés. Quand une fonction NF tombe en panne, les autres prennent le relai.

Les fonctions AMF sont regroupées selon l’architecture mesh, c’est-à-dire décentralisée et par type de service à supporter.

Un pool de SMF permet de connecter plusieurs SMF pour contrôler plusieurs UPF sur une zone radio donnée

Figure 3 : Le regroupement des NF

II-D) La surveillance des états

Les fonctions NF du cœur de réseau vérifient l’état des autres fonctions NF couplées via des messages ping à travers l’interface SBI ou des notifications de souscriptions pour la fonction NRF.

Sur l’interface point à point, les fonctions NF vérifient le lien à travers des messages Heartbeat via l’association SCTP ou le lien PFCP.

Figure 4 : La surveillance des états [1]

La fonction NRF est la première instance qui est exécutée lorsqu’on souhaite démarrer un nouveau cœur de réseau. Le NRF répertorie toutes les fonctions réseaux NF. Lors de la procédure de démarrage, une fonction NF vient s’enregistrer au niveau du NRF via une requête http.

Figure 5 : L’enregistrement de la fonction SMSF [2]

Pour la fiabilité du réseau, la fonction NRF fonctionne par paire : les opérateurs copient de manière active le NRF du DC1 vers le DC2.

La fonction NSSF assure la mise en œuvre du network slicing. Pour la fiabilité du réseau, les opérateurs déploient une paire de NSSF.

 

[1] Huawei : Deploy and apply 5G Core

[2] https://nickvsnetworking.com/if-you-like-pina-coladas-and-service-the-control-plane-intro-to-nrf-in-5gc/

 

E2E Network Slicing : le découpage du réseau de bout en bout (Partie 2)

[bws_captcha]Cet article est la suite de :

« E2E Network Slicing : le découpage du réseau de bout en bout (Partie 1)

III) La virtualisation du cœur de réseau

Les entités du cœur de réseau AMF, SMF, NEF, PCF sont des fonctions qui peuvent être virtualisées. Ces fonctions gèrent le plan de contrôle du réseau de mobiles et les performances fonctionnelles sont analysées au niveau du support opérationnel OSS (FCAPS).

L’entité UPF peut également être virtualisée, cette fonction gère le plan utilisateur. La fonction UPF possède des capacités d’aiguillage de trafic à partir de la classification de flux UL-CL (Uplink Classifier). Ainsi, la fonction UPF peut avoir le rôle de point de branchement (multi-homing), point d’ancrage de session (PSA : PDU Session Anchor) ou classificateur de flux pour définir le prochain saut. La classification de flux est une fonctionnalité supportée par la fonction UPF afin de diriger le trafic localement en fonction des filtres appliqués au trafic UE.

Le contrôle des fonctions virtuelles dans le cœur de réseau 5G est réalisé par deux fonctions nommées NSSF (Network Slice Selection Function) et NRF (Network Repository Function).

  • Le rôle du NSSF est de sélectionner le jeu de tranches réseau que l’utilisateur va pouvoir utiliser en fonction de son contrat d’abonnement (SLA) pour lui apporter la QoE (Quality of Experience) souhaitée. Le choix du slice se faisant au moment de l’enregistrement du mobile, la fonction NSSF dialogue avec la fonction AMF ou la fonction NSSF d’un autre PLMN.
  • Le rôle du NRF est de fournir un contrôle des fonctions virtuelles (NF) et des services proposés par les fonctions virtuelles.
    • La fonction NRF est un catalogue qui est mis à jour au moment de l’activation de la fonction virtuelle (enregistrement) et mis à jour lorsque la fonction virtuelle est redimensionnée. Elle propose ainsi un service de découverte de fonctions virtuelles
    • Toute fonction virtuelle NF peut demander à la fonction NRF, par une procédure de souscription, d’être informée dès qu’une nouvelle instance est créée.

Figure 5 : Inscription d’une fonction virtuelle au niveau de la fonction NRF (TS 29.510)

Une sous-instance virtuelle est composée au minimum de fonctions AMF, SMF, PCF, NRF. L’opérateur (OSS) met en place un ou plusieurs sous réseaux virtuels SNI et peut à tout moment activer ou désactiver un sous-réseau (procédure NSI figure 3). Chaque fonction activée vient se déclarer auprès de la fonction NRF (figure 5).

Une instance de réseau permet de gérer un type de service. Le type de service est défini par la variable S-NSSAI. Le S-NSSAI contient 2 champs :

  • SST sur 8 bits défini le type de slice (Slice Service Type)
    • SST = 1 : eMBB (normalisée 3GPP) ;
    • SST = 2 : URLLC (normalisée 3GPP) ;
    • SST = 3 : mMTC (normalisée 3GPP) ;
    • SST = 4 : V2X (normalisée 3GPP) ;
    • SST= 5 : HMTC (High Performance MTC normalisée 3GPP – R.17 – mise à jour janvier 2022);
    • SST=6 : HDLLC (High Data Low Latency Communication 3GPP – R.18 mise à jour juin 2023)
    • SST de 128 à 255 sont définis par l’opérateur.
  • SD (Slice Differentiator) est une information optionnelle qui permet de décliner plusieurs types de sous-service dans une catégorie SST donnée afin de différencier les clients.

La fonction NSSF permet d’identifier les NSI. Cette fonction est configurable via une API REST.

Voici un exemple de configuration de la fonction NSSF :

https://host:port/v1/nssf/configurations/nsiprofiles
POST
Content-Type: application/json
BODY
{
    « name »: « NSI001 »,
    « nrfUri »: « https://nrf.bloglaunay.com »,
    « nsiId »: « 1 »,
    « targetAmfSets »:
    [
        {
            « regionId »: « 01 »,
            « setId »: « 001 »,
            « setFqdn »: « set001.region01.amfset.5gc.mnc111.mcc208.3gppnetwork.org »
        },
        {
            « regionId »: « 01 »,
            « setId »: « 002 »,
            « setFqdn »: « set002.region01.amfset.5gc.mnc111.mcc208.3gppnetwork.org »
        }
    ]
}

Pour être plus complet, la configuration de la fonction NSSF permet aussi de diriger le choix de la fonction NRF en fonction du NSSAI demandé.

D’un point de vue opérateur : Lorsqu’une tranche de réseau est mise en œuvre, la fonction AMF peut toujours mettre à jour la configuration S-NSSAI de la fonction NSSF afin d’informer celle-ci des types de service supportés par la fonction AMF sur une zone de localisation TA.

Une fonction AMF peut gérer plusieurs tranches de réseaux S-NSSAI (il n’y a pas de limite fixée au niveau du cœur de réseau).

Figure 6 : La mise à jour de la fonction NSSF

L’entité NSSF sélectionne le (ou les) instances de réseau NSI correspondant(s) à la demande du mobile à partir du (ou de la liste des) S-NSSAI et détermine ainsi les fonctions AMF candidates correspondant spécifiquement (ou au mieux) à la demande de l’UE. Eventuellement, l’entité NSSF interroge la base de données NRF (Network Repository Function).

Figure 7 : Procédure d’enregistrement et sélection du NSI

L’entité NSSF renvoie à la fonction AMF qui l’a interrogée, la valeur NSSAI autorisée sur la zone TA et la liste des fonctions AMF candidates (figure 7).

Lorsque la station de base s’active (mise en route ou suite à une procédure de ré-initialisation), elle interroge les fonctions AMF pour connaître les tranches de réseaux (slices) supportées par chaque fonction AMF accessible comme le montre la figure 8.

 

Figure 8 : La déclaration des slices supportées par les fonctions AMF auprès de l’entité gNB

Si la station de base gNB était déjà en fonctionnement, alors elle est informée des modifications NSSAI apportées au niveau de la fonction AMF via le message NG Setup request (figure 9).

Figure 9 : La mise à jour des slices supportées par les fonctions AMF auprès de l’entité gNB

Lorsque le mobile s’active, il réalise une procédure d’attachement auprès d’une fonction AMF. L’attachement se fait sur une fonction AMF parmi toutes les fonctions AMF qui ont été activées par le support opérationnel OSS et accessible par la station de base gNB.

La sélection de l’entité AMF est réalisée au moment de la procédure d’attachement. Le choix est effectué à partir de l’identifiant NSSAI émis dans la requête NAS REGISTER. La station de base gNB reçoit la requête RRC qui porte le message NAS et l’indicateur NSSAI à partir duquel il sélectionne une fonction AMF. Si plusieurs fonctions AMF candidates peuvent être choisies (cf figure 8), la station de base gNB fait son choix par équilibrage de charge.

La fonction AMF sélectionnée par l’entité gNB interroge la base de données UDM pour vérifier que l’indicateur NSSAI demandé par le terminal (requested NSSAI) est accepté. L’entité UDM transmet à la fonction AMF le NSSAI autorisé pour ce client (allowed NSSAI). A partir de ce moment, la fonction AMF consulte la fonction NSSF (Network Slicing Selection Function) à partir d’une requête GET en indiquant la liste des S-NSSAI autorisés.

Si après consultation de la fonction NSSF, la fonction AMF sélectionnée initialement (appelée AMF source) par la station de base n’est pas appropriée pour les services demandés (NSSAI), alors la fonction AMF source réalise la procédure de ré-allocation de la fonction AMF.

Concernant la ré-allocation (lors de la procédure d’attachement), deux options sont possibles :

Dans le cas de l’option A (figure 10), en fonction des informations de souscription et de politique locale, la fonction AMF source décide d’envoyer la requête initiale vers la fonction AMF cible via le message Namf_Communication_N1MessageNotify portant le message NG-RAN Reroute Message.

Cependant, comme il ne peut y avoir qu’un seul point de terminaison N2 entre l’entité gNB et la fonction AMF pour un UE donné, la fonction AMF cible met à jour le point de terminaison auprès du gNB via le message NG AMF Configuration Update.

 

Figure 10 : Procédure de ré-allocation de la fonction AMF pour la gestion des transches de réseau du mobile UE : Option A

Dans le cas de l’option B (figure 11), en fonction des informations de souscriptions et de politique locale, la fonction AMF source décide d’envoyer le message NGAP Reroute NAS Message à l’entité gNB afin que celle-ci formule une nouvelle requête d’attachement vers la fonction AMF cible.

Figure 11 : Procédure de ré-allocation de la fonction AMF pour la gestion des tranches de réseau du mobile UE : Option B

Au niveau du cœur de réseau, le mobile s’enregistre sur une seule fonction AMF.

Le mobile peut demander à profiter de plusieurs tranches de réseaux (figure 12), les fonctions AMF, NSSF font parties des fonctions communes à toutes les tranches. Les fonctions PCF et NRF peuvent être communes ou spécifiques à une tranche de réseau.

Pour que le mobile puisse recevoir ou émettre des données, il faut mettre en place une session PDU. La session PDU est contrôlée par la fonction SMF, avec des règles PCF spécifiques.

Figure 12 : Les tranches de réseaux : Fonctions communes et spécifiques.

Il est aussi possible d’ajouter des fonctionnalités supplémentaires comme imposer la direction de trafic (trafic steering) en sortie du réseau de mobiles Gi-LAN afin d’apporter des services comme de l’optimisation vidéo, optimisation http, un cache CDN, un cache de réalité virtuelle, un détecteur de malware, une fonction parentale, un parefeu, …

Au niveau du mobile, le mobile fait une demande d’enregistrement auprès du cœur de réseau. Le mobile indique dans sa requête NAS les tranches de réseaux souhaitées (Requested NSSAI). Le requested NSSAI correspond soit au NSSAI configuré pour le PLMN (configured NSSAI), soit au NSSAI autorisé pour le PLMN (allowed NSSAI). Ce dernier (allowed NSSAI) a été récupéré lors d’un précédent enregistrement. Si le mobile n’a aucun NSSAI configuré pour le PLMN sur lequel il s’enregistre, alors il transmet l’information NSSAI configurée par défaut (Default configured NSSAI).

L’information NSSAI est configurée sur la mémoire non volatile du mobile. Il ne revient pas au standard 3GPP d’indiquer où est stockée cette information mais aux fabricants de terminaux. Le mobile peut contenir plusieurs informations NSSAI, chaque NSSAI est couplée à l’identifiant SUPI et est identifiée par le PLMN ID (cf. TS 24.501). Si on change l’identifiant SUPI, les informations NSSAI sont supprimées de la mémoire du terminal.

Dans le cas des smartphones, l’information NSSAI est configurée par défaut (Default configured NSSAI).

Dans le cas des terminaux IoT et URLCC, l’information NSSAI devrait être provisionnée afin de limiter l’impact de charge au niveau de la fonction AMF grand public lorsque les terminaux IoT s’allumeront.

Le mobile doit stocker les informations S-NSSAI du HPLMN. Si le mobile est enregistré sur un réseau visité VPLMN, le mobile doit aussi sauvegarder le NSSAI configuré pour ce VPLMN et doit faire la correspondance avec les S-NSSAI qu’il peut exploiter sur le réseau HPLMN. Le mapped NSSAI est utilisé en roaming pour faire la correspondance entre un S-NSSAI spécifique (128 à 255) du réseau H-PLMN et le S-NSSAI correspondant dans le VPLMN.

Lorsque le mobile demande l’établissement d’une session PDU, il transmet dans le message NAS l’information S-NSSAI souhaitée et des règles URSP (UE Route Selection Policy).

 

Le dernier paragraphe sera traité dans un autre article.

Les tranches de réseau : Network Slicing

Cet article propose de faire une première synthèse des technologies abordées dans les articles précédents comme la virtualisation matérielle, la virtualisation des fonctions réseaux NFV, le chaînage des fonctions service (SFC) et l’approche de découpage du plan de données et du plan de contrôle (SDN).

La programmation des réseaux est une tendance émergente qui permet de transformer l’usage du réseau en s’appuyant sur des solutions logicielles. Si la virtualisation (cf  article : http://blogs.univ-poitiers.fr/f-launay/2018/01/23/virtualisation-du-reseau-epc-concept-nfvsdn/ )a permis de déployer des services réseaux facilement sous le contrôle d’un orchestrateur (cf article : http://blogs.univ-poitiers.fr/f-launay/2018/02/04/network-functions-virtualisation-nfv-pour-le-reseau-4g5g/), l’enchainement des fonctions de services (NVFFG ou SFC : article http://blogs.univ-poitiers.fr/f-launay/2018/01/28/le-sfc-service-function-chaining-mise-en-oeuvre-du-sdnnfv-sur-le-reseau-de-mobile-4g/) permet la flexibilité et l’adaptabilité du réseau en fonction de la demande.

Le chainage de fonction service s’appuie sur une approche SDN (cf article http://blogs.univ-poitiers.fr/f-launay/2018/01/15/principe-du-sdn-dans-une-architecture-reseau-classique/) pour programmer les besoins de services d’acheminements de flux et de contrôle de flux en proposant une abstraction de la couche réseau aux services applicatifs.

Grâce à ces différentes technologies (SDN, NFV, SFC), la programmation du réseau apporte une flexibilité et une modularité permettant de créer simultanément plusieurs réseaux logiques (virtual network) pilotés par la couche application via des API. Les descripteurs (NVFD) permettant de définir chaque besoin permettent ainsi de tailler un réseau à la demande et adapté au besoin (NFV MANO)

Ces différents réseaux logiques sont appelés des tranches de réseaux ou network slices et correspond à la mise en réseau de bout en bout entre un client UE et un service réseau (IoT, IP, IMS, …) en s’appuyant sur une infrastructure réseau virtuelle (SDN Overlay) ou physique (SDN). Chaque tranche de réseau est isolée des autres et gérée/contrôlée de manière indépendante (bac à sable grâce à la virtualisation et à la gestion NFV MANO) et s’adapte à la demande (easy go network).

Une tranche de réseau (network slice) est une collection de ressources, qui combinées ensemble de manière appropriées, permettent de créer un support réseau répondant aux exigences demandées. Les types de ressources pour le network slicing sont :

  • Fonction réseaux (NF : Network Function) : Bloc fonctionnel qui fournit une capacité réseau spécifique et réalise une fonction demandée. La fonction réseau est généralement une instance logicielle tournant sur une infrastructure physique mais, il peut aussi s’agir d’un équipement matériel dédie ou une combinaison des deux.
  • Infrastructure matérielle  dédiée ou partagée pouvant héberger les fonctions réseaux.

La figure 1 représente ainsi un exemple d’architecture du network slicing.

Figure 1 : L’architecture réseau en tranche

En proposant un réseau pour les différents besoins, le réseau opérateur supporte des besoins en terme de qualité de service (temps réel ou non, débit garanti ou non, bande passante, latence) très différent en fonction des besoins, comme le montre la figure 2.

Figure 2 : Approche horizontale des sous réseaux logiques de l’opérateur

I) Approche NFV

Orchestration

L’orchestration est un processus clé pour le network slicing qui s’appuie sur des descripteurs définies par exemple sur des accords de niveau de service SLA. L’orchestration est définie comme un processus de sélection optimale de ressources pour répondre entièrement aux demandes de service de chaque client. Le terme optimal réfère à l’optimisation de la politique de flux en fonction de l’abonnement du client (SLA) qui gouverne les choix du processus d’orchestration sur la sélection de ressources au niveau de l’infrastructure physique sur les POP.

Isolation

L’isolation est une exigence primordiale afin de pouvoir faire fonctionner en parallèle plusieurs tranches de réseau qui se partagent les mêmes ressources physique et les mêmes infrastructures.

L’isolation fait référence à :

  • Performance : Chaque tranche est définie par rapport à une exigence de service particulière et exprimées sous forme de KPI. L’isolation assure le respect du KPI si le service est accepté quel que soit la congestion ou les niveaux de performances des autres tranches
  • Sécurité et confidentialité : les fautes ou les attaques sur une tranche n’aura aucune incidence sur les autres tranches. De plus, chaque tranche met en œuvre ses propres fonctions de sécurités qui interdit entre autre à ce que des entités non autorisés aient un droit de lecture ou d’écriture sur la configuration d’une tranche de réseau.
  • Gestion : Chaque tranche est gérée de manière indépendante comme un réseau séparé.

II) Approche SDN

L’architecture SDN découple le plan de contrôle du plan de données permettant de configurer dynamiquement le plan d’acheminements des données comme un service à la demande du client. Cela répond aux attentes du network slicing qui a besoin de satisfaire à la demande à un large éventail de services de manière agile et à un coût optimal.

Concernant le réseau SDN, une ressource est une instance ou une entité qui peut être utilisé pour fournir un service en réponse aux demandes d’un client.  Le contrôleur est une entité centralisée qui planifie les ressources en fonction du contexte du client :

  • Contexte du client représente toutes les informations qui le contrôleur a besoin pour un client donné. Il contient :
    • un groupe de ressource : Le groupe de ressource est une vue de toutes les ressources que le contrôleur peut offrir pour répondre sur mesure à la demande du client. Le groupe de ressources est proposée par des API sur l’interface nord et correspond donc à une couche d’abstraction du réseau pour répondre au besoin du client ;
    • le support client contient les opérations et les règles de politique autorisées pour le client, ainsi que des informations relatives aux services demandés pour ajuster les actions entre la demande du client et le contrôleur.
  • Contexte serveur représente toutes les informations nécessaires au contrôleur pour interagir avec les ressources physiques accessibles via son interface sud.

Figure 3 : L’architecture SDN du network slicing