Aller au contenu principal

Guide des Opérations OmniUPF

Table des Matières​

  1. Aperçu
  2. Comprendre l'Architecture du Plan Utilisateur 5G
  3. Composants UPF
  4. Protocole PFCP et Intégration SMF
  5. Opérations Courantes
  6. Dépannage
  7. Documentation Supplémentaire
  8. 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, l'application de la QoS et la 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 des 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é sur des filtres de paquets et des règles
  • Rapport 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é de la fonctionnalité UPF définie 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 Flux de Données de Service (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 des paquets sans copie via eBPF
  • Transfert de paquets au niveau du noyau (sans surcharge de l'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.

Comprendre l'Architecture du Plan Utilisateur​

OmniUPF est une solution unifiée de plan utilisateur 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 (Passerelle de Données Utilisateur) - passerelle EPC 4G vers des réseaux externes (contrôlé par OmniPGW-C via Sxc/PFCP)
  • SGW-U (Passerelle de Service Utilisateur) - 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 5G pur
  • 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 trouve dans le 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 et services de données.


Architecture du Réseau 4G LTE/EPC​

OmniUPF prend également en charge les déploiements 4G LTE et EPC (Evolved Packet Core), fonctionnant soit comme OmniPGW-U soit comme 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 séparées.

Mode Séparé SGW-U et PGW-U (Roaming/Multi-Site)​

Dans les déploiements de roaming ou multi-site, deux instances séparées d'OmniUPF 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 :

  1. É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
  2. 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 l'interface 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 supprimé, paquets transférés vers l'interface N6 (5G) ou SGi (4G)
    • URR suit les comptes de paquets et d'octets pour la facturation
  3. Traitement des Paquets Descendants (Réseau de Données → UE)

    • 5G : Les paquets arrivent sur l'interface N6 comme IP native
    • 4G : Les paquets arrivent sur l'interface SGi comme 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 classifier davantage le trafic par port, protocole ou application
    • FAR détermine le tunnel GTP-U et les paramètres de transfert
    • Encapsulation GTP-U ajoutée avec le TEID approprié
    • 5G : Paquets transférés vers l'interface N3 vers gNB
    • 4G : Paquets transférés vers S1-U (SGW-U) ou S5/S8 (PGW-U) vers eNodeB
  4. Mobilité et Transfert

    • 5G : OmniSMF met à jour les règles PDR/FAR pendant les scénarios de transfert
    • 4G : OmniSGW-C/OmniPGW-C met à jour les règles pendant le transfert inter-eNodeB ou TAU (Mise à Jour de Zone de Suivi)
    • Le plan utilisateur peut mettre en mémoire tampon les paquets pendant le 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​

InterfaceDe → ÀButSpécification 3GPP
N4OmniSMF ↔ OmniUPFÉtablissement, modification, suppression de session PFCPTS 29.244
N3gNB → OmniUPFTrafic de plan utilisateur depuis RAN (GTP-U)TS 29.281
N6OmniUPF → Réseau de DonnéesTrafic de plan utilisateur vers DN (IP native)TS 23.501
N9OmniUPF ↔ OmniUPFCommunication inter-UPF pour roaming/edgeTS 23.501

Interfaces 4G/EPC​

InterfaceDe → ÀButSpécification 3GPP
SxbOmniSGW-C ↔ OmniUPF (mode SGW-U)Contrôle de session PFCP pour la passerelle de serviceTS 29.244
SxcOmniPGW-C ↔ OmniUPF (mode PGW-U)Contrôle de session PFCP pour la passerelle PDNTS 29.244
S1-UeNodeB → OmniUPF (mode SGW-U)Trafic de plan utilisateur depuis RAN (GTP-U)TS 29.281
S5/S8OmniUPF (SGW-U) ↔ OmniUPF (PGW-U)Plan utilisateur inter-passerelle (GTP-U)TS 29.281
SGiOmniUPF (mode PGW-U) → PDNTrafic 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 la TS 29.244. Les noms des interfaces diffèrent mais le protocole et les formats de message sont identiques.

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 par 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 CarteButCléValeur
uplink_pdr_mapPDRs MontantsTEID (32 bits)Infos PDR (ID FAR, ID QER, IDs URR)
downlink_pdr_mapPDRs Descendants (IPv4)Adresse IP de l'UEInfos PDR
downlink_pdr_map_ip6PDRs Descendants (IPv6)Adresse IPv6 de l'UEInfos PDR
far_mapRègles de TransfertID FARParamètres de transfert (action, infos de tunnel)
qer_mapRègles de QoSID QERParamètres de QoS (MBR, GBR, marquage)
urr_mapSuivi de l'UtilisationID URRCompteurs de volume (montant, descendant, total)
sdf_filter_mapFiltres SDFID PDRFiltres d'application (ports, protocoles)

Caractéristiques de Performance :

  • Sans copie : Paquets traités entièrement dans l'espace noyau
  • Support XDP : Attacher au niveau du pilote réseau pour une latence sub-microseconde
  • Multi-cœurs : Évolue à travers les cœurs CPU avec support de carte par CPU
  • Capacité : Millions de PDRs/FARs dans les cartes eBPF (limité 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 des Associations : Cœur de PFCP et mise en place/libération d'association
  • Cycle de Vie de Session : Créer, modifier et supprimer des sessions PFCP
  • Installation de Règles : Traduire les IEs 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 MessageDirectionBut
Établissement d'AssociationSMF → UPFÉtablir l'association de contrôle PFCP
Libération d'AssociationSMF → UPFDétruire l'association PFCP
Cœur de PFCPBidirectionnelMaintenir l'association active
Établissement de SessionSMF → UPFCréer une nouvelle session PDU avec PDR/FAR/QER/URR
Modification de SessionSMF → UPFMettre à jour les règles pour la mobilité, les changements de QoS
Suppression de SessionSMF → UPFSupprimer la session et toutes les règles associées
Rapport de SessionUPF → SMFRapporter l'utilisation, les erreurs ou les é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)

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égoriePoints de TerminaisonDescription
Santé/healthVérification de la santé et statut
Configuration/configConfiguration de l'UPF
Sessions/pfcp_sessions, /pfcp_associationsDonnées de session/association PFCP
PDRs/uplink_pdr_map, /downlink_pdr_map, /downlink_pdr_map_ip6, /uplink_pdr_map_ip6Règles de détection de paquets
FARs/far_mapRègles d'action de transfert
QERs/qer_mapRègles d'application de la QoS
URRs/urr_mapRègles de rapport d'utilisation
Tampons/bufferÉtat et contrôle des tampons de paquets
Statistiques/packet_stats, /route_stats, /xdp_stats, /n3n6_statsMétriques de performance
Capacité/map_infoCapacité et utilisation de la carte eBPF
Plan de Données/dataplane_configAdresses des interfaces N3/N9

Pour des détails sur l'API et son utilisation, voir 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 de l'UE, TEID et comptes de règles
  • Gestion des Règles : Voir et gérer les PDRs, FARs, QERs et URRs à 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 Statistiques : Statistiques en temps réel des paquets, des routes, XDP et des interfaces N3/N6
  • Surveillance de la Capacité : Utilisation de la carte 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'UI, 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.


Détection de Redémarrage SMF et Nettoyage des Sessions Orphelines​

OmniUPF détecte automatiquement quand un SMF redémarre et nettoie les sessions orphelines selon les spécifications de la 3GPP TS 29.244.

Comment Cela Fonctionne :

Lorsqu'un SMF établit une association PFCP, il fournit un Horodatage de Récupération indiquant quand il a démarré. OmniUPF stocke cet horodatage pour chaque association. Si le SMF redémarre :

  1. Le SMF perd tout l'état de session en mémoire
  2. Le SMF rétablit l'association PFCP avec l'UPF
  3. Le SMF envoie un nouvel Horodatage de Récupération (différent de l'avant)
  4. L'UPF détecte le changement d'horodatage = SMF redémarré
  5. L'UPF supprime automatiquement toutes les sessions orphelines de l'ancienne instance SMF
  6. Le SMF crée de nouvelles sessions pour les abonnés actifs

Flux de Détection de Redémarrage :

Exemple de Journal :

Lorsqu'un SMF redémarre, vous verrez :

WARN: L'association avec NodeID: smf-1 et adresse: 192.168.1.10 existe déjà
WARN: L'Horodatage de Récupération du SMF a changé (ancien : 2025-01-15T10:00:00Z, nouveau : 2025-01-15T10:30:15Z) - SMF redémarré, suppression de 245 sessions orphelines
INFO: Suppression de la session orpheline 2 (LocalSEID) en raison du redémarrage du SMF
INFO: Suppression de la session orpheline 3 (LocalSEID) en raison du redémarrage du SMF
...
INFO: Suppression de la session orpheline 246 (LocalSEID) en raison du redémarrage du SMF

Remarques Importantes :

  1. Isolation : Seules les sessions du SMF redémarré sont supprimées. Les autres associations de SMF et leurs sessions ne sont pas affectées.

  2. Comparaison des Horodatages : Si l'Horodatage de Récupération est identique, les sessions sont conservées (SMF reconnecté sans redémarrage).

  3. Conformité 3GPP : Ce comportement est imposé par la section 5.22.2 de la norme 3GPP TS 29.244 :

    "Si l'Horodatage de Récupération de la fonction CP a changé depuis la dernière configuration d'association, la fonction UP doit considérer que la fonction CP a redémarré et doit supprimer toutes les sessions PFCP associées à cette fonction CP."

Pour le dépannage des sessions orphelines, consultez le Guide de Dépannage.


Gestion des Indications d'Erreur GTP-U​

OmniUPF gère les messages d'Indication d'Erreur GTP-U des pairs en aval (PGW-U, SGW-U, eNodeB, gNodeB) conformément aux spécifications de la norme 3GPP TS 29.281.

Qu'est-ce que les Indications d'Erreur :

Lorsque OmniUPF transmet un paquet GTP-U à un pair distant (par exemple, PGW-U dans un déploiement SGW-U), le pair peut renvoyer une Indication d'Erreur s'il ne reconnaît pas le TEID (Identifiant de Point de Terminaison de Tunnel). Cela indique :

  • Le pair distant a redémarré et a perdu l'état du tunnel
  • Le tunnel n'a jamais été créé du côté distant (incompatibilité de configuration)
  • Le tunnel a déjà été supprimé du côté distant

Comment ça marche :

  1. UPF transmet le paquet → Envoie le paquet GTP-U avec TEID X au pair distant (port 2152)
  2. Le pair distant ne reconnaît pas le TEID X → Recherche le TEID dans sa table de tunnels, non trouvé
  3. Le pair distant envoie une Indication d'Erreur → Message GTP-U de type 26 avec IE contenant le TEID erroné
  4. UPF reçoit l'Indication d'Erreur → Analyse le message pour extraire le TEID X
  5. UPF trouve les sessions affectées → Recherche toutes les sessions pour les FARs transférant vers le TEID X
  6. UPF supprime les sessions → Supprime les sessions des cartes eBPF et de l'état PFCP
  7. UPF met à jour les métriques → Incrémente les compteurs Prometheus pour le suivi

Flux d'Indication d'Erreur :

Format du Paquet (section 7.3.1 de la norme 3GPP TS 29.281) :

Indication d'Erreur GTP-U :
┌─────────────────────────────────────────┐
│ En-tête GTP-U (12 octets) │
├─────────────────────────────────────────┤
│ Version, PT, Drapeaux │ 0x32 │
│ Type de Message │ 26 (0x1A) │
│ Longueur │ 9 octets │
│ TEID │ 0 (toujours) │
│ Numéro de Séquence │ varie │
│ Numéro N-PDU │ 0 │
│ Prochain En-tête d'Extension│ 0 │
├─────────────────────────────────────────┤
│ IE : Données TEID I (5 octets) │
├─────────────────────────────────────────┤
│ Type │ 16 (0x10) │
│ TEID erroné │ 4 octets │
└─────────────────────────────────────────┘

Quand cela a de l'importance :

Scénario 1 : Redémarrage de PGW-U dans l'architecture GTP S5/S8

  • SGW-U (OmniUPF) transfère le trafic S5/S8 vers PGW-U
  • PGW-U redémarre et perd tout l'état du tunnel S5/S8
  • SGW-U continue de transférer vers les anciens TEIDs
  • PGW-U envoie des Indications d'Erreur
  • SGW-U arrête automatiquement d'utiliser les tunnels morts

Scénario 2 : Redémarrage du pair UPF dans l'architecture N9

  • UPF-1 (OmniUPF) transfère le trafic N9 vers UPF-2
  • UPF-2 redémarre
  • UPF-1 reçoit des Indications d'Erreur
  • UPF-1 nettoie les sessions

Exemple de Journal :

Lors de la réception d'une Indication d'Erreur :

WARN: Received GTP-U Error Indication from 192.168.50.10:2152 for TEID 0x12345678 - remote peer doesn't recognize this TEID
WARN: Found session LocalSEID=42 with FAR GlobalId=1 forwarding to erroneous TEID 0x12345678 from peer 192.168.50.10
INFO: Deleting session LocalSEID=42 due to GTP-U Error Indication for TEID 0x12345678 from 192.168.50.10
WARN: Deleted 1 session(s) due to GTP-U Error Indication for TEID 0x12345678 from peer 192.168.50.10

Métriques Prometheus :

Surveillez l'activité des Indications d'Erreur avec une granularité par pair et par nœud :

# Total des Indications d'Erreur reçues des pairs
upf_buffer_listener_error_indications_received_total{node_id="pgw-u-1",peer_address="192.168.50.10"}

# Sessions supprimées en raison des Indications d'Erreur
upf_buffer_listener_error_indication_sessions_deleted_total{node_id="pgw-u-1",peer_address="192.168.50.10"}

# Indications d'Erreur envoyées (pour des TEIDs entrants inconnus)
upf_buffer_listener_error_indications_sent_total{node_id="enodeb-1",peer_address="10.60.0.1"}

Étiquettes de Métriques :

  • node_id : ID de nœud PFCP de l'association (ou "inconnu" si aucune association n'existe)
  • peer_address : adresse IP du pair distant

Ces métriques aident à identifier les pairs problématiques et à suivre les modèles d'Indication d'Erreur par nœud de plan de contrôle.

Remarques Importantes :

  1. Nettoyage Automatique : Pas besoin d'intervention de l'opérateur - les sessions sont supprimées automatiquement

  2. Correspondance de TEID : Seules les sessions avec des FARs transférant vers le TEID erroné exact sont supprimées

  3. Isolation par Pair : Les Indications d'Erreur d'un pair n'affectent que les sessions transférant vers ce pair

  4. Multiples Sessions : Si plusieurs sessions transfèrent vers le même TEID mort, toutes sont supprimées

  5. Complémentaire à l'Horodatage de Récupération :

    • Détection de l'Horodatage de Récupération = proactif (détecte le redémarrage lors de la configuration de l'association)
    • Gestion des Indications d'Erreur = réactif (détecte les tunnels morts lorsque le trafic circule)
  6. Gestion des Paquets Malformés : Les Indications d'Erreur invalides sont enregistrées et ignorées (aucune session supprimée)

Pour le dépannage des Indications d'Erreur, consultez le Guide de Dépannage.


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 au niveau de l'UPF.

Flux d'Établissement de Session :

Contenu Typique de la Session :

  • PDR en amont : Correspondre sur le TEID N3, transférer via FAR vers N6
  • PDR en aval : 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)

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 :

  1. Transfert (basé sur N2)

    • Mettre à jour le FAR en amont avec le nouveau point de terminaison de tunnel gNB (F-TEID)
    • Optionnellement, mettre en mémoire tampon les paquets pendant le changement de chemin
    • Vider le tampon vers le nouveau chemin lorsque prêt
  2. 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
  3. 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, consultez le Guide de Gestion des Règles.


Suppression de Session PFCP​

Lorsqu'une session PDU est libérée, le SMF supprime la session PFCP au niveau de l'UPF.

Flux de Suppression de Session :

Nettoyage Effectué :

  • Tous les PDR supprimés (amont et aval)
  • Tous les FAR, QER, URR supprimés
  • Tampons de paquets effacé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​

Comprendre les Sessions PFCP :

Les sessions PFCP représentent les sessions PDU actives de l'UE (5G) ou les 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 sur les Sessions :

  • Voir toutes les sessions avec 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, consultez Vue des Sessions.


Gestion des Règles​

Règles de Détection de Paquets (PDR) :

Les PDR déterminent quels paquets correspondent à des flux de trafic spécifiques. Les opérateurs peuvent :

  • Voir les PDRs en amont indexés par TEID de l'interface N3
  • Voir les PDRs en aval 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 FAR définissent quoi faire avec les paquets correspondants. Les opérateurs peuvent :

  • Voir les actions FAR (TRANSFÉRER, SUPPRIMER, 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 QER appliquent des limites de bande passante et un marquage de paquets. Les opérateurs peuvent :

  • Voir les paramètres de QoS (MBR, GBR, budget de délai de paquet)
  • Surveiller les QERs actifs par session
  • Inspecter les marquages QFI pour les flux 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 (amont, aval, total des octets)
  • Surveiller les seuils d'utilisation et les déclencheurs de rapport
  • Inspecter les URRs actifs à travers toutes les sessions

Pour les opérations sur les règles, consultez le 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 subiraient 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 les 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 existe 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, provoquant :

  • 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 échouent)
  • Des sessions de jeu qui se déconnectent (jeux en ligne, applications en temps réel échouent)
  • Des appels VoIP qui ont des interruptions ou se coupent complètement (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)

Lorsque l'UE se déplace entre les tours cellulaires :

Chronologie :

  • T+0ms : Ancien chemin toujours actif
  • T+10ms : SMF dit à 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 à UPF de transférer
  • T+50ms+ : 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 sans interruption.


2. Modification de Session (Changement de QoS, Mise à Jour de Chemin)

Lorsque le réseau doit changer les paramètres de session :

  • Amélioration/diminution de la QoS : L'utilisateur passe de la couverture 4G à 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)

Lorsque l'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)

Lorsque l'UE se déplace entre la couverture 4G et 5G :

  • Changements d'architecture (eNodeB ↔ gNB)
  • Changements de points de terminaison de tunnel (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 en deux étapes :

  1. Étape eBPF (Noyau) : Détecte les paquets nécessitant une mise en mémoire tampon en fonction des drapeaux d'action FAR
  2. Étape Userspace : 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 à userspace)
  • Encapsulation : Paquets enveloppés dans GTP-U avec ID FAR comme TEID
  • Stockage : Tampons en mémoire par FAR avec des métadonnées (horodatage, direction, taille du 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 le TTL sont supprimés
  • Nettoyage : Un processus en arrière-plan supprime les paquets expirés toutes les 60 secondes

Cycle de Vie du Tampon :

  1. Mise en Mémoire Tampon Activée : SMF définit l'action FAR BUFF=1 (bit 2) via la Modification de Session PFCP
  2. Paquets Mis en Mémoire Tampon : eBPF détecte le drapeau BUFF, encapsule les paquets, envoie au port 22152
  3. Stockage Userspace : Le gestionnaire de tampon stocke les paquets avec ID FAR, horodatage, direction
  4. 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
  5. Vider le Tampon : Userspace rejoue les paquets mis en mémoire tampon en utilisant les nouvelles règles FAR (nouveau point de terminaison de tunnel)
  6. 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énarioSans Mise en Mémoire TamponAvec Mise en Mémoire Tampon
Appel Vidéo Pendant le TransfertL'appel se fige pendant 1 à 2 secondes, peut se couperSans interruption, fluide
Téléchargement de Fichier à la Limite CellulaireLe téléchargement échoue, doit redémarrerLe téléchargement continue sans interruption
Jeu en Ligne en Se DéplaçantLa connexion se coupe, déconnexion du jeuJeu fluide, pas de déconnexions
Appel VoIP dans la VoitureL'appel se coupe à chaque transfertClair, sans coupures
Vidéo en Streaming dans un TrainLa vidéo se met en mémoire tampon, la qualité baisseLecture fluide
Point d'Accès Mobile pour Ordinateur PortableLa session SSH se coupe, l'appel vidéo échoueToutes les connexions maintenues

Avantages pour les Opérateurs de Réseau :

  • Taux de Chute 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 perdues
  • Avantage Concurrentiel : Marketing "Meilleur réseau pour la couverture"

Opérations de Gestion de Tampon​

Les opérateurs peuvent surveiller et contrôler le tampon via l'interface Web et l'API :

Surveillance :

  • Voir les paquets mis en tampon par ID FAR (nombre, octets, âge)
  • Suivre l'utilisation du tampon par rapport aux limites (par FAR, global)
  • Alerte sur le débordement de tampon ou la durée de tampon excessive
  • Identifier les tampons bloqués (paquets mis en tampon > seuil TTL)

Opérations de Contrôle :

  • Vider les tampons : Déclencher manuellement la lecture du tampon (dépannage)
  • Effacer les tampons : Jeter les paquets mis en tampon (nettoyer les tampons bloqués)
  • Ajuster TTL : Modifier le temps d'expiration des paquets
  • Modifier les limites : Augmenter la capacité du tampon par FAR ou global

Dépannage :

  • Tampon ne se vidant pas : Vérifiez si le SMF a envoyé une mise à jour FAR pour désactiver le tampon
  • Débordement de tampon : Augmenter les limites ou enquêter sur la raison pour laquelle la durée de tampon est excessive
  • Anciens paquets dans le tampon : Le TTL peut être trop élevé, ou la mise à jour FAR retardée
  • Tampon excessif : Peut indiquer des problèmes de mobilité ou des problèmes de SMF

Pour des opérations de tampon détaillées, voir Guide de Gestion de Tampon.


Configuration de Tampon​

Configurer le comportement de tampon dans /etc/omniupf/runtime.exs :

# Paramètres de tampon
buffer_port = 22152 # Port UDP pour les paquets mis en tampon (par défaut)

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 les options de configuration complètes, voir Guide de Configuration.


Statistiques et Surveillance​

Statistiques de Paquets :

Métriques de traitement des paquets en temps réel, y compris :

  • Paquets RX : Total reçu de toutes les interfaces
  • Paquets TX : Total transmis à toutes les interfaces
  • Paquets perdus : Paquets rejetés en raison d'erreurs ou de politiques
  • Paquets GTP-U : Comptage des paquets encapsulés

Statistiques de Route :

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 chemin de données eXpress :

  • XDP traité : Paquets gérés au niveau XDP
  • XDP passé : Paquets envoyés à la pile réseau
  • XDP rejeté : Paquets rejetés au niveau XDP
  • XDP avorté : Erreurs de traitement

Statistiques de l'Interface 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 totaux de paquets : Statistiques agrégées par interface

Pour des détails de surveillance, voir Guide de Surveillance.


Gestion de Capacité​

Surveillance de la Capacité de la Carte eBPF :

La performance du UPF dépend de la capacité de la carte eBPF. Les opérateurs peuvent :

  • Surveiller l'utilisation de la carte 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%) : Précaution
    • Ambre (70-90%) : Avertissement
    • Rouge (>90%) : Critique

Cartes Critiques à Surveiller :

  • uplink_pdr_map : Classification du trafic montante
  • downlink_pdr_map : Classification du trafic IPv4 descendante
  • far_map : Règles de transfert
  • qer_map : Règles de QoS
  • urr_map : Suivi d'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 du 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 Capacité.


Gestion de Configuration​

Configuration du UPF :

Voir et vérifier les paramètres opérationnels du UPF :

  • Interface N3 : Adresse IP pour la connectivité RAN (GTP-U)
  • Interface N6 : Adresse IP pour la connectivité au 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 de l'interface N3 en temps réel
  • Adresse N9 active : Liaison de l'interface N9 en temps réel (si activée)

Pour voir 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 :

  1. Association PFCP Non Établie

    • Vérifiez que le SMF peut atteindre l'interface PFCP du UPF (port 8805)
    • Vérifiez l'état de l'association PFCP dans la vue des Sessions
    • Vérifiez que la configuration de l'ID de nœud correspond entre le SMF et le UPF
  2. Capacité de Carte eBPF Épuisée

    • Vérifiez la vue de Capacité pour une utilisation de carte rouge (>90%)
    • Augmentez les tailles de carte eBPF dans la configuration du UPF
    • Supprimez les sessions obsolètes si la carte est pleine
  3. Configuration PDR/FAR Invalide

    • Vérifiez que l'adresse IP de l'UE est unique et valide
    • Vérifiez que l'allocation TEID ne crée pas de conflit
    • Assurez-vous que le FAR fait référence à des instances réseau valides
  4. Problèmes de Configuration d'Interface

    • Vérifiez que l'IP de l'interface N3 est accessible depuis le gNB
    • Vérifiez les tables de routage pour la connectivité N6 au réseau de données
    • Confirmez 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 subit une perte de paquets ou aucun flux de trafic

Causes Racines Courantes :

  1. Mauvaise Configuration de PDR

    • Vérifiez que le TEID PDR montante correspond au TEID assigné par le gNB
    • Vérifiez que le PDR descendante IP de l'UE correspond à l'IP assignée
    • Inspectez les filtres SDF pour des règles trop restrictives
  2. Problèmes d'Action FAR

    • Vérifiez que l'action FAR est FORWARD (pas DROP ou BUFFER)
    • Vérifiez les paramètres de création d'en-tête extérieur pour GTP-U
    • Assurez-vous que le point de terminaison de destination est correct
  3. Limites de QoS Dépassées

    • Vérifiez les paramètres MBR (Débit Maximum) du QER
    • Vérifiez l'allocation GBR (Débit Garanti)
    • Surveillez les pertes de paquets dues à la limitation de débit
  4. Problèmes de MTU d'Interface

    • Vérifiez que le surcoût GTP-U (40-50 octets) ne provoque pas de fragmentation
    • Vérifiez la configuration MTU des interfaces N3/N6
    • Surveillez les messages ICMP indiquant que la fragmentation est nécessaire

Problèmes Liés au Tampon​

Symptômes : Paquets mis en tampon indéfiniment, débordement de tampon

Causes Racines Courantes :

  1. Tampon Non Désactivé Après Transfert

    • Vérifiez le drapeau de tampon FAR (bit 2)
    • Vérifiez que le SMF a envoyé une Modification de Session pour désactiver le tampon
    • Désactivez manuellement le tampon via le panneau de contrôle si bloqué
  2. Expiration du TTL du Tampon

    • Vérifiez l'âge des paquets dans la vue du tampon
    • Vérifiez la configuration TTL du tampon (par défaut peut être trop long)
    • Effacez manuellement les tampons expirés
  3. Capacité du Tampon Épuisée

    • Surveillez l'utilisation totale du tampon et les limites par FAR
    • Vérifiez les règles mal configurées provoquant un tampon excessif
    • Ajustez les limites max_per_far et max_total du tampon

Pour le dépannage du tampon, voir Opérations de Tampon.


Anomalies Statistiques​

Symptômes : Compteurs de paquets inattendus, statistiques manquantes

Causes Racines Courantes :

  1. Débordement de Compteur

    • Les cartes eBPF utilisent des compteurs 64 bits (ne devraient pas déborder)
    • Vérifiez les événements de réinitialisation de compteur dans les journaux
    • Vérifiez que le rapport URR fonctionne
  2. Statistiques de Route Non Mises à Jour

    • Vérifiez que le programme eBPF est attaché aux interfaces
    • Vérifiez que la version du noyau prend en charge les fonctionnalités eBPF requises
    • Passez en revue les statistiques XDP pour des erreurs de traitement
  3. Mésentente des Statistiques d'Interface

    • Comparez les statistiques N3/N6 avec les compteurs d'interface du noyau
    • Vérifiez le trafic contournant eBPF (par exemple, routage local)
    • Vérifiez 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 :

  1. Surveillez les Statistiques XDP : Vérifiez les rejets ou avortements XDP
  2. Vérifiez le Temps d'Accès à la Carte eBPF : Les recherches par hachage devraient être sub-microsecondes
  3. Passez en Revue l'Utilisation du CPU : eBPF devrait se répartir sur les cœurs
  4. Analysez l'Interface Réseau : Vérifiez 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 : Des millions de PDRs limités uniquement par la mémoire du noyau
  • Nombre de Sessions : Des milliers de sessions simultanées par instance UPF
  • Débit : Débit multi-gigabit avec un déchargement NIC approprié

Pour l'optimisation des performances, 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 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)
  • Vue d'ensemble des modes d'attachement XDP
  • 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 des Modes XDP​

Configuration et optimisation détaillées de XDP incluant :

  • Modes d'attachement XDP expliqués (générique/natif/déchargement)
  • Comparaison de performance et benchmarks
  • Configuration pas à pas de XDP natif sur Proxmox VE
  • Configuration multi-queue pour une performance optimale
  • Configuration XDP sur VMware ESXi, KVM et Hyper-V
  • Vérification et dépannage de XDP
  • Sélection de matériel pour la performance XDP

Guide d'Architecture​

Plongée technique approfondie incluant :

  • Fondement technologique eBPF et cycle de vie du programme
  • Pipeline de traitement des paquets XDP avec appels de queue
  • Mise en œuvre du protocole PFCP
  • Architecture de tampon (encapsulation GTP-U au port 22152)
  • Limitation de débit par fenêtre glissante QoS (fenêtre de 5ms)
  • 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 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 montants et descendants
  • 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/rejeter/rediriger/avorter)
  • Surveillance de la capacité de carte 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 des sessions
  • Seuils d'alerte et meilleures pratiques

Guide des Opérations 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/malades)
  • Inspection des règles (détails PDR, FAR, QER, URR)
  • Surveillance du tampon et état de mise en tampon des paquets
  • Tableau de bord des statistiques en temps réel
  • Visualisation de la capacité de carte eBPF
  • Vue de configuration

