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.

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

Le découpage du réseau (Network Slicing)

Au cours de cet article, nous allons décrire plus précisément le découpage du réseau de mobiles en reprenant plusieurs articles précédents sur la virtualisation et la programmation du réseau (NFV/SDN).

La vision du NFV dans cet article reprend les travaux de l’organisme de spécification ETSI et les fonctionnalités du SDN s’appuie sur le travail de l’ONF.

Ainsi, le SDN est vu comme un contrôleur de tranche de réseaux et un contrôleur du plan de transport, et le NFV gère l’allocation des ressources virtuellement (déploiement, dimensionnement et relachement).

Je remercie Antoine Mouquet (Expert 3GPP – Orange), Nicolas Bihannic (Chercheur Orange Labs) et le professeur Adlen Ksentini (Eurecom Sophia Antipolis) pour les échanges qui ont permis d’améliorer considérablement cet article.

Le déploiement d’un réseau 5G s’effectue en deux étapes :

  • La première étape est le déploiement d’un accès radioélectrique 5G. La 5G-NSA est la 5G non autonome. Pour le déploiement à venir (5G NSA option 3), le cœur de réseau est le réseau 4G (EPC) et l’accès radioélectrique 5G est contrôlé par une station de base 4G grâce au mécanisme de double connectivité ;
  • La deuxième étape est nommée 5G-SA, il s’agit de la 5G autonome. Le cœur de réseau est entièrement 5G permettant ainsi d’apporter de la souplesse du cœur de réseau en exploitant la virtualisation des fonctions réseaux.

Le découpage du réseau s’appuie sur la virtualisation du cœur de réseau et la virtualisation de l’accès radioélectrique. Le découpage de réseau est la solution permettant d’apporter une qualité de service spécifique (SLA : Service Level Agreement) pour les utilisateurs en fonction des usages suivants :

  • les usagers de smartphone ;
  • les entreprises ;
  • des processus verticaux (IoT) ;
  • le marché de gros (wholesale business).

L’objectif de cet article est d’expliquer le fonctionnement du découpage du réseau (network slicing). Ce découpage doit nécessairement être mis en œuvre pour pouvoir répondre aux exigences des différents services auxquels la 5G souhaite répondre. La spécification 3GPP a normalisé à ce jour 4 catégories : smartphones (eMBB), les terminaux IoT (mMTC), les communications critiques (URLLC), les véhicules connectés (autonomes : V2X), mais les opérateurs peuvent mettre en œuvre d’autres fonctionnalités dédiées.

L’article est décomposé en quatre parties techniques :

  1. la description d’un réseau basé sur les services et identifications des services ;
  2. la description d’une tranche de réseau et mise en œuvre de la virtualisation ;
  3. la virtualisation du cœur de réseaux ;
  4. la virtualisation de l’accès radioélectrique.

En conclusion, nous reviendrons sur la virtualisation des fonctions du réseau et l’avantage de cette architecture.

I) Un réseau basé sur les services (SBA : Service Based Architecture)

Le réseau de 5ème génération est avant tout un réseau cellulaire devant assurer la continuité des services offerts par le réseau de mobiles 4G. Il est ainsi conçu pour répondre aux exigences des smartphones à très haut débit, et aux exigences du marché des objets connectés.

Toutefois, le réseau de mobiles 5G s’ouvre également à des applications nécessitant des latences faibles pour des communications critiques avec une convergence des marchés PMR (Private Mobile Radio), et des offres TETRA, GSM-R (voir la spécification FRMCS : Future Railway Mobile Communication System).

L’un des objectifs des spécifications 5G est de définir un déploiement automatique de fonctions réseaux afin de répondre aux différentes exigences à respecter (KPI : Key Performance Indicator) spécifique à chaque type de services à mettre en œuvre. La stratégie est de réduire le délai de la mise sur le marché d’un service Tiers players. On parle ainsi de services verticaux et pour identifier les besoins, nous allons dans un premier temps lister de manière non exhaustive un panel de secteurs :

  • La réalité augmentée et la réalité virtuelle : l’humain interagit avec son environnement nécessitant une latence de 7 à 15 ms, un débit de 250 Mbps (3D/ 12k) à 2.34 Gbps pour de la 3D 24 k et une perte de paquets de 10-6; Le Wi-VR (Weak Interactive VR) peut nécessiter une latence RTT de 10 ms (Ultimate VR) ;
  • Le secteur de l’automobile avec des connectivités pouvant gérer des services de loisir (Infotainment), de télématique (IoT), de sécurité routière (partage d’informations, assistance à la conduite, conduite coopérative, gestion d’une file de camions (platooning), opération à distance) ;
  • Le secteur de l’énergie et du smart-grid (latence < 10 ms, disponiblité de 99,999% et un TEB de 10-9) ;
  • Le secteur de la santé (tracking de patient ou de matériel, soin à distance, soin en urgence) avec le téléchargement d’imagerie radio jusqu’à la télé-chirurgie ;
  • Le secteur de l’industrie 4.0 (smart factory) : automatisation du processus de fabrication, logistiques, maintenance prédictive, systèmes cyber-physiques (C2C : Control To Control Communication), robots mobiles;
  • Le secteur de l’IoT avec la technologie LPWAN qui permet à titre d’exemple la gestion des déchets, le suivi des mobiles, la mesure de consommation (gaz, électricité, eau, …), la détection de fuite, le parking intelligent ;
  • La sécurité publique (Push To Talk, vidéo, …) répondant aux exigences du réseau TETRA;
  • Le secteur du smart-cities (lampadaire intelligent, sécurité publique par détection de bruit).

La liste est non exhaustive, et chaque service nécessite des caractéristiques que l’on peut résumer avec les critères suivants :

  • latence ;
  • débit ;
  • sécurité de la communication;
  • mobilité ;
  • localisation ;
  • accessibilité ;
  • disponibilité ;
  • résilience ;
  • densité de connexion.

Les indicateurs de performance doivent être respectés au niveau du cœur de réseau et de l’accès radioélectrique.

Figure 1 : Des exemples de services 5G

II) Description d’une tranche de réseau et mise en œuvre de la virtualisation

II-1) Définition

La spécification 3GPP défini :

  • Un modèle d’une tranche de réseau (Network Slice Template). Le NST est une description complète d’une tranche de réseau en listant les fonctions virtuelles, les ressources matérielles nécessaires pour chaque fonction en vue de gérer le plan de trafic de bout en bout. Ce modèle sert de référence pour instancier une tranche de réseau ;
  • Une instance de tranche de réseau (NSI : Network Slice Instance) correspond aux entités du réseau de mobile qui répondent aux indicateurs de performances demandés par le support opérationnel et fonctionnel (OSS/BSS). Une entité est une ressource matérielle et une fonction logicielle déployée au moment de la création de l’instance. Afin de simplifier le réseau de mobile, chaque instance se décompose de sous-instance (SNI : Sub Network Instance) qui sont partagées. Ainsi, une instance de tranche de réseau est composée d’une sous-instance RAN (Radio Access Network), d’une sous-instance de cœur de réseau 5G CN (Core Network). Une sous-instance SNI peut appartenir à plusieurs instances de tranche de réseau ;
  • Un support opérationnel et de supervision. Afin de s’assurer que les indicateurs de performances soient respectés à tout instant, la tranche de réseau (NS : Network Slice) contrôle l’instance de tranche de réseau (NSI) à partir de fonctions de gestion et de supervision. La supervision permet d’alerter le contrôleur si les performances se dégradent et le contrôleur va pouvoir gérer de nouvelles entités ou mettre à l’échelle une ou plusieurs entités (scalability and elasticity).

La supervision d’une tranche de réseau est essentielle pour valider la qualité de service (QoS) et le respect des indicateurs de performance.

L’isolation opérationnelle de chaque tranche permet aux utilisateurs verticaux (OTT ou entreprise) de pouvoir configurer, superviser, contrôler leur tranche de réseau de manière indépendante.

L’isolation au niveau du réseau signifie que les clients verticaux ont des ressources dédiées. La description des slices permet à un utilisateur de profiter de fonctions réseaux dédiées et d’un accès radioélectrique partagé. Le client étant ici le demandeur de service auprès d’un opérateur, et l’utilisateur est celui qui utilise le service en bout de chaîne (terminal).

