OmniUPF Guide d'Opérations
Table des Matières
- Aperçu
- Compréhension de l'Architecture du Plan Utilisateur 5G
- Composants UPF
- Protocole PFCP et Intégration SMF
- Opérations Courantes
- Dépannage
- Documentation Supplémentaire
- Glossaire
Aperçu
OmniUPF (Fonction de Plan Utilisateur basée sur eBPF) est une Fonction de Plan Utilisateur 5G/LTE haute performance qui fournit un transfert de paquets de qualité opérateur, une application de la QoS et une gestion du trafic pour les réseaux mobiles. Basé sur la technologie eBPF de Linux (Extended Berkeley Packet Filter) et amélioré avec des capacités de gestion complètes, OmniUPF fournit l'infrastructure de traitement de paquets essentielle requise pour les réseaux 5G SA, 5G NSA et LTE.
Qu'est-ce qu'une Fonction de Plan Utilisateur ?
La Fonction de Plan Utilisateur (UPF) est l'élément de réseau standardisé par la 3GPP responsable du traitement et du transfert de paquets dans les réseaux 5G et LTE. Elle fournit :
- Transfert de paquets à haute vitesse entre les appareils mobiles et les réseaux de données
- Application de la Qualité de Service (QoS) pour différents types de trafic
- Détection et routage du trafic basés sur des filtres et des règles de paquets
- Rapports d'utilisation pour la facturation et l'analyse
- Mise en mémoire tampon des paquets pour les scénarios de gestion de mobilité et de session
- Support d'interception légale pour la conformité réglementaire
OmniUPF implémente l'intégralité des fonctionnalités UPF définies dans la 3GPP TS 23.501 (5G) et TS 23.401 (LTE), fournissant une solution de plan utilisateur complète et prête pour la production utilisant la technologie eBPF du noyau Linux pour des performances maximales.
Capacités Clés d'OmniUPF
Traitement des Paquets :
- Traitement des paquets de plan utilisateur conforme à la 3GPP
- Chemin de données basé sur eBPF pour des performances au niveau du noyau
- Encapsulation et décapsulation GTP-U (GPRS Tunneling Protocol)
- Support IPv4 et IPv6 pour les réseaux d'accès et de données
- XDP (eXpress Data Path) pour un traitement à latence ultra-faible
- Traitement des paquets multi-thread
QoS et Gestion du Trafic :
- Règles d'Application de la QoS (QER) pour la gestion de la bande passante
- Règles de Détection de Paquets (PDR) pour la classification du trafic
- Règles d'Action de Transfert (FAR) pour les décisions de routage
- Filtrage de Service Data Flow (SDF) pour le routage spécifique aux applications
- Règles de Rapport d'Utilisation (URR) pour le suivi des volumes et la facturation
Contrôle et Gestion :
- Interface PFCP (Packet Forwarding Control Protocol) vers SMF/PGW-C
- API RESTful pour la surveillance et le diagnostic
- Statistiques et métriques en temps réel
- Surveillance de la capacité des cartes eBPF
- Panneau de contrôle basé sur le Web
Fonctionnalités de Performance :
- Traitement de paquets sans copie via eBPF
- Transfert de paquets au niveau du noyau (sans surcharge d'espace utilisateur)
- Scalabilité multi-cœurs
- Capable de décharger pour l'accélération matérielle
- Optimisé pour les déploiements cloud-natifs
Pour des détails sur l'utilisation du panneau de contrôle, voir Opérations de l'Interface Web.
Compréhension de l'Architecture du Plan Utilisateur
OmniUPF est une solution de plan utilisateur unifiée fournissant un transfert de paquets de qualité opérateur pour les réseaux 5G Standalone (SA), 5G NSA et 4G LTE/EPC. OmniUPF est un produit unique qui peut simultanément fonctionner comme :
- UPF (Fonction de Plan Utilisateur) - plan utilisateur 5G/NSA (contrôlé par OmniSMF via N4/PFCP)
- PGW-U (PDN Gateway User Plane) - passerelle EPC 4G vers des réseaux externes (contrôlé par OmniPGW-C via Sxc/PFCP)
- SGW-U (Serving Gateway User Plane) - passerelle de service EPC 4G (contrôlé par OmniSGW-C via Sxb/PFCP)
OmniUPF peut fonctionner dans n'importe quelle combinaison de ces modes :
- UPF uniquement : Déploiement pur 5G
- PGW-U + SGW-U : Passerelle 4G combinée (déploiement EPC typique)
- UPF + PGW-U + SGW-U : Support simultané 4G et 5G (scénario de migration)
Tous les modes utilisent le même moteur de traitement de paquets basé sur eBPF et le protocole PFCP, offrant des performances élevées constantes qu'il fonctionne comme UPF, PGW-U, SGW-U, ou les trois simultanément.
Architecture du Réseau 5G (Mode SA)
La solution OmniUPF se situe au plan de données des réseaux 5G, fournissant la couche de transfert de paquets à haute vitesse qui connecte les appareils mobiles aux réseaux de données et aux services.
Architecture du Réseau 4G LTE/EPC
OmniUPF prend également en charge les déploiements 4G LTE et EPC (Evolved Packet Core), fonctionnant comme OmniPGW-U ou OmniSGW-U selon l'architecture du réseau.
Mode Combiné PGW-U/SGW-U (Déploiement 4G Typique)
Dans ce mode, OmniUPF agit à la fois comme SGW-U et PGW-U, contrôlé par des fonctions de plan de contrôle distinctes.
Mode Séparé SGW-U et PGW-U (Roaming/Multi-Site)
Dans les déploiements de roaming ou multi-site, deux instances OmniUPF distinctes peuvent être déployées - une comme SGW-U et une comme PGW-U.
Comment Fonctionnent les Fonctions de Plan Utilisateur dans le Réseau
La fonction de plan utilisateur (OmniUPF, OmniPGW-U ou OmniSGW-U) fonctionne comme le plan de transfert contrôlé par le plan de contrôle respectif :
-
Établissement de Session
- 5G : OmniSMF établit une association PFCP via l'interface N4 avec OmniUPF
- 4G : OmniPGW-C ou OmniSGW-C établit une association PFCP via Sxb/Sxc avec OmniPGW-U/OmniSGW-U
- Le plan de contrôle crée des sessions PFCP pour chaque session PDU UE (5G) ou contexte PDP (4G)
- Le plan utilisateur reçoit des règles PDR, FAR, QER et URR via PFCP
- Les cartes eBPF sont peuplées avec des règles de transfert
-
Traitement des Paquets Montants (UE → Réseau de Données)
- 5G : Les paquets arrivent sur l'interface N3 depuis gNB avec encapsulation GTP-U
- 4G : Les paquets arrivent sur l'interface S1-U (SGW-U) ou S5/S8 (PGW-U) depuis eNodeB avec encapsulation GTP-U
- Le plan utilisateur fait correspondre les paquets avec les PDR montants basés sur le TEID
- Le programme eBPF applique QER (limitation de débit, marquage)
- FAR détermine l'action de transfert (transférer, supprimer, mettre en mémoire tampon, dupliquer)
- Tunnel GTP-U retiré, les paquets sont transférés à l'interface N6 (5G) ou SGi (4G)
- URR suit les comptes de paquets et d'octets pour la facturation
-
Traitement des Paquets Descendants (Réseau de Données → UE)
- 5G : Les paquets arrivent sur l'interface N6 sous forme d'IP native
- 4G : Les paquets arrivent sur l'interface SGi sous forme d'IP native
- Le plan utilisateur fait correspondre les paquets avec les PDR descendants basés sur l'adresse IP de l'UE
- Les filtres SDF peuvent encore classifier le trafic par port, protocole ou application
- FAR détermine le tunnel GTP-U et les paramètres de transfert
- L'encapsulation GTP-U est ajoutée avec le TEID approprié
- 5G : Les paquets sont transférés à l'interface N3 vers gNB
- 4G : Les paquets sont transférés à S1-U (SGW-U) ou S5/S8 (PGW-U) vers eNodeB
-
Mobilité et Transfert
- 5G : OmniSMF met à jour les règles PDR/FAR lors des scénarios de transfert
- 4G : OmniSGW-C/OmniPGW-C met à jour les règles lors du transfert inter-eNodeB ou TAU (Mise à Jour de Zone de Suivi)
- Le plan utilisateur peut mettre en mémoire tampon les paquets lors du changement de chemin
- Transition transparente entre les stations de base sans perte de paquets
Intégration avec le Plan de Contrôle (4G et 5G)
OmniUPF s'intègre avec les fonctions de plan de contrôle 5G et 4G via des interfaces standard 3GPP :
Interfaces 5G
| Interface | De → À | Objectif | Spécification 3GPP |
|---|---|---|---|
| N4 | OmniSMF ↔ OmniUPF | Établissement, modification, suppression de session PFCP | TS 29.244 |
| N3 | gNB → OmniUPF | Trafic de plan utilisateur provenant de RAN (GTP-U) | TS 29.281 |
| N6 | OmniUPF → Réseau de Données | Trafic de plan utilisateur vers DN (IP native) | TS 23.501 |
| N9 | OmniUPF ↔ OmniUPF | Communication inter-UPF pour roaming/edge | TS 23.501 |
Interfaces 4G/EPC
| Interface | De → À | Objectif | Spécification 3GPP |
|---|---|---|---|
| Sxb | OmniSGW-C ↔ OmniUPF (mode SGW-U) | Contrôle de session PFCP pour la passerelle de service | TS 29.244 |
| Sxc | OmniPGW-C ↔ OmniUPF (mode PGW-U) | Contrôle de session PFCP pour la passerelle PDN | TS 29.244 |
| S1-U | eNodeB → OmniUPF (mode SGW-U) | Trafic de plan utilisateur provenant de RAN (GTP-U) | TS 29.281 |
| S5/S8 | OmniUPF (SGW-U) ↔ OmniUPF (PGW-U) | Plan utilisateur inter-passerelle (GTP-U) | TS 29.281 |
| SGi | OmniUPF (mode PGW-U) → PDN | Trafic de plan utilisateur vers le réseau de données (IP native) | TS 23.401 |
Remarque : Toutes les interfaces PFCP (N4, Sxb, Sxc) utilisent le même protocole PFCP défini dans TS 29.244. Les noms d'interface diffèrent mais le protocole et les formats de message sont identiques.
Pour la gestion des sessions PFCP, voir Opérations PFCP.
Composants UPF
Chemin de Données eBPF
Le chemin de données eBPF est le moteur de traitement de paquets central qui fonctionne dans le noyau Linux pour des performances maximales.
Fonctions Principales :
- Traitement GTP-U : Encapsulation et décapsulation des tunnels GTP-U
- Classification des Paquets : Correspondance des paquets avec les règles PDR en utilisant TEID, IP de l'UE ou filtres SDF
- Application de la QoS : Appliquer la limitation de débit et le marquage des paquets selon les règles QER
- Décisions de Transfert : Exécuter les actions FAR (transférer, supprimer, mettre en mémoire tampon, dupliquer, notifier)
- Suivi de l'Utilisation : Incrémenter les compteurs URR pour la facturation basée sur le volume
Cartes eBPF : Le chemin de données utilise des cartes eBPF (tables de hachage en mémoire du noyau) pour le stockage des règles :
| Nom de la Carte | Objectif | Clé | Valeur |
|---|---|---|---|
uplink_pdr_map | PDRs Montants | TEID (32 bits) | Infos PDR (ID FAR, ID QER, IDs URR) |
downlink_pdr_map | PDRs Descendants (IPv4) | Adresse IP de l'UE | Infos PDR |
downlink_pdr_map_ip6 | PDRs Descendants (IPv6) | Adresse IPv6 de l'UE | Infos PDR |
far_map | Règles de Transfert | ID FAR | Paramètres de transfert (action, infos de tunnel) |
qer_map | Règles de QoS | ID QER | Paramètres de QoS (MBR, GBR, marquage) |
urr_map | Suivi de l'Utilisation | ID URR | Compteurs de volume (montant, descendant, total) |
sdf_filter_map | Filtres SDF | ID PDR | Filtres d'application (ports, protocoles) |
Caractéristiques de Performance :
- Zero-copy : Les paquets sont traités entièrement dans l'espace noyau
- Support XDP : Attacher au niveau du pilote réseau pour une latence sub-microseconde
- Multi-cœur : Se déploie sur les cœurs CPU avec un support de carte par CPU
- Capacité : Millions de PDRs/FARs dans les cartes eBPF (limitées par la mémoire du noyau)
Pour la surveillance de la capacité, voir Gestion de la Capacité.
Gestionnaire d'Interface PFCP
L'interface PFCP implémente la 3GPP TS 29.244 pour la communication avec SMF ou PGW-C.
Fonctions Principales :
- Gestion d'Association : Cœur de PFCP et configuration de l'association
- Cycle de Vie de Session : Créer, modifier et supprimer des sessions PFCP
- Installation de Règles : Traduire les IE PFCP en entrées de carte eBPF
- Rapport d'Événements : Notifier SMF des seuils d'utilisation, erreurs ou événements de session
Support des Messages PFCP :
| Type de Message | Direction | Objectif |
|---|---|---|
| Établissement d'Association | SMF → UPF | Établir l'association de contrôle PFCP |
| Libération d'Association | SMF → UPF | Détruire l'association PFCP |
| Cœur de PFCP | Bidirectionnel | Maintenir l'association active |
| Établissement de Session | SMF → UPF | Créer une nouvelle session PDU avec PDR/FAR/QER/URR |
| Modification de Session | SMF → UPF | Mettre à jour les règles pour la mobilité, les changements de QoS |
| Suppression de Session | SMF → UPF | Supprimer la session et toutes les règles associées |
| Rapport de Session | UPF → SMF | Rapport d'utilisation, erreurs ou événements |
Éléments d'Information (IE) Supportés :
- Créer PDR, FAR, QER, URR
- Mettre à jour PDR, FAR, QER, URR
- Supprimer PDR, FAR, QER, URR
- Informations de Détection de Paquets (IP de l'UE, F-TEID, filtre SDF)
- Paramètres de Transfert (instance réseau, création d'en-tête externe)
- Paramètres de QoS (MBR, GBR, QFI)
- Déclencheurs de Rapport d'Utilisation (seuil de volume, seuil de temps)
Pour des opérations PFCP détaillées, voir Guide des Opérations PFCP.
Serveur API REST
L'API REST fournit un accès programmatique à l'état et aux opérations de l'UPF.
Fonctions Principales :
- Surveillance des Sessions : Interroger les sessions PFCP actives et les associations
- Inspection des Règles : Voir les configurations PDR, FAR, QER, URR
- Statistiques : Récupérer les compteurs de paquets, les statistiques de routage, les statistiques XDP
- Gestion des Tampons : Voir et contrôler les tampons de paquets
- Informations sur les Cartes : Surveiller l'utilisation et la capacité des cartes eBPF
Points de Terminaison API : (34 points de terminaison au total)
| Catégorie | Points de Terminaison | Description |
|---|---|---|
| Santé | /health | Vérification de santé et état |
| Configuration | /config | Configuration de l'UPF |
| Sessions | /pfcp_sessions, /pfcp_associations | Données de session/association PFCP |
| PDRs | /uplink_pdr_map, /downlink_pdr_map, /downlink_pdr_map_ip6, /uplink_pdr_map_ip6 | Règles de détection de paquets |
| FARs | /far_map | Règles d'action de transfert |
| QERs | /qer_map | Règles d'application de la QoS |
| URRs | /urr_map | Règles de rapport d'utilisation |
| Tampons | /buffer | État et contrôle des tampons de paquets |
| Statistiques | /packet_stats, /route_stats, /xdp_stats, /n3n6_stats | Métriques de performance |
| Capacité | /map_info | Capacité et utilisation des cartes eBPF |
| Plan de Données | /dataplane_config | Adresses d'interface N3/N9 |
Pour des détails sur l'API et son utilisation, voir Guide des Opérations PFCP et Guide de Surveillance.
Panneau de Contrôle Web
Le Panneau de Contrôle Web fournit un tableau de bord en temps réel pour la surveillance et la gestion de l'UPF.
Fonctionnalités :
- Vue des Sessions : Parcourir les sessions PFCP actives avec IP UE, TEID et comptes de règles
- Gestion des Règles : Voir et gérer les PDR, FAR, QER et URR à travers toutes les sessions
- Surveillance des Tampons : Suivre les paquets mis en mémoire tampon et contrôler la mise en mémoire tampon par FAR
- Tableau de Bord Statistique : Statistiques en temps réel sur les paquets, le routage, XDP et les statistiques des interfaces N3/N6
- Surveillance de la Capacité : Utilisation des cartes eBPF avec des indicateurs de capacité codés par couleur
- Vue de Configuration : Afficher la configuration de l'UPF et les adresses du plan de données
- Visionneuse de Journaux : Diffusion en direct des journaux pour le dépannage
Pour des opérations détaillées de l'interface utilisateur, voir Guide des Opérations de l'Interface Web.
Protocole PFCP et Intégration SMF
Association PFCP
Avant que des sessions puissent être créées, le SMF doit établir une association PFCP avec l'UPF.
Cycle de Vie de l'Association :
Points Clés :
- Chaque SMF établit une association avec l'UPF
- L'UPF suit l'association par ID de Nœud (FQDN ou adresse IP)
- Les messages de cœur maintiennent la vivacité de l'association
- Toutes les sessions sous une association sont supprimées si l'association est libérée
Pour voir les associations, voir Vue des Sessions.
Création de Session PFCP
Lorsqu'un UE établit une session PDU (5G) ou un contexte PDP (LTE), le SMF crée une session PFCP à l'UPF.
Flux d'Établissement de Session :
Contenu Typique de la Session :
- PDR Montant : Correspondre sur N3 TEID, transférer via FAR vers N6
- PDR Descendant : Correspondre sur l'adresse IP de l'UE, transférer via FAR vers N3 avec encapsulation GTP-U
- FAR : Paramètres de transfert (création d'en-tête externe, instance réseau)
- QER : Limites de QoS (MBR, GBR) et marquage de paquets (QFI)
- URR : Rapport de volume pour la facturation (optionnel)
Pour la surveillance des sessions, voir Opérations PFCP.
Modification de Session PFCP
Le SMF peut modifier les sessions pour des événements de mobilité (transfert), des changements de QoS ou des mises à jour de service.
Scénarios de Modification Courants :
-
Transfert (basé sur N2)
- Mettre à jour le FAR montant avec le nouveau point de terminaison de tunnel gNB (F-TEID)
- Optionnellement mettre en mémoire tampon les paquets lors du changement de chemin
- Vider le tampon vers le nouveau chemin lorsque prêt
-
Changement de QoS
- Mettre à jour le QER avec de nouvelles valeurs MBR/GBR
- Peut ajouter/supprimer des filtres SDF dans le PDR pour une QoS spécifique à l'application
-
Mise à Jour de Service
- Ajouter de nouveaux PDR pour des flux de trafic supplémentaires
- Modifier les FAR pour des changements de routage
Flux de Modification de Session :
Pour la gestion des règles, voir Guide de Gestion des Règles.
Suppression de Session PFCP
Lorsqu'une session PDU est libérée, le SMF supprime la session PFCP à l'UPF.
Flux de Suppression de Session :
Nettoyage Effectué :
- Tous les PDRs supprimés (montant et descendant)
- Tous les FARs, QERs, URRs supprimés
- Tampons de paquets vidés
- Rapport d'utilisation final envoyé au SMF pour la facturation
Opérations Courantes
OmniUPF fournit des capacités opérationnelles complètes via son panneau de contrôle basé sur le Web et son API REST. Cette section couvre les tâches opérationnelles courantes et leur signification.
Surveillance des Sessions
Compréhension des Sessions PFCP :
Les sessions PFCP représentent des sessions PDU actives de l'UE (5G) ou des contextes PDP (LTE). Chaque session contient :
- SEIDs locaux et distants (Identifiants de Point de Terminaison de Session)
- PDRs pour la classification des paquets
- FARs pour les décisions de transfert
- QERs pour l'application de la QoS (optionnel)
- URRs pour le suivi de l'utilisation (optionnel)
Opérations Clés de Session :
- Voir toutes les sessions avec les adresses IP de l'UE, TEIDs et comptes de règles
- Filtrer les sessions par adresse IP ou TEID
- Inspecter les détails de la session y compris les configurations complètes PDR/FAR/QER/URR
- Surveiller les comptes de session par association PFCP
Pour des procédures détaillées sur les sessions, voir Vue des Sessions.
Gestion des Règles
Règles de Détection de Paquets (PDR) :
Les PDRs déterminent quels paquets correspondent à des flux de trafic spécifiques. Les opérateurs peuvent :
- Voir les PDRs montants indexés par TEID de l'interface N3
- Voir les PDRs descendants indexés par adresse IP de l'UE (IPv4 et IPv6)
- Inspecter les filtres SDF pour la classification spécifique à l'application
- Surveiller les comptes de PDR et l'utilisation de la capacité
Règles d'Action de Transfert (FAR) :
Les FARs définissent quoi faire avec les paquets correspondants. Les opérateurs peuvent :
- Voir les actions FAR (TRANSFÉRER, SUPPRIMER, METTRE EN MÉMOIRE TAMBOUR, DUPLIQUER, NOTIFIER)
- Inspecter les paramètres de transfert (création d'en-tête externe, destination)
- Surveiller l'état de mise en mémoire tampon par FAR
- Basculer la mise en mémoire tampon pour des FAR spécifiques lors du dépannage
Règles d'Application de la QoS (QER) :
Les QERs appliquent des limites de bande passante et marquent les paquets. Les opérateurs peuvent :
- Voir les paramètres de QoS (MBR, GBR, budget de délai de paquet)
- Surveiller les QERs actives par session
- Inspecter les marquages QFI pour les flux de QoS 5G
Règles de Rapport d'Utilisation (URR) :
Les URRs suivent les volumes de données pour la facturation. Les opérateurs peuvent :
- Voir les compteurs de volume (montant, descendant, total d'octets)
- Surveiller les seuils d'utilisation et les déclencheurs de rapport
- Inspecter les URRs actives à travers toutes les sessions
Pour les opérations de règles, voir Guide de Gestion des Règles.
Mise en Mémoire Tampon des Paquets
Pourquoi la Mise en Mémoire Tampon est Critique pour l'UPF
La mise en mémoire tampon des paquets est l'une des fonctions les plus importantes d'un UPF car elle empêche la perte de paquets lors des événements de mobilité et des reconfigurations de session. Sans mise en mémoire tampon, les utilisateurs mobiles éprouveraient des connexions interrompues, des téléchargements interrompus et des communications en temps réel échouées chaque fois qu'ils se déplacent entre des tours cellulaires ou lorsque les conditions du réseau changent.
Le Problème : Perte de Paquets Lors de la Mobilité
Dans les réseaux mobiles, les utilisateurs se déplacent constamment. Lorsqu'un appareil passe d'une tour cellulaire à une autre (transfert), ou lorsque le réseau doit reconfigurer le chemin de données, il y a une fenêtre critique où les paquets sont en vol mais le nouveau chemin n'est pas encore prêt :
Sans mise en mémoire tampon : Les paquets arrivant pendant cette fenêtre critique seraient perdus, causant :
- Des connexions TCP qui se bloquent ou se réinitialisent (navigation web, téléchargements interrompus)
- Des appels vidéo qui se figent ou se coupent (Zoom, Teams, appels WhatsApp échoués)
- Des sessions de jeu qui se déconnectent (jeux en ligne, applications en temps réel échouées)
- Des appels VoIP qui ont des interruptions ou se coupent entièrement (appels téléphoniques interrompus)
- Des téléchargements qui échouent et doivent être redémarrés
Avec mise en mémoire tampon : OmniUPF conserve temporairement les paquets jusqu'à ce que le nouveau chemin soit établi, puis les transfère sans interruption. L'utilisateur connaît zéro interruption.
Quand la Mise en Mémoire Tampon Se Produit
OmniUPF met en mémoire tampon les paquets dans ces scénarios critiques :
1. Transfert Basé sur N2 (5G) / Transfert Basé sur X2 (4G)
Lorsqu'un UE se déplace entre des tours cellulaires :
Chronologie :
- T+0ms : Ancien chemin toujours actif
- T+10ms : SMF dit à l'UPF de mettre en mémoire tampon (ancien chemin se ferme, nouveau chemin pas pr��t)
- T+10-50ms : Fenêtre critique de mise en mémoire tampon - les paquets arrivent mais ne peuvent pas être transférés
- T+50ms : Nouveau chemin prêt, SMF dit à l'UPF de transférer
- T+50ms+ : L'UPF vide les paquets mis en mémoire tampon vers le nouveau chemin, puis transfère les nouveaux paquets normalement
Sans mise en mémoire tampon : ~40ms de paquets (potentiellement des milliers) seraient perdus. Avec mise en mémoire tampon : Zéro perte de paquets, transfert transparent.
2. Modification de Session (Changement de QoS, Mise à Jour de Chemin)
Lorsque le réseau doit changer les paramètres de session :
- Mise à niveau/diminution de la QoS : L'utilisateur passe de la couverture 4G à la 5G (mode NSA)
- Changement de politique : L'utilisateur d'entreprise entre dans le campus de l'entreprise (changement de direction du trafic)
- Optimisation du réseau : Le réseau central redirige le trafic vers un UPF plus proche (mise à jour ULCL)
Pendant la modification, le plan de contrôle peut avoir besoin de mettre à jour plusieurs règles de manière atomique. La mise en mémoire tampon garantit que les paquets ne sont pas transférés avec des ensembles de règles partiels/incohérents.
3. Notification de Données Descendantes (Récupération en Mode Inactif)
Lorsqu'un UE est en mode inactif (écran éteint, économie de batterie) et que des données descendantes arrivent :
Sans mise en mémoire tampon : Le paquet initial qui a déclenché la notification serait perdu, nécessitant que l'expéditeur retransmette (ajoute de la latence). Avec mise en mémoire tampon : Le paquet qui a réveillé l'UE est livré immédiatement lorsque l'UE se reconnecte.
4. Transfert Inter-RAT (4G ↔ 5G)
Lorsqu'un UE se déplace entre la couverture 4G et 5G :
- Les architectures changent (eNodeB ��� gNB)
- Les points de terminaison de tunnel changent (allocation de TEID différente)
- La mise en mémoire tampon garantit une transition fluide entre les types de RAT
Comment la Mise en Mémoire Tampon Fonctionne dans OmniUPF
Mécanisme Technique :
OmniUPF utilise une architecture de mise en mémoire tampon à deux niveaux :
- Niveau eBPF (Noyau) : Détecte les paquets nécessitant une mise en mémoire tampon en fonction des drapeaux d'action FAR
- Niveau Utilisateur : Stocke et gère les paquets mis en mémoire tampon en mémoire
Processus de Mise en Mémoire Tampon :
Détails Clés :
- Port de Tampon : Port UDP 22152 (paquets envoyés de eBPF vers l'espace utilisateur)
- Encapsulation : Paquets enveloppés dans GTP-U avec ID FAR comme TEID
- Stockage : Tampons en mémoire par FAR avec des métadonnées (timestamp, direction, taille de paquet)
- Limites :
- Limite par FAR : 10 000 paquets (par défaut)
- Limite globale : 100 000 paquets à travers tous les FARs
- TTL : 30 secondes (par défaut) - les paquets plus anciens que TTL sont abandonnés
- Nettoyage : Un processus en arrière-plan supprime les paquets expirés toutes les 60 secondes
Cycle de Vie du Tampon :
- Mise en Mémoire Tampon Activée : SMF définit l'action FAR BUFF=1 (bit 2) via la Modification de Session PFCP
- Paquets Mis en Mémoire Tampon : eBPF détecte le drapeau BUFF, encapsule les paquets, envoie au port 22152
- Stockage Utilisateur : Le gestionnaire de tampons stocke les paquets avec l'ID FAR, timestamp, direction
- Mise en Mémoire Tampon Désactivée : SMF définit l'action FAR FORW=1, BUFF=0 avec de nouveaux paramètres de transfert
- Vider le Tampon : Le gestionnaire utilisateur rejoue les paquets mis en mémoire tampon en utilisant les nouvelles règles FAR (nouveau point de terminaison de tunnel)
- Reprendre Normal : Les nouveaux paquets sont transférés immédiatement via le nouveau chemin
Pourquoi Cela Compte pour l'Expérience Utilisateur
Impact dans le Monde Réel :
| Scénario | Sans Mise en Mémoire Tampon | Avec Mise en Mémoire Tampon |
|---|---|---|
| Appel Vidéo Pendant le Transfert | L'appel se fige pendant 1-2 secondes, peut se couper | Transparent, aucune interruption |
| Téléchargement de Fichier à la Limite Cellulaire | Le téléchargement échoue, doit redémarrer | Le téléchargement continue sans interruption |
| Jeu en Ligne en Se Déplaçant | La connexion se coupe, expulsé du jeu | Jeu fluide, aucune déconnexion |
| Appel VoIP dans la Voiture | L'appel se coupe à chaque transfert | Clair comme de l'eau de roche, aucune coupure |
| Streaming Vidéo dans un Train | La vidéo se met en mémoire tampon, qualité en baisse | Lecture fluide |
| Point d'Accès Mobile pour Ordinateur Portable | La session SSH se coupe, l'appel vidéo échoue | Toutes les connexions maintenues |
Avantages pour l'Opérateur Réseau :
- Taux de Coupure d'Appel Réduit (CDR) : KPI critique pour la qualité du réseau
- Satisfaction Client Élevée : Les utilisateurs ne remarquent pas les transferts
- Coûts de Support Réduits : Moins de plaintes concernant les connexions interrompues
- Avantage Concurrentiel : Marketing "meilleur réseau pour la couverture"
Opérations de Gestion des Tampons
Les opérateurs peuvent surveiller et contrôler la mise en mémoire tampon via l'interface Web et l'API :
Surveillance :
- Voir les paquets mis en mémoire tampon par ID FAR (compte, octets, âge)
- Suivre l'utilisation du tampon par rapport aux limites (par FAR, global)
- Alerte sur le débordement du tampon ou la durée excessive de mise en mémoire tampon
- Identifier les tampons bloqués (paquets mis en mémoire tampon > seuil TTL)
Opérations de Contrôle :
- Vider les tampons : Déclencher manuellement la lecture du tampon (dépannage)
- Effacer les tampons : Abandonner les paquets mis en mémoire tampon (nettoyer les tampons bloqués)
- Ajuster le TTL : Changer le temps d'expiration des paquets
- Modifier les limites : Augmenter la capacité du tampon par FAR ou globale
Dépannage :
- Tampon ne se vidant pas : Vérifier si SMF a envoyé une mise à jour de FAR pour désactiver la mise en mémoire tampon
- Débordement du tampon : Augmenter les limites ou enquêter sur la raison pour laquelle la durée de mise en mémoire tampon est excessive
- Paquets anciens dans le tampon : TTL peut être trop élevé, ou mise à jour de FAR retardée
- Mise en mémoire tampon excessive : Peut indiquer des problèmes de mobilité ou des problèmes avec le SMF
Pour des opérations détaillées sur les tampons, voir Guide de Gestion des Tampons.
Configuration du Tampon
Configurer le comportement de mise en mémoire tampon dans config.yml :
# Paramètres de tampon
buffer_port: 22152 # Port UDP pour les paquets mis en mémoire tampon (par défaut)
buffer_max_packets: 10000 # Max paquets par FAR (prévenir l'épuisement de la mémoire)
buffer_max_total: 100000 # Max total de paquets à travers tous les FARs
buffer_packet_ttl: 30 # TTL en secondes (abandonner les paquets anciens)
buffer_cleanup_interval: 60 # Intervalle de nettoyage en secondes
Recommandations :
- Réseaux à haute mobilité (autoroutes, trains) : Augmenter
buffer_max_packetsà 20 000+ - Zones urbaines denses (transferts fréquents) : Diminuer
buffer_packet_ttlà 15s - Applications à faible latence : Définir
buffer_packet_ttlà 10s pour éviter les données obsolètes - Réseaux IoT : Diminuer les limites (les appareils IoT génèrent moins de trafic pendant le transfert)
Pour des options de configuration complètes, voir Guide de Configuration.
Statistiques et Surveillance
Statistiques des Paquets :
Métriques de traitement des paquets en temps réel incluant :
- Paquets RX : Total reçus de toutes les interfaces
- Paquets TX : Total transmis vers toutes les interfaces
- Paquets Supprimés : Paquets abandonnés en raison d'erreurs ou de politiques
- Paquets GTP-U : Comptes de paquets encapsulés
Statistiques de Routage :
Métriques de transfert par route :
- Hits de Route : Paquets correspondants à chaque route
- Comptes de Transfert : Succès/échec par destination
- Compteurs d'Erreur : TEIDs invalides, IPs UE inconnues
Statistiques XDP :
Métriques de performance du eXpress Data Path :
- XDP traités : Paquets gérés au niveau XDP
- XDP passés : Paquets envoyés à la pile réseau
- XDP abandonnés : Paquets abandonnés au niveau XDP
- XDP avortés : Erreurs de traitement
Statistiques des Interfaces N3/N6 :
Compteurs de trafic par interface :
- N3 RX/TX : Trafic vers/depuis RAN (gNB/eNodeB)
- N6 RX/TX : Trafic vers/depuis le réseau de données
- Comptes de paquets totaux : Statistiques agrégées par interface
Pour des détails sur la surveillance, voir Guide de Surveillance.
Gestion de la Capacité
Surveillance de la Capacité des Cartes eBPF :
La performance de l'UPF dépend de la capacité des cartes eBPF. Les opérateurs peuvent :
- Surveiller l'utilisation des cartes avec des indicateurs de pourcentage en temps réel
- Voir les limites de capacité pour chaque carte eBPF
- Alertes codées par couleur :
- Vert (<50%) : Normal
- Jaune (50-70%) : Prudence
- Ambre (70-90%) : Alerte
- Rouge (>90%) : Critique
Cartes Critiques à Surveiller :
uplink_pdr_map: Classification du trafic montantdownlink_pdr_map: Classification du trafic descendant IPv4far_map: Règles de transfertqer_map: Règles de QoSurr_map: Suivi de l'utilisation
Planification de Capacité :
- Chaque PDR consomme une entrée de carte (taille de clé + taille de valeur)
- La capacité de la carte est configurée au démarrage de l'UPF (limite de mémoire du noyau)
- Dépasser la capacité entraîne des échecs d'établissement de session
Pour la surveillance de la capacité, voir Gestion de la Capacité.
Gestion de la Configuration
Configuration de l'UPF :
Voir et vérifier les paramètres opérationnels de l'UPF :
- Interface N3 : Adresse IP pour la connectivité RAN (GTP-U)
- Interface N6 : Adresse IP pour la connectivité du réseau de données
- Interface N9 : Adresse IP pour la communication inter-UPF (optionnel)
- Interface PFCP : Adresse IP pour la connectivité SMF
- Port API : Port d'écoute de l'API REST
- Point de Terminaison des Métriques : Port des métriques Prometheus
Configuration du Plan de Données :
Paramètres actifs du chemin de données eBPF :
- Adresse N3 active : Liaison d'interface N3 en temps réel
- Adresse N9 active : Liaison d'interface N9 en temps réel (si activée)
Pour la visualisation de la configuration, voir Vue de Configuration.
Dépannage
Cette section couvre les problèmes opérationnels courants et leurs stratégies de résolution.
Échecs d'Établissement de Session
Symptômes : Les sessions PFCP échouent à se créer, l'UE ne peut pas établir de connectivité de données
Causes Racines Courantes :
-
Association PFCP Non Établie
- Vérifier que le SMF peut atteindre l'interface PFCP de l'UPF (port 8805)
- Vérifier l'état de l'association PFCP dans la vue des sessions
- Vérifier que la configuration de l'ID de Nœud correspond entre le SMF et l'UPF
-
Capacité de la Carte eBPF Épuisée
- Vérifier la vue de capacité pour une utilisation de carte rouge (>90%)
- Augmenter les tailles de carte eBPF dans la configuration de l'UPF
- Supprimer les sessions obsolètes si la carte est pleine
-
Configuration PDR/FAR Invalide
- Vérifier que l'adresse IP de l'UE est unique et valide
- Vérifier que l'allocation de TEID ne crée pas de conflit
- S'assurer que le FAR fait référence à des instances réseau valides
-
Problèmes de Configuration d'Interface
- Vérifier que l'adresse IP de l'interface N3 est accessible depuis gNB
- Vérifier les tables de routage pour la connectivité N6 au réseau de données
- Confirmer que le trafic GTP-U n'est pas bloqué par un pare-feu
Pour un dépannage détaillé, voir Guide de Dépannage.
Problèmes de Perte de Paquets ou de Transfert
Symptômes : L'UE a une connectivité mais éprouve des pertes de paquets ou aucun flux de trafic
Causes Racines Courantes :
-
Mauvaise Configuration de PDR
- Vérifier que le PDR montant TEID correspond au TEID attribué par gNB
- Vérifier que le PDR descendant IP de l'UE correspond à l'IP attribuée
- Inspecter les filtres SDF pour des règles trop restrictives
-
Problèmes d'Action FAR
- Vérifier que l'action FAR est TRANSFÉRER (pas SUPPRIMER ou METTRE EN MÉMOIRE TAMBOUR)
- Vérifier les paramètres de création d'en-tête externe pour GTP-U
- S'assurer que le point de terminaison de destination est correct
-
Limites de QoS Dépassées
- Vérifier les paramètres MBR (Débit Maximum) des QER
- Vérifier l'allocation de GBR (Débit Garanti)
- Surveiller les pertes de paquets dues à la limitation de débit
-
Problèmes de MTU d'Interface
- Vérifier que la surcharge GTP-U (40-50 octets) ne cause pas de fragmentation
- Vérifier la configuration de MTU des interfaces N3/N6
- Surveiller les messages ICMP indiquant la fragmentation nécessaire
Problèmes Liés aux Tampons
Symptômes : Paquets mis en mémoire tampon indéfiniment, débordement du tampon
Causes Racines Courantes :
-
Mise en Mémoire Tampon Non Désactivée Après le Transfert
- Vérifier le drapeau de mise en mémoire tampon FAR (bit 2)
- Vérifier que le SMF a envoyé la Modification de Session pour désactiver la mise en mémoire tampon
- Désactiver manuellement la mise en mémoire tampon via le panneau de contrôle si bloqué
-
Expiration du TTL du Tampon
- Vérifier l'âge des paquets dans la vue du tampon
- Vérifier la configuration du TTL du tampon (le défaut peut être trop long)
- Effacer manuellement les tampons expirés
-
Capacité du Tampon Épuisée
- Surveiller l'utilisation totale du tampon et les limites par FAR
- Vérifier les règles mal configurées causant une mise en mémoire tampon excessive
- Ajuster les limites de tampon max_per_far et max_total
Pour le dépannage des tampons, voir Opérations de Tampons.
Anomalies Statistiques
Symptômes : Compteurs de paquets inattendus, statistiques manquantes
Causes Racines Courantes :
-
Débordement de Compteur
- Les cartes eBPF utilisent des compteurs 64 bits (ne devraient pas déborder)
- Vérifier les événements de réinitialisation de compteur dans les journaux
- Vérifier que le rapport URR fonctionne
-
Statistiques de Route Non Mises à Jour
- Vérifier que le programme eBPF est attaché aux interfaces
- Vérifier que la version du noyau prend en charge les fonctionnalités eBPF requises
- Examiner les statistiques XDP pour les erreurs de traitement
-
Mésentente des Statistiques d'Interface
- Comparer les statistiques N3/N6 avec les compteurs d'interface du noyau
- Vérifier qu'aucun trafic ne contourne eBPF (par exemple, routage local)
- Vérifier que tout le trafic passe par les crochets XDP
Dégradation de Performance
Symptômes : Latence élevée, faible débit, saturation du CPU
Diagnostic :
- Surveiller les Statistiques XDP : Vérifier les abandons ou les avortements XDP
- Vérifier le Temps d'Accès aux Cartes eBPF : Les recherches de hachage devraient être sub-microsecondes
- Examiner l'Utilisation du CPU : eBPF devrait se répartir sur les cœurs
- Analyser l'Interface Réseau : Vérifier que le NIC prend en charge le déchargement XDP
Considérations de Scalabilité :
- Performance XDP : 10M+ paquets par seconde par cœur
- Capacité PDR : Millions de PDRs limitées uniquement par la mémoire du noyau
- Nombre de Sessions : Des milliers de sessions concurrentes par instance UPF
- Débit : Débit multi-gigabit avec un NIC approprié
Pour l'optimisation de la performance, voir Guide d'Architecture.
Documentation Supplémentaire
Guides d'Opérations Spécifiques aux Composants
Pour des opérations détaillées et le dépannage pour chaque composant de l'UPF :
Guide de Configuration
Référence complète de configuration incluant :
- Paramètres de configuration (YAML, variables d'environnement, CLI)
- Modes de fonctionnement (UPF/PGW-U/SGW-U)
- Modes d'attachement XDP (générique/natif/déchargement)
- Compatibilité avec les hyperviseurs (Proxmox, VMware, KVM, Hyper-V, VirtualBox)
- Compatibilité des NIC et support des pilotes XDP
- Exemples de configuration pour différents scénarios
- Dimensionnement des cartes et planification de capacité
Guide d'Architecture
Plongée technique approfondie incluant :
- Fondation technologique eBPF et cycle de vie du programme
- Pipeline de traitement de paquets XDP avec appels de queue
- Mise en œuvre du protocole PFCP
- Architecture de mise en mémoire tampon (encapsulation GTP-U au port 22152)
- Limitation de débit de la QoS par fenêtre glissante (fenêtre de 5 ms)
- Caractéristiques de performance (latence de 3,5 μs, 10 Mpps/cœur)
Guide de Gestion des Règles
Référence des règles PFCP incluant :
- Règles de Détection de Paquets (PDR) - Classification du trafic
- Règles d'Action de Transfert (FAR) - Décisions de routage avec drapeaux d'action
- Règles d'Application de la QoS (QER) - Gestion de la bande passante (MBR/GBR)
- Règles de Rapport d'Utilisation (URR) - Suivi et rapport de volume
- Diagrammes de flux de paquets montant et descendant
- Logique de traitement des règles et priorité
Guide de Surveillance
Statistiques et gestion de capacité incluant :
- Statistiques d'interface N3/N6 et distribution du trafic
- Statistiques de traitement XDP (passer/abandon/redirect/abort)
- Surveillance de la capacité des cartes eBPF avec zones codées par couleur
- Métriques de performance (taux de paquets, débit, taux de perte)
- Formules de planification de capacité et estimation de session
- Seuils d'alerte et meilleures pratiques
Guide de l'Interface Web
Utilisation du panneau de contrôle incluant :
- Vue d'ensemble du tableau de bord et navigation
- Surveillance des sessions (états sains/malsains)
- Inspection des règles (détails PDR, FAR, QER, URR)
- Surveillance des tampons et état de la mise en mémoire tampon des paquets
- Tableau de bord statistique en temps réel
- Visualisation de la capacité des cartes eBPF
- Affichage de la configuration
Documentation API
Référence complète de l'API REST incluant :
- Documentation interactive OpenAPI/Swagger
- Points de terminaison des sessions et associations PFCP
- Règles de Détection de Paquets (PDR) - IPv4 et IPv6
- Règles d'Action de Transfert (FAR)
- Règles d'Application de la QoS (QER)
- Règles de Rapport d'Utilisation (URR)
- Gestion des tampons de paquets
- Statistiques et points de terminaison de surveillance
- Gestion des routes et intégration FRR
- Informations sur les cartes eBPF
- Gestion de la configuration
- Directives d'authentification et de sécurité
- Flux de travail API courants et exemples
Guide de Gestion des Routes UE
Intégration de routage FRR incluant :
- Vue d'ensemble et architecture de FRR (Free Range Routing)
- Cycle de vie de synchronisation des routes UE
- Synchronisation automatique des routes vers le démon de routage
- Annonce de routes via OSPF et BGP
- Surveillance des voisins OSPF
- Vérification de la base de données LSA externe OSPF
- Gestion de session de pair BGP
- Interface de surveillance des routes dans l'interface Web
- Opérations de synchronisation manuelle des routes
- Diagrammes Mermaid pour le flux de routes et l'architecture
Guide de Dépannage
Diagnostic complet des problèmes incluant :
- Liste de contrôle de diagnostic rapide et outils
- Problèmes d'installation et de configuration
- Échecs d'association PFCP
- Problèmes de traitement des paquets
- Erreurs XDP et eBPF
- Dégradation de performance
- Problèmes spécifiques aux hyperviseurs (Proxmox, VMware, VirtualBox)
- Problèmes de NIC et de pilotes
- Procédures de résolution étape par étape
Documentation par Cas d'Utilisation
Installer et Configurer OmniUPF
- Commencer par ce guide pour l'aperçu
- Guide de Configuration pour les paramètres de configuration
- Guide de l'Interface Web pour accéder au panneau de contrôle
Déployer sur Proxmox
- Guide de Configuration - Compatibilité avec les Hyperviseurs
- Guide de Configuration - Configuration SR-IOV Proxmox
- Dépannage - Problèmes Proxmox
Optimiser la Performance
- Guide d'Architecture - Optimisation de la Performance
- Guide de Configuration - Modes XDP
- Guide de Surveillance - Métriques de Performance
- Dépannage - Problèmes de Performance
Comprendre le Traitement des Paquets
- Guide d'Architecture - Pipeline de Traitement des Paquets
- Guide de Gestion des Règles
- Guide de Surveillance - Statistiques
Planifier la Capacité
- Guide de Configuration - Dimensionnement des Cartes
- Guide de Surveillance - Planification de Capacité
- Guide de Surveillance - Estimation de Capacité de Session
Gérer les Routes UE et Intégration FRR
- Guide de Gestion des Routes UE - Guide complet d'intégration de routage
- Documentation API - Gestion des Routes - Points de terminaison API pour les routes
- Guide de l'Interface Web - Opérations de la page des routes
- Gestion des Routes UE - Vérification FRR - Vérification des LSA OSPF
Utiliser l'API REST
- Documentation API - Référence complète de l'API
- Documentation API - Interface Swagger - Explorateur API interactif
- Documentation API - Flux de Travail Communs - Exemples d'utilisation de l'API
- Guide de l'Interface Web - Exemple d'interface Web en tant que client API
Dépanner les Problèmes
- Guide de Dépannage - Commencer ici
- Guide de Surveillance - Vérifier les statistiques et la capacité
- Guide de l'Interface Web - Utiliser le diagnostic du panneau de contrôle
Référence Rapide
Points de Terminaison API Communs
OmniUPF fournit une API REST pour la surveillance et la gestion :
# État et santé
GET http://localhost:8080/api/v1/upf_status
# Associations PFCP
GET http://localhost:8080/api/v1/upf_pipeline
# Sessions
GET http://localhost:8080/api/v1/sessions
# Statistiques
GET http://localhost:8080/api/v1/packet_stats
GET http://localhost:8080/api/v1/xdp_stats
# Surveillance de la capacité
GET http://localhost:8080/api/v1/map_info
# Statistiques de tampon
GET http://localhost:8080/api/v1/upf_buffer_info
Pour la documentation complète de l'API, accédez à l'interface Swagger à http://<upf-ip>:8080/swagger/index.html
Paramètres de Configuration Essentiels
# Interfaces réseau
interface_name: [eth0] # Interfaces pour le trafic N3/N6/N9
xdp_attach_mode: native # générique|natif|déchargement
n3_address: 10.100.50.233 # Adresse IP de l'interface N3
pfcp_address: :8805 # Adresse d'écoute PFCP
pfcp_node_id: 10.100.50.241 # ID de Nœud PFCP
# Capacité
max_sessions: 100000 # Maximum de sessions concurrentes
# API et surveillance
api_address: :8080 # Port de l'API REST
metrics_address: :9090 # Port des métriques Prometheus
Seuils de Surveillance Importants
- Capacité de la Carte eBPF < 70% : Fonctionnement normal
- Capacité de la Carte eBPF 70-90% : Planifier une augmentation de capacité dans la semaine
- Capacité de la Carte eBPF > 90% : Crit