Documentation API​

Référence complète de l'API REST incluant :

  • Documentation interactive OpenAPI/Swagger
  • Pagination de l'API (basée sur les pages et basée sur les décalages)
  • 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 QoS (QER)
  • Règles de Rapport d'Utilisation (URR)
  • Gestion des tampons de paquets
  • Points de terminaison de statistiques et 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

Référence des Métriques​

Documentation des métriques Prometheus incluant :

  • Métriques de messages PFCP (compteurs, latence, erreurs par pair)
  • Métriques d'action XDP (verdicts du plan de données)
  • Métriques de paquets (compteurs au niveau du protocole avec étiquettes packet_type)
  • Métriques de session et d'association PFCP (par nœud de plan de contrôle)
  • Métriques URR (volume de trafic par pair PFCP)
  • Métriques de mise en tampon de paquets (état du tampon, capacité, débit)
  • Métriques de notification de Rapport de Données Descendantes (DLDR)
  • Métriques de capacité de carte eBPF (utilisation des ressources)
  • Exemples de configuration Prometheus
  • Recommandations de tableau de bord Grafana

Référence des Codes de Cause PFCP​

Documentation des codes d'erreur PFCP incluant :

  • Définitions des codes de cause et conformité 3GPP (TS 129.244)
  • Quand chaque code de cause se produit (succès, erreurs client, erreurs serveur)
  • Scénarios d'échec courants avec résolutions
  • Dépannage avec des métriques Prometheus
  • Échecs de configuration d'association et de cycle de vie de session
  • Étapes de débogage pour des taux de rejet élevés
  • Recommandations d'alerte pour les codes de cause

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 de l'interface Web
  • Opérations de synchronisation manuelle des routes
  • Diagrammes Mermaid pour le flux de routes et l'architecture