L’isolation opérationnelle permet donc de partager des ressources matérielles et logicielles comme des hébergeurs de cloud, en isolant les fonctions réseaux entre elles.

L’isolation au niveau réseau (figure 2) permet de proposer des ressources dédiées, à la fois au niveau du cœur de réseau, mais également au niveau de l’accès radioélectrique (RAN dédié). Des applications comme la sécurité civile ou le smart-grid peuvent nécessiter une isolation du réseau. Les réseaux PNI-NPN (Public Network Integrated Non-Public Network) sont des réseaux dédiés dont l’accès radioélectrique peuvent être partagés avec le réseau PLMN.

Figure 2 : Les ressources dédiées ou partagées du réseau de mobiles 5G

A l’instar des solutions portées par les hébergeurs cloud, il n’est pas nécessaire de déployer une tranche de réseau (slice) par client vertical, mais de partager le slice entre plusieurs clients.

II-2) Gestion d’une NSI (Network Slice Instance)

L’instance est mise en œuvre à partir d’un gabarit et la procédure de déploiement et d’activation d’un slice est défini par les étapes suivantes (figure 3, 3GPP SA5).

Figure 3 : Gestion d’un slice. De l’activation à la désactivation

La procédure (figure 3) met en œuvre les entités du réseau de mobiles 5G en gérant la durée de vie des instances à partir des fonctionnalités NFV décrites par l’organisme ETSI (se référer à l’article : http://blogs.univ-poitiers.fr/f-launay/tag/5g-nfv/).

Une tranche de réseau NSI peut contenir des fonctions réseaux physiques (PNF : Physical Network Function) ou virtuelles (VNF : Virtual Network Function).

Le réseau de transport n’est pas défini dans le cadre du travail de l’organisme 3GPP.

II-3) La virtualisation des fonctions du réseau

La figure 4 rappelle l’architecture système pour la mise en œuvre de fonctions virtuelles.

Figure 4 : L’architecture ETSI NFV

On identifie 3 groupes :

Le premier groupe est le système de gestion des réseaux de mobiles. Il est composé :

  • d’un support système OSS (Operation Support System). Le support OSS est une suite logicielle permettant d’administrer le réseau opérateur et de superviser les ressources. Le support OSS maintient un inventaire des entités réseaux, provisionne des services, configure les entités et récupère les éléments de supervision de chaque entité réseau ;
  • d’un support commercial (Business Support System). Le support BSS gère le déploiement de services à la demande des clients. Il offre ainsi les outils logiciels pour gérer les commandes jusqu’à la mise en paiement des services.
  • D’un support de gestion et de supervision (EM/DM). La gestion EM/DM permet de contrôler et de superviser les fonctions virtuelles et les ressources matérielles.

Le deuxième groupe est le système de gestion et d’orchestration des ressources matérielles et virtuelles (NVF – MANO : Management and Orchestration). Il a pour rôle :

  • sous l’ordre du support système OSS, l’orchestrateur MANO ordonne le déploiement ou la libération de fonctions virtuelles en respectant les contraintes matérielles inhérentes à chaque fonction ;
  • de superviser le bon fonctionnement des fonctions logicielles et des ressources matérielles allouées ;
  • de contrôler le déploiement de machines virtuelles ou de containeurs, de vérifier l’allocation de ressources et de libérer les ressources ;
  • de conserver des contextes sur les ressources utilisées, les ressources restantes, les images des fonctions virtuelles et les gabarits de chaque fonction virtuelle.

Le 3ème groupe correspond aux machines physiques et au déploiement des instances, ainsi que les fonction de routage.

II-4) Le système de gestion des réseaux de mobiles

II-4-1) OSS/BSS et NM

La phase de préparation est réalisée au niveau du support système OSS/BSS par la fonction Gestion de Réseau (NM : Network Management) via un contrôleur de slice. On peut trouver également l’acronyme NSMF (Network Slicing Management Function). Ce dernier soumet l’ordre à un orchestrateur (à travers le point de référence Os-Ma-nfvo) qui va pouvoir gérer l’infrastructure de virtualisation à partir du modèle de slice.

Le NSMF prend en charge le déploiement du end-to-end slice. On pourrait le nommer un end-to-end slice orchestrateur.

Le gestionnaire de réseau (NM) fourni les fonctions de gestion du réseau de mobiles, ce qui inclut les fonctions de virtualisation. Le NM supporte les fonctions de gestion FCAPS (fault, configuration, accounting, performance, security) du cœur de réseau 5GC et du réseau IMS. Il supervise le FCAPS spécifique pour maintenir et exposer le SLA.

Dans le cas de la gestion de slice, c’est le gestionnaire de réseau MN qui initie la gestion du cycle de vie de chaque fonction virtuelle (figure 3).

II-4-2) EM

Le gestionnaire d’élément (EM : Element Manager) est responsable de la gestion FCAPS au niveau d’un élément logiciel VNF (Virtual Network Function) ou d’un élément matériel (NE : Network Element). Les fonctions du gestionnaire d’entité correspondent à :

  • la gestion de fautes;
  • la gestion de la configuration ;
  • la gestion des éléments de facturation ;
  • la collection des mesures de performance à effectuer ;
  • la gestion des éléments de sécurité.

Un gestionnaire d’éléments peut gérer des fonctions virtuelles à travers des interfaces propriétaires. Un gestionnaire d’éléments peut aussi être une fonction réseau virtuelle.

 

II-4-3) NFV-MANO

II.4.3.1) NFVO

L’orchestrateur joue un rôle primordial :

  • Il gère l’orchestration de ressources : il coordonne l’attribution des ressources matérielles : l’orchestrateur autorise, met à l’échelle, libère les ressources physiques (NFVI : Network Function Virtualization Infrastructure) parmi l’ensemble des DataCenters (DC). Il ordonne les ordres au gestionnaire de ressource matérielle (VIM : Virtualized Infrastructure Manager) à travers le point de référence Or-Vi ;
  • Il gère l’orchestration de service : il contrôle l’établissement ou la libération d’une ou plusieurs fonctions virtuelles VNF en ordonnant l’ordre au gestionnaire VNFM via l’interface Or-Vnfm.
  • il gère la topologie des NSI (nommé VNF Forwarding Graph dans l’article : http://blogs.univ-poitiers.fr/f-launay/2018/02/04/network-functions-virtualisation-nfv-pour-le-reseau-4g5g/)

Pour gérer les services réseaux, l’orchestrateur s’appuie sur des catalogues de ressources définissant le gabarit souhaité :

  • Catalogue VNFD contient le descripteur de chaque instance VNF en terme de déploiement et de fonctionnement (pour la gestion FCAPS) ;
  • Catalogue de service permet de lister l’ensemble des fonctions VNF à cascader pour obtenir un sous réseau d’instances (SNI) ;
  • Catalogue NFVI contenant les ressources nécessaires pour mettre en œuvre un service NFV.

II.4.3.2) VNFM

Le gestionnaire VNFM (Virtual Network Function Manager) gère :

  • Le cycle de vie des fonctions virtuelles VNF : création, mise à l’échelle, maintenance et libération des instances VNF ;
  • Supervise et détecte les fautes (FCAPS) des fonctions virtuelles VNF.

Il expose :

  • une interface nord à l’orchestrateur à travers le point de référence Or-Vnfm ;
  • une interface sud pour injecter des règles au gestionnaire de ressource à travers le point de référence vi-Vnfm.

II.4.3) VIM

Une infrastructure matérielle est un serveur COTS hébergeant un hyperviseur. L’infrastructure est découpée en domaine, chaque domaine porte une VM ou un containeur.

Le gestionnaire VIM gère :

  • les ressources des infrastructures NFVI (stockage, CPU, carte réseau, …) d’un domaine ;
  • les ressources virtuelles (machines virtuelles et/ou containeur) du domaine ;
  • l’hyperviseur.

Ainsi, le gestionnaire VIM gère le cycle de vie des ressources virtuelles allouées à un domaine, conserve l’appairage entre la machine virtuelle et la machine physique, analyse via un agent les performances matérielles, logicielles et virtuelles et gère les performances et les fautes.

Il expose :

  • une interface nord à l’orchestrateur à travers le point de référence Or-Vi ;
  • une interface nord au gestionnaire de machine virtuelle VMF à travers le point de référence vi-Vnfm.

II.4.4) Pour aller plus loin

