Comment rendre plus souple les réseaux cœurs des réseaux mobiles? C'est ce que nous allons voir dans cette vidéo. Prenons le cas d'une architecture 4G traditionnelle pour le réseau cœur. Nous avons le SGW et le PGW. Si on analyse, on constate qu'il y a un mélange entre le plan de données, User Plane, et le plan de commande, Control Plane. Tout d'abord, nous avons deux protocoles entre SGW et PGW. La gestion des paquets de données et la mise en tunnel ou l'extraction d'un tunnel, c'est le protocole GTP-U, GPRS Tunnel Protocol in the User Plane, et nous avons, d'autre part, des échanges pour établir les tunnels ou les libérer, et ça, c'est le protocole GTP-C, GPRS Tunnel Protocol in the Control Plane. Dans les fonctions des équipements, nous avons aussi, quelques fois, un mélange des genres. Un exemple : le PGW va accepter des paquets utilisateurs, va les traiter, et, par exemple, rajouter un entête, il est passerelle pour les données utilisateurs, c'est clairement du plan utilisateur, User Plane, mais il fait aussi, par exemple, l'allocation de l'adresse IP lorsqu'un utilisateur s'attache au réseau, et ça, c'est une fonction du plan de commande. Ce mélange des genres rend difficile la virtualisation. En effet, pour virtualiser et avoir des instances de fonction qui peuvent démarrer dynamiquement ou être arrêtées, il convient d'avoir des fonctions bien identifiées et bien isolées. Les principes de CUPS, Control and User Plane Separation, sont justement de séparer tout ce qui a trait au plan utilisateur de ce qui est dans le plan de commande. Nous allons avoir deux fonctions : P/SGW-C pour le contrôle et, par exemple, PGW-U pour le traitement des paquets utilisateurs par le PGW. Ce traitement, quel est-il? Le relayage des paquets, ou Forwarding, avec l'encapsulation ou la décapsulation pour la mise en tunnel ou l'extraction d'un tunnel, l'inspection des paquets pour des questions de sécurité ou pour gérer une règle de priorité et avoir ainsi différents niveaux de qualité de service. C'est ce qu'on appelle la mise en œuvre d'une politique de qualité de service, ou QoS Enforcement. Nous avons cette séparation possible en 4G mais également en 5G. Les fonctions dans le plan utilisateur sont exactement les mêmes que précédemment, mais elles sont mises en œuvre par une fonction appelée User Plan Function, ou UPF. L'ensemble des fonctions de commande sont placées dans le SMF, Session Management Function. Pourquoi CUPS est-il intéressant? Précisément parce qu'il permet une indépendance des fonctions CP et UP. Il est donc possible de garder les instances CP existantes et de démarrer de nouvelles instances UP, ou, de façon opposée, de garder les instances UP existantes et de démarrer des instances CP, elles sont indépendantes l'une de l'autre. L'avantage, c'est donc la dynamicité, si par exemple, les flux sont de plus en plus importants, il y a de plus en plus de données par flux, on peut démarrer de nouvelles fonctions UP. L'autre intérêt, c'est qu'on peut localiser les fonctions UP où l'on veut, et on peut très bien imaginer que, sur un site radio, il y ait des fonctions UP qui soient déclenchées dynamiquement pour permettre le traitement au plus proche de l'utilisateur, et donc la réduction de la latence. Voyons comment sont formalisés les traitements dans l'UPF. Nous considérons l'exemple classique d'un paquet qui arrive d'un réseau externe et qui est envoyé à destination d'un terminal. Dans ce paquet, on va trouver l'adresse de l'UE, qui est l'adresse de destination. Que fait l'UPF? Elle analyse cette adresse et, à partir de l'adresse du mobile, va retrouver le tunnel correspondant. Une fois que l'UE est identifié, on rajoute l'entête GTP au paquet qui est reçu, on rajoute l'entête UDP, on rajoute l'entête IP, et on renvoie le paquet vers le gNodeB. On va donc trouver, en adresse de destination, l'adresse IP du gNodeB, et il faut l'envoyer sur le bon tunnel, donc on trouve le TEID qui a été alloué pour cet UE particulier, le TEID alloué par le gNodeB. Si nous formalisons, que s'est-il passé? Il y a d'abord eu analyse du paquet reçu en recherchant l'adresse de l'UE, cela va former ce qu'on appelle une règle de détection de paquet ou Packet Detection Rule. On associe à cette Packet Detection Rule une règle de relayage, ou Forwarding Action Rule. Ici, cela consiste à ajouter l'entête GTP-U, UDP, IP. Si nous regardons un paquet qui est envoyé par un terminal, nous avons quelque chose d'équivalent et légèrement différent. Qu'est-ce qui est analysé pour identifier le tunnel? C'est le TEID. À partir du TEID, on détermine le traitement à faire. Il faut enlever l'entête externe et renvoyer le paquet sur le réseau externe. Nous retrouvons donc une Packet Detection Rule qui, ici, porte sur le TEID, et une Forwarding Action Rule, une règle de relayage qui consiste à retirer les entêtes. Nous voyons ici un exemple avec des adresses IP. Nous trouvons dans l'UPF une table avec la Packet Detection Rule. Ici, pour un paquet venant de l'UE, il y a une valeur de TEID, une action, un relayage, et un paramètre qui indique comment faire le relayage, ici on retire l'entête externe. Dans l'autre sens, on va analyser les adresses de l'UE et on va ajouter l'entête externe en indiquant la valeur du TEID à placer. Nous avons vu les règles d'analyse des paquets, les PDR, les règles de relayage, ajout/suppression d'entêtes, les FAR ; nous avons également la possibilité de définir des règles de mise en œuvre de la politique de qualité de service, c'est-à -dire de rendre prioritaire un type de paquets par rapport à un autre. Il y a également possibilité de définir des règles de comptage de paquets, ou Usage Reporting Rules, ceci est intéressant pour l'opérateur s'il veut établir une facturation. Enfin, il y a des règles de bufferisation sur les ports de sortie, ou Buffering Action Rules. Il est possible de définir plusieurs règles pour un même flux. Dans ce cas-là , il y a une priorité et la règle #0 est d'abord analysée. Si jamais le paquet ne vérifie par cette règle, on passe à la règle #1 jusqu'à trouver la règle pour laquelle le paquet vérifie ce qui est défini dans la règle. Notons que toutes les règles ne sont pas forcément définies : il peut très bien ne pas y avoir de règles de qualité de service. En conclusion, CUPS consiste à séparer le plan de commande et le plan utilisateur. C'est possible dans le réseau 4G, c'est systématique dans le réseau cœur 5G. Dans ce cas-là , le SMF envoie un certain nombre de règles de traitement des paquets vers l'UPF, et l'UPF va mettre en application ces règles de traitement des paquets de données utilisateurs. [MUSIQUE]