Guide IPv6 / Dual-Stack​

Fonctionnement IPv6 du plan utilisateur pour les sessions PDN IPv6 et IPv4v6 :

  • Prérequis du noyau (activation et transfert IPv6)
  • Configuration du pool d'adresses IPv6 de l'UE
  • Annonce OSPFv3 des routes hôtes UE /128
  • Comportement du plan de données IPv6 descendant/montant
  • Dépannage de la transmission IPv6 et de l'annonce de route

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​

Installation et Configuration d'OmniUPF​

  1. Commencez par ce guide pour un aperçu
  2. Guide de Configuration pour les paramètres de configuration
  3. Guide de l'Interface Web pour accéder au panneau de contrôle

Déploiement sur Proxmox​

  1. Guide des Modes XDP - Configuration XDP Natif sur Proxmox - Commencez ici pour la performance
  2. Guide de Configuration - Compatibilité avec les Hyperviseurs
  3. Guide de Configuration - Configuration SR-IOV sur Proxmox
  4. Dépannage - Problèmes Proxmox

Optimisation de la Performance​

  1. Guide des Modes XDP - Activez XDP natif pour un boost de performance de 5 à 10x
  2. Guide d'Architecture - Optimisation de Performance
  3. Guide de Configuration - Modes XDP
  4. Guide de Surveillance - Métriques de Performance
  5. Dépannage - Problèmes de Performance