Il y a une différence entre le gestionnaire d’éléments (EM) et le gestionnaire de fonctions réseau virtuelles (VNFM) : Le gestionnaire d’éléments EM supervise la partie fonctionnelle du réseau de mobiles alors que le gestionnaire VNMF gère les entités virtuelles.

L’infrastructure NFVI est décomposée en plusieurs parties :

  • les ressources matérielles : CPU, mémoire RAM, carte réseau. Un commutateur (exemple TOR) et un élément de stockage fait également parti des ressources matérielles ;
  • la couche de virtualisation : Cette couche permet de faire abstraction des ressources matérielles en offrant des ressources logiques. Cette abstraction est réalisée par l’hyperviseur.

La suite dans un autre article.

 

 

 

 

Les procédures liées aux supports (bearers) dans l’architecture CUPS

Avant de lire cet article, il est préférable d’avoir lu l’article précédent présentant l’architecture CUPS. Dans cet article nous allons voir les modifications apportées sur les protocoles d’établissement de support suite au découpage des entités SGW et PGW en deux parties (plan de contrôle et plan utilisateur).

I) Protocole de gestion des sessions et de handover

Le protocole de gestion de sessions a pour but d’ajouter, de modifier ou supprimer une entrée des tables de contextes au niveau des entités SGW et PGW  afin de permettre :

  • l’établissement du support par défaut ;
  • l’établissement du support dédié ;
  • la modification des caractéristiques du support
  • la désactivation du support

En cas de handover, sous la direction de l’entité MME, la table de contexte du SGW doit être modifiée afin de gérer le transfert de l’entité eNB source vers l’entité eNB cible.

Pour assurer la compatibilité avec les différentes évolutions du réseau opérateur, les entités fonctionnelles SGW-C et SGW-U doivent assurer les mêmes fonctionnalités.

Ainsi, concernant la gestion des sessions, les sous-fonctionnalités sont réparties de la manière suivante :

  • La gestion des supports (bearer) est sous la responsabilité des entités SGW-C ou SGW-U
  • L’allocation des identifiants de tunnels TEID est obligatoirement sous la responsabilité de l’entité SGW-C et optionnellement, l’entité SGW-C peut léguer cette fonctionnalité à l’entité SGW-U.
  • Le transfert des paquets est géré par l’entité SGW-U
  • Le marquage des paquets est géré par l’entité SGW-U

L’identifiant de tunnel TEID est unique pour chaque entité SGW-U, ce dernier est alloué lors de l’activation d’un support et supprimé lors de la désactivation du support.

En cas de handover de la station de base eNb source vers une station de base eNb cible sans changement d’entité SGW-U, l’entité fonctionnelle  SGW-C (qui est le contrôleur SDN) injecte une modification de règles de transfert à l’entité SGW-U via la requête Sx session modification request supportée par le protocole PFCP. La table de flux au niveau de l’entité SGW-U doit remplacer l’adresse IP de l’eNB source et l’identifiant de tunnel associé au bearer sur l’eNB source par l’adresse IP et le TEID correspondant de l’eNB cible (et ceci pour  tous les tunnels activés lors de la procédure de handover).

En cas de handover d’un eNb source vers un eNb cible avec changement d’entité SGW-U, l’entité fonctionnelle PGW-C (contrôleur SDN) doit en plus injecter une modification de règles (protocole PFCP)à l’entité PWG-U pour commuter le tunnel S5/S8 de l’entité SGW-U  vers l’entité SGW-U cible. Le message Sx session modification request transmis de l’entité PGW-C vers l’entité PGW-U contient l’identifiant du support (bearer ID), l’adresse IP de l’entité SGW-U cible et le nouvel identifiant de support TEID de l’entité SGW-U.

La procédure de handover se déroule en trois étapes :

  • Préparation des ressources radios entre l’entité UE et l’eNB cible
  • Modification de la table de contexte du SGW-U provoquée par l’échange suivant
    • SGW-C vers SGW-U: requête Sx session modification request
    • Après avoir transmis le dernier paquet PDU à l’entité eNB source, le SGW-U confirme la modification de sa table de flux
    • SGW-C U vers SGW-C: requête Sx session modification response
  • Une fois pris en compte le changement de chemin S1 path au niveau du SGW-U, il faut en informer l’entité eNB source :
    • SGW-C transmet au SGW-U un marqueur de fin de paquets (end marker packet)
    • SGW-U transmet à l’entité eNB source le marqueur de fin de paquets (end marker packet)
    • l’entité eNB source peut relâcher les supports radios avec l’entité UE.

Si le handover nécessite un changement de SGW-U, dans ce cas, la gestion du marqueur de fin de paquets (end marker packet) est sous le contrôle du PGW-C.

II) Protocole pour la fonction HLCom

Dans le cas de dispositifs IoT à latence élevée, l’organisme 3GPP a introduit des solutions de buffer étendu afin de conserver les données à transmettre aux dispositifs lorsque ces derniers ne sont plus joignables (EMM Registered mais à l’état dormant). Les données sont bufférisées au niveau du SGW jusqu’à ce que le dispositif soit de nouveau dans l’état idle ou connected.

Avec la séparation de l’entité SGW en plan de contrôle et plan utilisateur, la sauvegarde des données doit obligatoirement être supportée par l’entité fonctionnelle SGW-U et optionnellement par l’entité SGW-C.

Premier Cas :

Dans le cas où l’entité SGW-C support la capacité de sauvegarde des données (buffering capacity), lorsque le dispositif UE est dans l’état ECM_idle pour une durée eDRX ou PSM connue, l’entité SGW-C informe l’entité SGW-U (injection de règles) de ne plus transmettre les données à la station de base eNB mais de commencer à transférer les données vers l’entité SGW-C.

Lorsque l’entité UE passe à l’état ECM-CONNECTED, alors l’entité SGW-C met à jour les tables de flux du SGW-U avec l’identifiant TEID du eNB correspondant. Si des données ont été sauvegardées au niveau de l’entité SGW-C, alors les données sont encapsulées dans l’injection de règles Sx. L’encapsulation GTP-U permet à l’entité SGW-U d’identifier la connexion PDN et l’identité du support.

Deuxième Cas :

L’entité SGW-U conserve les données à destinations des dispositifs UE non joignable mais enregistrés sur le réseau.  Ainsi, lorsque le mobile UE passe à l’état en veille (ECM-IDLE), l’entité SGW-C est informée par le MME et doit à son tour en informer l’entité SGW-U par le message Sx session modification.  Dans ce deuxième cas, l’entité SGW-C décide que la bufferisation des données est à la charge de l’entité SGW-U et informe ce dernier. De plus, l’entité SGW-C demande à l’entité SGW-U d’être notifié ou non lorsque le premier paquet en provenance du PDN et à destination du dispositif UE est transmis à l’entité SGW-U

Ainsi, lorsque le premier paquet à destination du dispositif UE est transmis à l’entité SGW-U, ce dernier doit informer le contrôleur SGW-C par le message Sx reporting message ou non. A la réception de ce message, l’entité SGW-C décide d’informer ou non l’entité MME en transmettant la requête Downlink Data Notification.

Lorsque le dispositif UE passe à l’état ECM-CONNECTED, l’entité MME informe l’entité SGW-C et ce dernier notifie l’entité SGW-U via l’interface Sxa en indiquant l’identifiant de tunnel de l’eNB (ou éventuellement le RNC/SGSN).  Les données sont transmises de l’entité SGW-U à l’eNB (ou RNC ou SGSN) et en cas de la mobilité du dispositif UE sur un autre SGW-U, les données sont transmsises de l’entité SGW-U source (l’entité qui a bufferisé les données) vers l’entité SGW-U cible.

III) Les Procédures Sx Sessions Management

Les procédures Sx Sessions Management permettent de contrôler les fonctionnalités des entités fonctionnelles du plan de transport. Le contrôleur peut créer, mettre à jour, ou supprimer les contextes de sessions Sx, c’est-à-dire les paramètres de contextes concernant une connexion PDN pour le support par défaut et pour le support dédié.

Figure 1 : La procédure d’établissement de contexte

Une fois le contexte crée pour une connexion PDN, il est possible de modifier les caractéristiques du contexte par la procédure Sx Session Modification Procedure.

Pour désactiver le contexte, la procédure se nomme Sx Session termination procedure.