Comprendre le Traitement des Paquets​

  1. Guide d'Architecture - Pipeline de Traitement des Paquets
  2. Guide de Gestion des Règles
  3. Guide de Surveillance - Statistiques

Planification de Capacité​

  1. Guide de Configuration - Dimensionnement des Cartes
  2. Guide de Surveillance - Planification de Capacité
  3. Guide de Surveillance - Estimation de Capacité des Sessions

Gestion des Routes UE et Intégration FRR​

  1. Guide de Gestion des Routes UE - Guide complet d'intégration de routage
  2. Documentation API - Gestion des Routes - Points de terminaison API de routage
  3. Guide de l'Interface Web - Opérations de la page des routes
  4. Gestion des Routes UE - Vérification FRR - Vérification LSA OSPF

Utilisation de l'API REST​

  1. Documentation API - Référence API complète
  2. Documentation API - Swagger UI - Explorateur API interactif
  3. Documentation API - Fonctionnalités de l'API - Exemples d'utilisation de l'API
  4. Guide de l'Interface Web - Interface Web comme exemple de client API

Dépannage des Problèmes​

  1. Guide de Dépannage - Commencez ici
  2. Guide de Surveillance - Vérifiez les statistiques et la capacité
  3. Guide de l'Interface Web - Utilisez les diagnostics du panneau de contrôle

Référence Rapide​

Points de Terminaison API Courants​

OmniUPF fournit une API REST pour la surveillance et la gestion :

# Statut 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 capacité
GET http://localhost:8080/api/v1/map_info

# Statistiques de tampon
GET http://localhost:8080/api/v1/upf_buffer_info

Pour la documentation API complète, accédez à l'interface Swagger à http://<upf-ip>:8080/swagger/index.html

Paramètres de Configuration Essentiels​

# /etc/omniupf/runtime.exs
xdp_interfaces = "eth0" # Interfaces pour le trafic N3/N6/N9
xdp_attach_mode = "native" # "générique" | "natif" | "déchargement"
n3_address = "10.100.50.233" # IP de l'interface N3
pfcp_address = "10.100.50.241" # Adresse d'écoute PFCP
pfcp_port = 8805 # Port PFCP
node_id = "10.100.50.241" # ID de nœud PFCP

# Capacité
max_sessions = 100_000 # Maximum de sessions simultanées

# API
api_port = 8080 # Port de l'API REST

Seuils de Surveillance Importants​

  • Capacité de Carte eBPF < 70% : Fonctionnement normal
  • Capacité de Carte eBPF 70-90% : Planifiez une augmentation de capacité dans la semaine
  • Capacité de Carte eBPF > 90% : Critique - action immédiate requise
  • Taux de Perte de Paquets < 0.1% : Excellent
  • Taux de Perte de Paquets 0.1-1% : Bon - problèmes mineurs
  • Taux de Perte de Paquets > 5% : Critique - enquêtez immédiatement
  • XDP Avorté > 0 : Problème critique avec le programme eBPF