Nous allons illustrer la procédure sur une demande d’attachement d’un mobile UE. On suppose que la demande s’effectue sur le MME défini par l’identité GUTI conservé par le mobile UE mais de par le déplacement du mobile UE, on suppose que le mobile UE est sous la couverture d’une cellule connectée à une entité SGW (nommée nouveau SGW) différente de l’entité SGW (nommée ancien SGW) sur lequel le mobile UE était connecté avant le détachement.

On allume  le mobile, le SGW-U ayant été modifié, alors :

  • Au cours de la procédure d’attachement, la modification du SGW source au SGW cible nécessite de supprimer les tables de flux au niveau des entités SGW-U et PGW-U. Ainsi, les entités old SGW-C et old PGW-C exécutent la procédure Sx Session termination
  • Lors de la requête PDN connectivity, la table de flux au niveau du SGW-U et PGW-U doit être fournie. Ainsi, les contrôleurs SDN SGW-C et PGW-C injectent les règles par la procédure Sx Session Establishment.

Nous allons découper le call flow en deux parties :

Première partie

  • Procédure d’établissement du lien radio
  • Demande d’attachement, authentification et mise en sécurité

Deuxième partie

  • Suppression du contexte sur l’entité Old SGW
  • Création du support avec le nouveau SGW

    Figure 2 : La première partie de demande d’attachement

    Figure 3 : La procédure d’établissement de support

 

Notions sur le SD-WAN et positionnement par rapport aux réseaux de mobiles

Dans l’article précédent, nous avons présenté le principe du Network Slicing, consistant à définir des règles d’acheminement pour un réseau particulier. Le Network Slicing s’appuie sur le principe de découpage de la fonction de contrôle et du plan utilisateur (SDN), la virtualisation des services réseaux (NFV) et du chaînage des services réseaux (SFC).

L’objectif du SD-WAN est aussi d’assurer une bonne connectivité aux outils cloud à travers internet (google suite pour le travail collaboratif, Microsoft 360, Amazon, azur …).  Le SD-WAN utilise donc les mêmes technologies vu précédemment (SDN, NFV, SFC) pour programmer rapidement l’accès d’un nouveau site  (en général il s’agit de connecter une entreprise) sur le réseau opérateur et offrir à ce dernier les différents services (cloud, FTP, tunnels entre site, …) demandés. On  parle  de  « zero touch  deployment », l’objectif  est  de  pouvoir provisionner (pousser automatiquement)  un  logiciel  et  une  configuration  sur  un  nouvel  équipement  SD-WAN  installé avec l’agilité réseau possible par ce type d’équipement (cf. la solution easy go network).

Le SD-WAN est une solution permettant à l’opérateur de déployer une solution de connectivité réseau pour tout nouveau site via des outils de provisionning réseau de haut niveau et d’assurer une interconnexion des différents sites de l’entreprise entre eux.

Ainsi, le SD-WAN permet à l’opérateur de fournir les règles d’acheminements au niveau de ces équipements pour gérer les applications critiques vers un réseau implémentant du MPLS et les applications non critiques vers des solutions de best-effort. L’opérateur peut ainsi, via une plateforme, provisionner et orchestrer ses équipements réseaux pour garantir à  l’entreprise l’accès à  Internet, l’accès à la téléphonie, l’accès à des services FTP sécurisés entre les différents sites de l’entreprise ou vers un Cloud et ceci quel que soit l’emplacement géographique du nouveau site par rapport aux autres sites de l’entreprises ou des solutions hébergées.

La notion de WAN dans l’approche SD-WAN indique que le pilotage du réseau est autorisé entre plusieurs opérateurs, afin qu’un entreprise dans un pays puisse installer une entité dans un autre pays et profiter des mêmes accès et services réseaux avec la même qualité. Ainsi, le SD-WAN supporte différents types de connectivités (MPLS, xDSL, FTTx, LTE, …).

Le SD-WAN est donc une solution de connectivité sur les différents types de réseau (fixe et mobile) ) travers le monde. Son application est ciblée sur les entreprises et sur les applicatifs utilisés par les entreprises à travers leur réseau de connectivité.

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

 

Le SFC – Service Function Chaining. Mise en oeuvre du SDN/NFV sur le réseau de mobiles 4G

I) Rappel de l’approche SDN/NFV

Les réseaux traditionnels ont été conçus à partir d’équipements dédiés à une fonction réseau (routeurs, commutateurs, pare-feu, équilibrage de charge, accélérateur WAN, …). Ces équipements sont présents dans le réseau mobile afin d’interconnecter les entités du cœur réseau (EPC) comme le MME, le SGW et le PGW. Chaque équipement est programmé selon une interface logicielle définie par l’équipementier. Le réseau de bout en bout nécessite le déploiement d’un ensemble d’équipements réseaux hétérogènes programmés selon une architecture réseau figée. La modification de cette architecture (nécessaire par exemple pour augmenter la bande passante par l’ajout de nouveaux équipements ou par l’agrégation de lien, …) nécessite un investissement humain important et un investissement matériel

Dans le précédent article, nous avons présenté l’approche SDN qui permet d’augmenter la flexibilité et la disponibilité du réseau et d’accélérer le déploiement de nouvelles applications. Le SDN se définit comme une approche consistant à séparer le plan de contrôle du plan de données. Le plan de contrôle est géré par un équipement nommé contrôleur qui a pour but de piloter l’équipement réseau à travers lequel les données sont traitées. Les équipements réseaux constituent le plan de données.

Le premier avantage est de pouvoir exécuter une ou plusieurs règles de réseau sur un équipement standard (nommé COTS signifiant équipement sur l’étagère), autrement dit sans être dépendant de l’évolution logicielle de l’équipementier. Les règles à appliquer sur les flux de données sont fournies par le contrôleur (commutation, VLAN, routage, tag, ..). Lorsque le flux de données doit transiter par plusieurs équipements, il est nécessaire d’activer plusieurs contrôleurs. Les contrôleurs s’échangent des informations sur les interfaces est/ouest afin de piloter l’ensemble du réseau. On parle alors d’orchestration, le pilotage simultané de plusieurs entités réseau du plan de données en vue de gérer le trafic d’un flux de données.

Les contrôleurs ont donc en charge la gestion du réseau c’est à dire l’orchestration et l’automatisation des équipements réseau de différents fournisseurs (chaque fournisseur doit proposer un protocole de signalisation avec le contrôleur comme openflow par exemple).

Le SDN s’associe à une autre technologie, nommée Network Functions Virtualization (NFV). La virtualisation des fonctions réseaux NFV offre la capacité à virtualiser les fonctions du réseau telles que les pare-feu, les mécanismes d’équilibrage de charge et les accélérateurs WAN (cf. note en bas de page). Le contrôle centralisé qu’offre le SDN peut efficacement gérer et orchestrer les fonctions virtuelles qu’offre la NFV ;

Pour résumer, les objectifs du SDN-NFV sont :

  • améliorer l’efficacité opérationnelle
  • rendre plus flexible le réseau et un ajustement des besoins immédiat
  • automatiser la gestion
  • permettre le routage dynamique de trafic et le chaînage de fonctions service
  • réduire considérablement le temps de mise sur le marché des applications
  • provisionnement des fonctions réseaux et création agile de service
  • améliorer la satisfaction du client

II L’orientation du trafic (Traffic Steering)

II-1) Les fonctions service

Quand un mobile souhaite accéder au réseau IP, son flux est transmis vers la passerelle PGW ou GGSN. Cette passerelle réalise la fonction de translation d’adresse (NAT) en convertissant l’adresse privée attribuée au mobile en adresse publique et un réacheminement de port (Port Forwarding). L’opérateur peut également déployer un deuxième NAT derrière la passerelle, effectuant ainsi la fonction de Carrier Grade NAT (CGN ou NAT 444).

Cette fonction de NAT est obligatoire, il s’agit de convertir une adresse privée et un port en adresse public et un autre port, l’entité effectuant la translation d’adresse et de port sauvegarde dans une table de correspondance chaque translation privée/publique. Cette fonction service peut être virtualisée et réalisée sur n’importe quel serveur.

Afin de surveiller les flux et bloquer certains type de flux, l’opérateur peut souhaiter activer un service de détection de paquets (DPI : Deep Packet Inspectrion), lequel est associé à un pare-feu (firewall). Enfin, pour équilibrer les flux, il est également possible de rajouter un équilibrage de charge (load balancing), lequel peut orienter le trafic en fonction du port demandé ou du service demandé.