Référence des Normes 3GPP​

OmniUPF met en œuvre les spécifications 3GPP suivantes :

SpécificationTitrePertinence
TS 23.501Architecture système pour le Système 5G (5GS)Architecture et interfaces UPF 5G
TS 23.401Améliorations du Service de Paquet Général (GPRS) pour l'accès E-UTRANArchitecture UPF LTE (PGW-U)
TS 29.244Interface entre les nœuds de Plan de Contrôle et de Plan Utilisateur (PFCP)Protocole PFCP N4
TS 29.281Protocole de Tunnel de Système de Paquet Général (GTPv1-U)Encapsulation GTP-U
TS 23.503Cadre de contrôle de politique et de facturation pour le Système 5G (5GS)QoS et facturation
TS 29.212Contrôle de Politique et de Facturation (PCC)Application de QoS

Glossaire​

Termes de l'Architecture 5G​

  • 3GPP : 3rd Generation Partnership Project - Organe de normalisation pour les télécommunications mobiles
  • AMF : Fonction de Gestion d'Accès et de Mobilité - Élément du réseau central 5G pour le contrôle d'accès
  • CHF : Fonction de Facturation - Système de facturation 5G
  • DN : Réseau de Données - Réseau externe (Internet, IMS, entreprise)
  • eNodeB : Evolved Node B - Station de base LTE
  • F-TEID : Identifiant de Point de Tunnel Entièrement Qualifié - ID de tunnel GTP-U avec adresse IP
  • gNB : Next Generation Node B - Station de base 5G
  • GTP-U : Protocole de Tunnel de Système de Paquet Général - Protocole de tunneling pour les données utilisateur
  • MBR : Débit Maximum - Paramètre QoS pour la bande passante maximale autorisée
  • GBR : Débit Garanti - Paramètre QoS pour la bande passante minimale garantie
  • N3 : Interface entre RAN et UPF (trafic de plan utilisateur)
  • N4 : Interface entre SMF et UPF (contrôle PFCP)
  • N6 : Interface entre UPF et Réseau de Données (trafic de plan utilisateur)
  • N9 : Interface entre deux UPFs (trafic de plan utilisateur inter-UPF)
  • PCF : Fonction de Contrôle de Politique - Serveur de politique 5G
  • PDU : Unité de Données de Protocole - Session de données en 5G
  • PGW-C : Passerelle PDN Plan de Contrôle - Équivalent LTE du SMF
  • PGW-U : Passerelle PDN Plan Utilisateur - Plan utilisateur LTE (équivalent UPF)
  • QFI : Identifiant de Flux QoS - Marquage de flux QoS 5G
  • QoS : Qualité de Service - Priorisation du trafic et gestion de la bande passante
  • RAN : Réseau d'Accès Radio - Réseau de station de base (gNB/eNodeB)
  • SEID : Identifiant de Point de Session - ID de session PFCP
  • SMF : Fonction de Gestion de Session - Élément du réseau central 5G pour le contrôle de session
  • TEID : Identifiant de Point de Tunnel - ID de tunnel GTP-U
  • UE : Équipement Utilisateur - Dispositif mobile
  • UPF : Fonction de Plan Utilisateur - Élément de réseau de transfert de paquets 5G