L’opérateur peut imposer, à tous les types de flux, d’être routés à travers ces différentes fonctions service. Les fonctions service classiques sont le NAT, le DPI, le Firewall, et le loadbalancing.

Mohammed Boucadair et David Binet défini [1] :

« Une fonction service (SF, Service Function) désigne une fonction embarquée dans un environnement. Elle peut être co-localisée avec d’autres fonctions service au sein du même équipement, lequel peut être un routeur, un serveur, un commutateur, etc. De telles fonctions SF incluent notamment les fonctions NAT, NAT64, pare-feu IPv4, pare-feu IPv6, TCP Optimizer, NPTv6 »

L’opérateur peut également proposer d’autres fonctions de services comme la détection et l’élimination de malware, le control parental, l’optimisation du cache, une accélération WAN, ou encore un optimisateur de flux vidéos.

Figure 1 :L’orientation statique de trafic

Sur la figure 1, on présente l’exemple ou tous les flux sur le port 80 sont chaînés à toutes les fonctions services d’une plate-forme VAS (Optimisation vidéo, cache, control parental et passerelle WAP) avant d’être acheminés au DPI et au pare-feu.

Dans cet article, on fera régulièrement référence à des fonctions services. Les fonctions services de l’opérateur sont :

  • des fonctions de protections du réseau de l’opérateur et des données du client comme le DPI, le pare-feu, les règles d’admissions (ACL), les opérations de chiffrement et déchiffrement, contrôle parental, détection de malware
  • des fonctions qui assurent le respect de la qualité d’expérience par des optimisations du trafic (PEP : Performance Enhancement Proxies, optimisation vidéos, optimisation TCP, accélérateur WAN, enrichissement d’entête HTTP…)
  • fonction NAPT et CG NAT

 

II-2) Chaînage de fonctions service statique

Afin d’éviter une surcharge des fonctions réseaux, l’opérateur défini un enchaînement de fonctions service selon le point d’accès APN demandé, c’est-à-dire un ensemble de fonctions service dans un ordre pré-établi.

L’orientation de flux par APN est une orientation dite statique qui s’applique à tous les clients. Il est évidemment possible d’invoquer une orientation de trafic et un enchaînement de fonctions service spécifique par client (gold, silver, bronze) et par application.

Figure 2 : L’orientation du trafic selon l’APN

II-3) Chaînage de fonctions service dynamique

L’opérateur peut choisir d’orienter le trafic en fonction du flux et des droits de l’usager. Pour ce faire, il doit s’appuyer sur un contrôleur centralisé qui analyse les types de flux (modèle hairpin).

Figure 3 : L’orientation de trafic via un controleur (Hairpinning)

Pour atteindre ces objectifs, le contrôleur doit interroger l’entité PCRF pour récupérer le profil et les services avec la QoS associée. Le choix d’orientation de trafic est basé sur la politique des qualités de services par flux (Policy-Based “per-flow” Steering) et le contrôleur effectue un choix selon les informations suivantes (une ou plusieurs informations) :

  • Politique de tarification de l’usager (gold, silver, bronze)
  • Type de réseau d’accès RAT (2G / 3G / 4G/ Wifi)
  • Localisation (roaming)
  • Problème de congestion de réseau
  • Type de dispositif (IMEI, HTTP User-Agent)
  • Type de contenu (HTTP Content-Type, DPI signature) …