Termes du protocole PFCP​

  • Association : Relation de contrôle entre SMF et UPF
  • FAR : Règle d'action de transfert - Détermine le comportement de transfert des paquets
  • IE : Élément d'information - Composant du message PFCP
  • Node ID : Identifiant de l'UPF ou du SMF (FQDN ou adresse IP)
  • PDR : Règle de détection de paquet - Classe les paquets en flux
  • PFCP : Protocole de contrôle de transfert de paquets - Protocole de contrôle N4
  • QER : Règle d'application de QoS - Applique des limites de bande passante et du marquage
  • SDF : Flux de données de service - Filtre de trafic spécifique à l'application
  • Session : Session PFCP représentant la session PDU de l'UE ou le contexte PDP
  • URR : Règle de rapport d'utilisation - Suit les volumes de données pour la facturation

Termes eBPF et noyau Linux​

  • BPF : Filtre de paquets Berkeley - Technologie de filtrage de paquets du noyau
  • eBPF : BPF étendu - Chemin de données du noyau programmable
  • Hash Map : Magasin de paires clé-valeur eBPF pour des recherches rapides
  • XDP : Chemin de données eXpress - Traitement de paquets du noyau au niveau du pilote
  • Verifier : Composant du noyau qui valide les programmes eBPF pour la sécurité
  • Map : Structure de données eBPF partagée entre le noyau et l'espace utilisateur
  • Zero-copy : Traitement de paquets sans copie vers l'espace utilisateur

Termes du produit OmniUPF​

  • OmniUPF : Fonction de plan utilisateur basée sur eBPF (ce produit)
  • Datapath : Moteur de traitement de paquets (programmes eBPF)
  • Control Plane : Gestionnaire PFCP et gestion des sessions
  • REST API : API HTTP pour la surveillance et la gestion
  • Web UI : Panneau de contrôle basé sur le navigateur