Exemple (https://f5.com/portals/1/pdf/events/Traffic-Steering-PEM.pdf) :

Figure 4 a/b/c/d : Exemple d’orientation de trafic

III Chaînage de fonction services (SFC : Service Function Chaining)

Lors de la construction d’un support (bearer), la sélection de l’entité PGW s’effectue à partir du nom du point d’accès APN. Le chaînage de fonctions service statique, vu précédemment, est donc réalisé en ordonnant les fonctions service en sortie du PGW (cf .figure 2). Cependant, en récupérant des informations du PCRF, la fonction PCEF (située dans le PGW) peut réaliser la fonction d’orientation de trafic (traffic steering).

Le service de chaînage de fonctions service (SFC) est une architecture définit par l’IETF de manière à établir une liste ordonnée de fonctions service réseau.

Figure 5 : L’architecture SFC

Afin de rendre enchaînement de service plus flexible, le chaînage de fonctions service permet de définir une liste ordonnée de services réseaux (pour rappel, pare-feu, équilibrage de charge, optimisation WAN, …   ) et d’assembler ces services ensemble pour créer un enchaînement de services. L’architecture proposée par l’IETF est basée sur le principe du SDN. Le contrôleur SFC s’appuie sur une base de données pour connaitre les règles de politiques (table de politique SFC) pouvant être appliquées sur chaque flux et pour chaque abonné.

Pour réaliser cette fonction de chaînage, un classificateur de service (SFC Classifier) est une entité qui classe les flux de trafic en fonction des règles fournies par le contrôleur SFC. Les trames/paquets du flux sont ensuite marqués par un indicateur de chaînage de fonctions service (SFCI Service Function Chain Identifier) à l’intérieure d’une entête NSH (Network Service Header – RFC 8300). Le NSH est un protocole d’encapsulation et l’entête NSH est insérée comme metadata en plus de la data et l’extension d’entête http (http header extension) informe l’existence de la metadata.

En reprenant les définitions proposées dans la référence [1] :

« Un classificateur est une entité qui classe les paquets selon les chaînes SFC auxquels ils sont associés, conformément aux rêgles de classifications définies par le PDP – Policy Decision Point( et stockées dans une table de politique SFC. Les paquets sont ensuite marqués pour identifier la chaîne SFC à laquelle les paquets sont associés »

Il y a ainsi deux approches :

  • la première consiste à utiliser le SDN overlay (cf. article portant sur le SDN) et l’entête NSH est encapsulée dans le protocole VXLAN ;
  • la seconde approche s’appuie sur les équipements existants dans le réseau mobile, c’est donc celle que nous allons étudier. L’entête NSH est encapsulée dans le protocole GTP-U.

La 3GPP propose dans la release R.11 une nouvelle entité nommée  fonction de détection de trafic TDF (Trafic Detection Function). Cette fonction est destinée à analyser les requêtes issues du PGW en faisant de l’inspection de paquet (DPI) et à filtrer uniquement les applications selon des règles de détection d’application (ADC : Application Detection and Control) fournies par le PCRF via une requête Diameter.

La décision sur les règles ADC fournies par le PCRF est basée sur :

  • des informations fournies par le PCEF comme par exemple : Type de requête, des informations sur le client ou l’entité UE (IMSI ou IMEI), la localisation ;
  • des informations fournies par l’entité SPR tels que des informations sur la QoS pour l’abonnée (débit garanti, AMBR, …)

Le rôle premier de l’entité TDF est d’améliorer les fonctions de tarification de l’opérateur. La fonction TDF est intégrée dans le bloc PCC (Policy and Charging Control). Le TDF a pour rôle d’inspecter le trafic utilisateur à la sortie du PGW et d’assister les outils de taxation sur l’usage du réseau mobile effectué par le client. Ainsi, si pour un accès sur le port 80, l’utilisateur veut lancer une application OTT, via le TDF l’opérateur peut détecter cette application. Une fois l’application détectée, soit la fonction TDF réalise une mesure de la volumétrie consommée pour cette application (dans le sens montant et/ou descendant) spécifiquement, soit la fonction TDF informe l’entité PCRF afin que ce dernier réalise une politique de traitement pour cette application. La politique de traitement correspond à l’un des trois cas suivants :

  • Blocage de l’application : Gating;
  • Limitation de débit;
  • Redirection : Enchainement de fonctions service particulier

L’entité TDF, via l’analyse de la couche application, est en mesure de classifier plus finement le trafic issu du PGW afin de proposer des fonctions réseaux dédiées à chaque application (autrement dit pour appliques des fonctions de service spécifique).  L’entité TDF est donc un classificateur de service (SFC Classifier) et le PCRF est vu comme la table de politique de chaînage de fonctions service ( SFC Policy Table).

Figure 6 : L’architecture 3GPP et SFC

Le figure 6 met en avant deux domaines SFC (un domaine SFC est un réseau qui met en oeuvre le chaînage de fonctions service). L’entité TDF est un nœud de bordure sortant (SFC Egress Node) et l’entité IETF SFC Classifier est un nœud de bordure entant (SFC Ingress Node)

La norme 3GPP propose, dans la release R.13, une nouvelle entité TSSF (Traffic Steering Support Function). La fonction TSSF est extraite de l’entité TDF et elle est destinée à la classification du trafic afin de spécifier les fonctions de service à appliquer selon la classification de l’application.  Le TSSF met en œuvre l’orientation de trafic sur l’interface Gi (SGi) à partir des règles reçues par le PCRF. La principale différence est l’utilisation du protocole JSON sur l’interface St entre l’entité PCRF et l’entité TSSF qui permet d’échanger les règles de classification de flux plus simplement que l’interface Diameter entre l’entité PCRF et l’entité TDF. L’entité TSSF peut transmettre les métadatas reçus du PCRF sur l’interface Gi LAN.

Selon l’approche SDN, la fonction TSSF est un contrôleur SDN qui injecte ses règles à l’entité TDF.

Dans le prochain article, nous étudierons le chaînage de fonctions service (SFC) avec la virtualisation : Le VNFFG (Virtual Network Function Forwarding Graph).

Merci à Mohamed Boucadair et Christian Jacquenet d’avoir apporté des précisions sur l’article.

A lire :

[1] Mohamed Boucadair, David Binet, « Structuration dynamique de services- Introduction au chaînage de fonctions service (SFC) », Techniques de l’Ingénieur, publié le 10 octobre 2015.

Annexe : Protocoles d’échange entre le PCRF et le TDF sur l’interface Sd

Virtualisation du réseau EPC : Concept NFV/SDN

La virtualisation du réseau permet  la montée rapide en charge de travail en mettant en route plusieurs machines virtuelles (VM) et les services réseaux associés (commutation logique, routage logique, pare-feu logique, équilibrage de charge logique, VPN logique, accélération WAN, compression d’entête, …) pour chaque charge de travail.

Les avantages de la virtualisation sont les suivants :

  • amélioration de l’efficacité des serveurs ;
  • gestion des charges de travail grâce au déploiement de VM et des services réseaux;
  • gain des performances du réseau et flexibilité;
    • déplacement de VM
    • équilibrage de charge
    • agilité de l’infrastructure réseau
    • Réduction du temps de déploiement : Time To Market
    • Chaînage de service en déployant les VMs  par application

I – La virtualisation du réseau

La virtualisation consiste à déployer plusieurs machines virtuelles sur un serveur physique. Afin de pouvoir partager les ressources matérielles (CPU, cartes réseaux, ….), il est nécessaire d’installer un logiciel de virtualisation appelé hyperviseur. Chaque machine virtuelle dispose de son propre système d’exploitation. Les pilotes et les périphériques sont stockés dans un domaine de l’hyperviseur accessible à chaque VM, les VMs utilisent des périphériques virtuels.

Un hyperviseur de type paravirtualisation nommé bare-metal ou type 1 s’exécute directement sur le serveur physique.

La gestion des VM et la sécurité est un point critique : les règles de pare-feu doivent être modifiées (rajoutées ou supprimées) à chaque fois qu’une nouvelle VM est rajoutée ou supprimée. Les premières solutions déployées pour les Datacenters permettent l’automatisation du provisionnement (provisionning) en fonction de l’ajout, la suppression ou la modification de VM.

Ainsi, lorsque le client exprime un besoin, par exemple mettre à jour des données sur son site web hébergé au niveau d’un Datacenter, cette charge de travail peut nécessiter la collecte et la fusion de données, des calculs, un stockage et une mise en forme spécifique des résultats à travers un tableur. L’hébergeur peut ainsi activer plusieurs VM (ou container) sur un seul serveur ou sur plusieurs serveurs. Dans ce cas il est nécessaire que les serveurs communiquent les uns avec les autres, on parle de communication est/ouest afin de répondre à la requête du client (communication nord/sud).

Au niveau du serveur physique, les VM sont isolées les unes des autres. L’isolation de VM non chaînées garantie qu’aucun échange ne peut s’effectuer entre les deux VM.  Cependant, l’échange de données entre les VMs est possible via un routage mais cela nécessite l’établissement de règles de sécurité : les règles du pare-feu entre chaque VM doivent être définies par rapport aux applications hébergées sur la VM. La micro-segmentation qui consiste à mettre en réseau plusieurs VM pour une charge de travail donnée peut être sécurisée par des pare-feux virtuels.

Dans le cas d’architecture réseau traditionnel, le trafic des charges de travail doit passer par un point de contrôle unique comme par exemple un pare-feu physique avec des règles établies pour tous les types d’application. Cette architecture, nommée hairpinning, créée un goulot d’étranglement ce qui rend donc cette architecture inefficace lorsque les charges de travail ne nécessitent pas les mêmes traitements. Son avantage est la stabilité du réseau et son prix.

Grace au déploiement du réseau virtuel :

  • la charge de travail est indépendante du réseau physique, c’est-à-dire de la configuration de VLAN, de la liste de contrôle d’accès, des règles de pare-feu. La micro-segmentation permet le transfert de données entre VMs isolées via un routage logiciel et un pare-feu logiciel ;
  • plusieurs charges de travail peuvent co-exister sur le même réseau physique et sur les mêmes entités, permet ainsi de partitionner virtuellement plusieurs services (slicing network).

L’automatisation permet de mettre en route ou d’éteindre l’ensemble des VM concernés et de provisionner les politiques adéquates des pare-feux pour chaque charge de travail.

L’orchestration permet de configurer toutes les charges de travail sur les serveurs physiques (planification des VMs en fonction des serveurs physiques existants et gestion des réseaux virtuels en fonction des capacités physiques réelles de la couche de transport).

II – Network Functions Virtualization

Jusqu’à présent, nous avons vu que la virtualisation permettaient de déplacer vers des serveurs banalisés :

  • les équipements de traitement de réseau (pare-feu, dpi, accélérateur WAN, équilibrage de charge, …)
  • les équipements de fonction réseau (commutateur, routeur)
  • les serveurs de stockage et serveur cache

Figure 1 : Virtualisation de fonctions réseaux

D’autres fonctions réseaux sont également virtualisables :

  • les entités du réseau mobiles : HSS, HLR, MME, SGW, PGW, SGSN, GGSN
  • les réseaux d’accès : BTS, BSC, NB, RNC, eNB

L’approche NFV a été initiée par l’organisme ETSI dans l’objectif de virtualiser les services et fonctions du réseau et de gérer les VMs en fonction des demandes des utilisateurs. Nous définirons l’architecture NFV dans un prochain article.

III – NFV/SDN

On distingue :

  • la virtualisation du réseau consistant à virtualiser sur des pools de ressources des applications (calcul, stockage et service réseau –DHCP – DNS – Parefeu logiciel – équilibrage de charge) et à gérer au niveau de l’hyperviseur les fonctions réseaux logiciel et la sécurité logicielle;
  • le NFV qui exploite les fonctions de la virtualisation en gérant et orchestrant les fonctions de virtualisation par un contrôleur. Le NFV est une architecture de virtualisation s’appuyant sur l’infrastructure physique (NFVI) sur laquelle tourne plusieurs VM. La gestion des ressources physiques du serveur (CPU, RAM, accès réseau, disques virtuels, switchs/routeurs virtuels, …), et la durée de vie des VMs sont contrôlés par une couche de gestion et d’orchestration NFV nommé MANO (Management and Orchestration) et qui est piloté par le système BSS/OSS de l’opérateur
  • le SDN consistant à séparer le plan de contrôle et le plan de données en centralisant au niveau d’un contrôleur l’intelligence de l’infrastructure matérielle. L’objectif est de provisionner automatiquement les fonctions du réseau de transport

 

Le concept de SDN (Software Defined Networking) repose sur un découplage entre le plan de commutation local aux équipements réseaux et le plan de contrôle. Le NFV peut s’appuyer sur le SDN en autorisant une gestion centralisée du réseau. La conséquence majeure est que le réseau devient programmable et peut être couplé aux applications métiers des usagers.

L’approche NFV propose d’extraire les fonctions réseaux des équipements dédiés et de les faire fonctionner dans un environnement virtualisé. Pour les opérateurs réseau, l’approche NFV constitue une opportunité de proposer des services de manière plus agile, capable de fonctionner à des échelles extrêmement importantes, mais surtout de manière plus rapide en exploitant les propriétés intrinsèques à la virtualisation. Ainsi, la virtualisation du réseau et de la sécurité permet de gérer des commutateurs virtuels et routeurs virtuels à la charge de l’hyperviseur, ainsi que la sécurité (pare-feu logique, VPN logique et équilibrage de charge logique).  On parle de réseau Overlay car les VMs et les services exploitent le réseau physique sous-jacent (cf.http://blogs.univ-poitiers.fr/f-launay/2018/01/15/principe-du-sdn-dans-une-architecture-reseau-classique/ ).

Ainsi, le contrôleur SDN est utilisé

  • pour programmer l’infrastructure réseau virtuel afin de définir les règles de routages et de sous-réseaux pouvant être utilisées pour interconnecter des fonctions réseaux virtualisés (VNF) : SDN Overlay ;
  • par une fonction réseau virtualisée afin de traduire la fonctionnalité réseau virtualisée attendue à la configuration physique du réseau. Le contrôleur SDN est donc une fonction VNF dans l’infrastructure NFV.

A titre d’exemple, l’un des avantages du SDN/NFV est le chaînage de service dynamique virtuel (traffic steering and chaining service) défini par une politique de flux. Lorsque l’utilisateur souhaite accéder à un service, le contrôleur SDN défini un ensemble de fonction réseaux à déployer. Le rôle du NFV est alors de gérer les VMs à mettre en œuvre et le contrôleur SDN gère le routage des flux.

Nous étudierons le SFC – Service Function Chaining dans le prochain article

Les deux technologies SDN/NFV réduisent ainsi l’OPEX (un seul environnement, automatisation des taches, …) et le CAPEX (remplacement du matériel devient une mise à jour logicielle).

Principe du SDN dans une architecture réseau classique

I – Généralités sur le réseau IP

I-1) Les équipements de routage et de commutation

Sur un réseau IP, la mise en relation entre un client et un serveur s’appuie sur des équipements de routage et des équipements de commutation.

Le rôle du routeur est d’acheminer chaque paquet IP au nœud suivant afin que chaque paquet puisse être transporté de bout en bout, du client IP au serveur et inversement. Avant d’être déployés sur le réseau, les routeurs doivent être configurés. La configuration permet au minima de définir les adresses IP des interfaces physiques et virtuelles du routeur et d’informer le routeur des protocoles de routage à appliquer pour acheminer les paquets IP.

Les protocoles de routage permettent à chaque routeur de récupérer des informations des routeurs voisins afin de constituer localement des informations de routage (RIB : Routing Information Base). Ainsi, les informations de routage sont actualisées pour prendre en compte l’état de chaque nœud (saturé, hors ligne, …) de manière dynamique : les routeurs échangent entre eux des informations par l’intermédiaire du protocole de routage choisi. Ensuite, les informations de routage permettent de construire une table d’acheminement (Forwarding Information Base). La table d’acheminement est exploitée par le routeur pour définir l’interface sur laquelle envoyer le paquet (adresse de destination, classe de service).

Ainsi, le protocole de routage RIB permet de constituer des règles qui sont synthétisées dans une table d’acheminement FIB afin de router le paquet IP vers le prochain saut (next-hop) selon un critère de  coût (nombre de saut, débit, délai, …) géré par le RIB. L’avantage du routage dynamique est l’adaptation  aux évolutions du réseau (nouvelles routes, routeur saturé ou lien défaillant) en temps réels.

Les informations de routages transmises entre routeurs dépendent du protocole de routage choisi :

  • états de lien, chaque routeur s’appuie sur la qualité et les performances du lien et de la bande passante qui le relie les uns aux autres. Cet échange permet de définir une cartographie complète du réseau au niveau de chaque routeur. Ce protocole de routage s’appelle OSPF (Open Shortest Path First) et il est également utilisé par le réseau MPLS ;
  • vecteur de distance se base sur le principe que chaque routeur dispose d’une table de routage indiquant, pour chaque réseau de destination, l’interface locale permettant de l’atteindre et la meilleure distance qui lui est associée (exemple de protocole RIP, EIGRP) ;
  • label, les routeurs échangent des informations de label dans le contexte MPLS (LDP : Label Distribution Protocol) ;
  • bordure, en bordure de deux réseaux différents (on parle de domaine), les routeurs échangent des informations de routage et d’accessibilité : BGP (Border Gateway Protocol).

Deux grandes familles de protocole sont définies : Le protocole interne domaine (OSPF, RIP, MPLS) et le protocole d’interconnexion inter domaine  (BGP, EGP – Exterieur Gateway Protocol, …).

I-2) Le réseau opérateur 4G

Si on s’intéresse plus particulièrement au réseau opérateur, le réseau de transport de l’opérateur PLMN permet de fournir une interconnexion entre les différentes entités du réseau mobiles 4G. Cette interconnexion s’appuie sur deux types de réseaux principaux :

  • le réseau MPLS-VPN (Multi-Protocol Label Switching – Virtual Private Network) constituant le réseau de transport du réseau EPC
  • le réseau VPLS (Virtual Private Lan Service) assurant l’interconnexion de niveau 2 entre les eNB et le cœur réseau (MME, SGW)

Afin d’assurer le trafic des flux IP, le réseau MPLS utilise deux types de routeurs :

  • les routeurs EDGE LSR ( Label Edge Router ou Ingress LER) sont les routeurs de passerelle vers un autre réseau (Ingress LER pour le routeur entrant et Egress LER pour le routeur sortant)
  • les routeurs Core LSR constituent le domaine réseau MPLS. Ils réalisent le routage et l’étiquetage des premiers paquets et ensuite de la commutation de label.

Figure 1 : L’architecture du réseau MPLS

Le réseau VPLS est un réseau virtuel de niveau 2 qui s’appuie sur les trames Ethernet pour réaliser de la commutation Ethernet et de la commutation de label. Les tables de labels sont échangées via le protocole LDP (Label Distribution Protocol) entre les équipements du réseau VPLS.

II – Compréhension du protocole de routage

La représentation simplifiée d’un routeur est décrite sur la figure 2 par un plan de contrôle qui décide de la route et d’un plan de données pour prendre en charge le trafic. Pour les équipements de réseaux traditionnels, les plans de contrôle et le plan de données sont localisés dans le même équipement.

Figure  2 : La configuration simplifiée d’un routeur

La souplesse apportée par les algorithmes de routage permet d’allouer dynamiquement les routes optimales en fonction de l’évolution de charge du trafic. Cependant, cette solution souffre de deux défauts majeurs.

Le premier défaut est lié au coût d’exploitation (OPEX) pour faire évoluer l’architecture réseau. En effet, les équipements du réseau de transport (commutateurs et routeurs) sont déployés en fonction du trafic estimé. Le réseau de transport est donc surdimensionné par rapport au besoin moyen des clients mais au vu des prévisions de charge pour les années à venir, l’opérateur devra déployer et programmer d’autres équipements de routage et de commutation.

Le deuxième défaut est le manque de flexibilité du réseau vis-à-vis de l’installation de nouvelles fonctions réseaux comme l’équilibrage de charge, des pare-feux, ou le déploiement de nouveaux serveurs. Si par exemple, une entreprise multi-site souhaite installer un pare-feu uniquement et un détecteur de malware uniquement pour filtrer les connexion Internet, alors de telles modifications nécessitent soit la reconfiguration du réseau (séparation des flux entre l’accès Internet et l’accès VPN inter-site) soit la contrainte de respecter la topologie actuelle du réseau pour rajouter de nouveaux services (dans ce cas, tout le trafic VPN et Internet passera par le pare-feu et le contrôleur de malware).

Afin d’apporter de la souplesse au déploiement de services réseaux sur le réseau de transport, le SDN (Software Defined Networking) repose sur :

  • l’idée de séparer le plan d’acheminement des flux IP (FIB) et le plan de contrôle constituant les informations de routages (RIB)
  • d’apporter de la souplesse en donnant des ordres au plan de contrôle à partir d’API REST transmises par des applications (ingénierie de routage, Network as a Service).

Il existe deux modèles SDN :

  • Programmabilité via un contrôleur. Dans ce modèle, une application donne un ordre abstrait et global à un contrôleur, qui à son tour traduit cette requête en une suite d’ordres auprès des équipements du réseau concerné.
  • SDN Overlay: Création d’un réseau virtuel au-dessus du réseau physique. Dans ce modèle, les applications créent leur propre réseau « overlay », s’affranchissant des contraintes du réseau physique sous jacent. Ce dernier n’a pour mission que la simple connectivité entre les noeuds d’extrémité des tunnels, et le réseau d’overlay assure l’intégralité des services.

Programmabilité via un contrôleur

Le positionnement du SDN est donc de remplacer les routeurs et commutateurs de niveau 1 à 4 par une machine physique universelle dont le traitement des flux IP est modifié en temps réel par une couche de contrôle, appelée contrôleur SDN.

La couche de contrôle a pour rôle d’implémenter des règles  sur le commutateur SDN. Les règles peuvent concerner des affectations de VLANs (port d’accès), du routage et des traitements spécifiques de services réseaux (équilibrage de charge, haute disponibilité, QoS,…)

Ainsi, l’architecture SDN est basé sur l’évolution de l’architecture suivante (figure 3):

Figure 3 : Architecture SDN

Le protocole d’injection de règles SDN le plus connu est OpenFlow (version 1.0 à 1.5)

Le contrôleur est, quant à lui, piloté par le besoin des applications. On dit que le contrôleur fournit une abstraction du plan de transport aux applications. La notion d’abstraction signifie que le contrôleur offre des interfaces programmables aux applications réseaux (les interfaces sont nommées API) et le contrôleur se charge de piloter le plan de données en injectant des règles d’acheminement spécifiques répondant aux besoins des applications sans que les applications connaissent ces règles.

Ainsi, comme le montre la figure 4, la couche d’abstraction du contrôleur comporte une interface de programmation (interface Nord) qui fournit des fonctions génériques et banalisées de manipulation du réseau de transport en cachant les détails techniques des entités du réseau.  Ceci permet à une application d’informer le contrôleur des besoins de traitement de flux de manière générale en faisant abstraction des détails technique du matériel.

Figure 4 : Le principe du SDN

Le contrôleur dispose d’une interface nord appelé Northbound API afin de proposer des API de haut niveau aux applications SDN. Les applications SDN peuvent être une demande de gestion du réseau, un contrôle d’accès, une priorité de service à mettre en œuvre, …

Le plan de contrôle va orchestrer la demande des applications en transmettant via l’interface sud les tables d’acheminements correspondantes. Les protocoles utilisés sur l’interface sud peut être le protocole CLI (Command Line Interface), le protocole OpenFlow, ou d’autres protocoles (NETCONF/YANG, …)

Le terme d’orchestration désigne le processus qui permet au contrôleur de satisfaire les demandes de service de plusieurs clients selon une politique d’optimisation pour chaque service.

Le plan de données ou plan usager est chargé de l’acheminement (forwarding) du trafic des utilisateurs et de l’application de politique de trafic (parefeu, VLAN, …) dont les règles ont été transmises par le contrôleur. La politique réseau étant définie par les applications.

 

SDN Overlay

Principe de l’Overlay

Le réseau overlay est une solution initialement dédiée aux hébergeurs de Cloud Center afin que deux serveurs de l’hébergeur, physiquement éloignés, puissent communiquer entre eux via  un réseau de transport opérateur (réseau d’interconnexion externe aux hébergeurs donc non modifiable).

Les réseaux Overlay (over-layer) signifie construire un réseau virtuel de couche 2 au-dessus d’un réseau de couche 3 : Les paquets du réseau sont encapsulés puis routés à travers l’infrastructure existante. Un des protocoles proposé est le VxLAN (Virtual eXtensible LAN) proposé dans le RFC 7348. Il encapsule les trames Ethernet dans un datagramme UDP.

A l’origine, cette solution a été proposée pour faciliter l’interconnexion des serveurs de cloud qui sont basés sur le principe de virtualisation : un hébergeur dispose de plusieurs salles de serveurs. Chaque serveur est une machine physique pouvant recevoir plusieurs machines virtuelles (VM). Afin de partager les ressources physiques (RAM, CPU, cartes réseau, …), il est nécessaire d’installer sur le serveur un logiciel nommé hyperviseur. Un hyperviseur (VMM : Virtual Machine Monitor ou Virtual Machine Manager) est un moniteur de machines virtuelles installé directement sur la machine physique (hyperviseur bare metal) ou sur un système d’exploitation. Son rôle est de contrôler l’accès au matériel et de partager les ressources physiques entre toutes les machines virtuelles (VM : Virtual Machine).

L’hyperviseur virtualise l’interface de réseau physique et la partage entre toutes les machines virtuelles. Chaque VM dispose de sa propre adresse MAC et adresse IP. Les VMs sont configurées en mode pont, NAT ou sont isolées des autres VMs (Host Only ou réseau privé). Le mode host only permet de créer un réseau privé entre la VM et le machine hôte.

La virtualisation du réseau coordonne par conséquent les commutateurs virtuels dans les hyperviseurs du serveur et les services réseaux pour les VM connectées.

L’hyperviseur réalise ainsi un commutateur virtuel permettant de connecter les VM les unes aux autres. Le commutateur virtuel supporte le VLAN, mais le protocole 802.1Q limite à 4096 le nombre de VLAN. Lorsque l’hébergeur de solution cloud souhaite exploiter le réseau IP opérateur pour transmettre des paquets IP entre deux serveurs situés sur le même réseau virtuel, il est nécessaire d’encapsuler les trames dans une couche supérieure.

Les hébergeurs exploitent le protocole VxLAN, chaque VM sur une machine physique est identifiée par un identifiant réseau VxLAN sur 24 bits, nommé VNI. L’hyperviseur de chaque serveur gère l’encapsulation et la décapsulation des trames contenues dans les VxLANs (VTEP : VxLAN Tunnel EndPoint).

Supposons qu’une machine virtuelle située sur un réseau virtuel (VxLAN) dans un serveur physique souhaite transmettre des données vers une machine virtuelle située dans un autre serveur physique (VxLAN). La machine virtuelle source construit sa trame Ethernet avec les champs suivants :

Figure 5 : L’architecture réseau entre deux serveurs interconnecté par le réseau IP opérateur

La figure 6 représente l’encapsulation et les entêtes associées :

Trame Ethernet VM: VxLAN ID/Mac Dest/Mac Src VM/ IP Src VM/ Ip Dest VM/ TCP ou UDP Data

L’hyperviseur de la machine virtuelle encapsule la trame Ethernet dans la couche UDP :

MAC VTEP Dest ou MAC GW/ MAC VTEP Source/IP VTEP source/IP VTEP Destination/ UDP/Data contenant laTrame Ethernet VM.

Figure 6 : L’encapsulation VxLAN

Nous venons de voir l’overlay, mais pas encore le SDN.

SDN Overlay ou Overlay réseau programmable

Nous savons que le principe du SDN réside dans la séparation du plan de contrôle et du plan utilisateur. Dans le cas du SDN overlay, le réseau physique sous-jacent ne peut pas être contrôlé, le SDN s’applique donc au réseau overlay.

Les datacenters doivent aussi être flexibles et gérer au mieux les flux de réseaux. La programmabilité s’exprime surtout ici avec l’orchestration des ressources : comment coordonner intelligemment le processus de mise à disposition d’infrastructure en entreprise. Ainsi, la virtualisation permet à l’intelligence de l’infrastructure des hébergeurs Cloud de contrôler et de déployer automatiques les serveurs. Les éléments de l’infrastructure (stockage, calcul, mis en réseau) sont virtualisés et regroupés en pools de ressources. De plus les applications doivent être mobiles et répliquées sur un Cloud distant afin de permettre une reprise après sinistre.

L’utilisation d’une plate-forme de gestion du Cloud (CMP – Cloud Management Platform) permet de provisionner des réseaux virtuels en activant les services réseaux et les services de sécurité virtuels en fonction des charges de travail.

Il existe plusieurs solutions virtuelles ( VMware NSXMidokura MidoNet et Nuage Networks) afin de contrôler dynamiquement les routeurs virtuels, les commutateurs virtuels grâce à un contrôleur de service virtualisé qui permet également de déplacer, créer ou détruire un VM afin de répondre au mieux au besoin du client

Le rôle du SDN est donc d’orchestrer les VMs afin d’adapter les ressources de l’hébergeur cloud (Amazon SE3, …) au besoin du client en assurant la fiabilité de l’interconnexion, l’accès rapide au données, ….

 

Merci à Sébastien Couderc d’avoir accepté de relire cet article