Guide des Opérations OmniPGW
OmniPGW - Passerelle de Données de Paquet Plan de Contrôle (PGW-C)
par Omnitouch Network Services
Table des Matières
- Aperçu
- Architecture
- Interfaces Réseau
- Concepts Clés
- Prise en Main
- Configuration
- Interface Web - Tableau de Bord des Opérations en Temps Réel
- Surveillance & Métriques
- Documentation Détailée
- Ressources Supplémentaires
Aperçu
OmniPGW est une implémentation de haute performance de la Passerelle de Données de Paquet Plan de Contrôle (PGW-C) pour les réseaux 3GPP LTE Evolved Packet Core (EPC), développée par Omnitouch Network Services. Elle gère les fonctions de plan de contrôle pour les sessions de données, y compris :
- Gestion des Sessions - Création, modification et terminaison des sessions de données UE (Équipement Utilisateur)
- Allocation d'Adresse IP - Attribution d'adresses IP aux appareils mobiles à partir de pools configurés
- Contrôle de Politique & de Facturation - Interface avec PCRF pour l'application des politiques et la facturation
- Coordination du Plan Utilisateur - Contrôle du PGW-U (Plan Utilisateur) pour le transfert de paquets
Ce que fait PGW-C
- Accepte les demandes de session de SGW-C via l'interface S5/S8 (GTP-C)
- Alloue des adresses IP UE à partir de pools de sous-réseaux configurés
- Demande des décisions de politique à PCRF via l'interface Gx (Diameter)
- Programme des règles de transfert dans PGW-U via l'interface Sxb (PFCP)
- Gère l'application de QoS à travers des contextes de porteur et des règles de QoS
- Suit les informations de facturation pour les systèmes de facturation
Architecture
Aperçu des Composants
Architecture de Processus
PGW-C est construit sur Elixir/OTP et utilise une architecture de processus supervisée :
- Superviseur d'Application - Superviseur de haut niveau gérant tous les composants
- Courtiers de Protocole - Gèrent les messages de protocole entrants/sortants
- Processus de Session - Un GenServer par connexion PDN active
- Registres - Suivent les ressources allouées (IPs, TEIDs, SEIDs, etc.)
- Gestionnaire de Nœud PFCP - Maintient les associations PFCP avec les pairs PGW-U
Chaque composant est supervisé et redémarrera automatiquement en cas d'échec, garantissant la fiabilité du système.
Interfaces Réseau
PGW-C implémente trois interfaces principales 3GPP :
Interface S5/S8 (GTP-C v2)
But : Signalisation de plan de contrôle entre SGW-C et PGW-C
Protocole : GTP-C Version 2 sur UDP
Messages Clés :
- Demande/Réponse de Création de Session
- Demande/Réponse de Suppression de Session
- Demande/Réponse de Création de Porteur
- Demande/Réponse de Suppression de Porteur
Configuration : Voir Configuration S5/S8
Interface Sxb (PFCP)
But : Signalisation de plan de contrôle entre PGW-C et PGW-U
Protocole : PFCP (Protocole de Contrôle de Transfert de Paquet) sur UDP
Messages Clés :
- Demande/Réponse de Configuration d'Association
- Demande/Réponse d'Établissement de Session
- Demande/Réponse de Modification de Session
- Demande/Réponse de Suppression de Session
- Demande/Réponse de Cœur
Configuration : Voir Documentation de l'Interface PFCP/Sxb
Interface Gx (Diameter)
But : Interface de Fonction de Règles de Politique et de Facturation (PCRF)
Protocole : Diameter (IETF RFC 6733)
Messages Clés :
- Demande/Réponse de Contrôle de Crédit Initial (CCR-I/CCA-I)
- Demande/Réponse de Contrôle de Crédit de Terminaison (CCR-T/CCA-T)
Configuration : Voir Documentation de l'Interface Diameter Gx
Concepts Clés
Session PDN
Une Session PDN (Réseau de Données de Paquet) représente la connexion de données d'un UE à un réseau externe (comme Internet). Chaque session a :
- Adresse IP UE - Allouée à partir d'un pool de sous-réseaux configuré
- APN (Nom de Point d'Accès) - Identifie le réseau externe
- Contexte de Porteur - Contient des paramètres de QoS et des informations de tunnel
- ID de Facturation - Identifiant unique pour la facturation
- TEID (Identifiant de Point de Terminaison de Tunnel) - Identifiant de tunnel de l'interface S5/S8
- SEID (Identifiant de Point de Terminaison de Session) - Identifiant de session de l'interface Sxb
Contexte de Porteur
Un porteur représente un flux de trafic avec des caractéristiques de QoS spécifiques :
- Porteur par Défaut - Créé avec chaque session PDN
- Porteurs Dédiés - Porteurs supplémentaires pour des besoins de QoS spécifiques
- EBI (Identifiant de Porteur EPS) - Identifiant unique pour chaque porteur
- Paramètres de QoS - QCI, ARP, débits (MBR, GBR)
Règles PFCP
Le PGW-C programme le PGW-U avec des règles de traitement de paquets :
- PDR (Règle de Détection de Paquet) - Correspond aux paquets (montant/descendant)
- FAR (Règle d'Action de Transfert) - Spécifie le comportement de transfert
- QER (Règle d'Application de QoS) - Applique des limites de débit
- BAR (Règle d'Action de Mise en Tampon) - Contrôle la mise en tampon des paquets
Voir Documentation de l'Interface PFCP pour plus de détails.
Allocation d'Adresse IP
Les adresses IP UE sont allouées à partir de pools de sous-réseaux configurés :
- Sélection basée sur l'APN - Différents APNs peuvent utiliser différents sous-réseaux
- Allocation dynamique - Sélection aléatoire d'IP à partir de la plage disponible
- Allocation statique - Support pour les adresses IP demandées par l'UE
- Détection de collision - Assure une attribution unique d'IP
Voir Allocation de Pool IP UE pour la configuration.
Prise en Main
Prérequis
- Elixir ~1.16
- Erlang/OTP 26+
- Connectivité réseau avec SGW-C, PGW-U et PCRF
- Compréhension de l'architecture EPC LTE
Démarrer OmniPGW
- Configurer les paramètres d'exécution dans
config/runtime.exs - Compiler l'application :
mix deps.get
mix compile - Démarrer l'application :
mix run --no-halt
Vérification de l'Opération
Vérifiez les journaux pour un démarrage réussi :
[info] Démarrage d'OmniPGW...
[info] Démarrage de l'Exportateur de Métriques sur 127.0.0.42:42069
[info] Démarrage du Courtier S5/S8 sur 127.0.0.10
[info] Démarrage du Courtier Sxb sur 127.0.0.20
[info] Démarrage du Courtier Gx
[info] Démarrage du Gestionnaire de Nœud PFCP
[info] OmniPGW démarré avec succès
Accédez aux métriques à http://127.0.0.42:42069/metrics (adresse configurée).
Configuration
Toute la configuration d'exécution est définie dans config/runtime.exs. La configuration est structurée en plusieurs sections :
Aperçu de la Configuration
Référence de Configuration Rapide
| Section | But | Documentation |
|---|---|---|
| metrics | Exportateur de métriques Prometheus | Guide de Surveillance |
| diameter | Interface Gx vers PCRF | Configuration Diameter Gx |
| s5s8 | Interface GTP-C vers SGW-C | Configuration S5/S8 |
| sxb | Interface PFCP vers PGW-U | Configuration PFCP |
| ue | Pools d'adresses IP UE | Configuration du Pool IP |
| pco | Options de Configuration de Protocole | Configuration PCO |
| CDR | Facturation hors ligne & rapport d'utilisation | Format CDR |
Voir le Guide de Configuration Complet pour des informations détaillées.
Interface Web - Tableau de Bord des Opérations en Temps Réel
OmniPGW inclut une Interface Web intégrée pour la surveillance et les opérations en temps réel, fournissant une visibilité instantanée sur l'état du système sans avoir besoin d'outils en ligne de commande ou de requêtes de métriques.
Accéder à l'Interface Web
http://<omnipgw-ip>:<web-port>/
Pages Disponibles :
| Page | URL | But | Taux de Rafraîchissement |
|---|---|---|---|
| Recherche UE | /ue_search | Plongée dans des sessions d'abonnés spécifiques | À la demande |
| Sessions PGW | /pgw_sessions | Voir toutes les sessions PDN actives | 2 secondes |
| Historique des Sessions | /session_history | Journal d'audit des événements de session | 5 secondes |
| Topologie Réseau | /topology | Vue de la topologie réseau visuelle | 5 secondes |
| Pools IP | /ip_pools | Utilisation du pool d'adresses IP UE | 2 secondes |
| Sessions PFCP | /pfcp_sessions | Voir les sessions PFCP avec PGW-U | 2 secondes |
| État UPF | /upf_status | Surveiller les associations de pairs PFCP | 2 secondes |
| Sélection UPF | /upf_selection | Voir les règles de sélection UPF & état P-CSCF | Statique |
| Pairs Diameter | /diameter | Surveiller la connectivité PCRF | 1 seconde |
| Moniteur P-CSCF | /pcscf_monitor | État de découverte DNS P-CSCF | 5 secondes |
| Simulateur Gy | /gy_simulator | Tester la facturation en ligne Gy/Ro | À la demande |
| Tours de Cellules | /cell_towers | Parcourir la base de données OpenCellID | Statique |
| Journaux | /logs | Streaming de journaux en temps réel | En direct |
Fonctionnalités Clés
Mises à Jour en Temps Réel :
- Toutes les pages se rafraîchissent automatiquement (pas de rechargement manuel nécessaire)
- Streaming de données en direct des processus OmniPGW
- Indicateurs de statut codés par couleur (vert/rouge)
Recherche & Filtre :
- Rechercher des sessions par IMSI, IP, MSISDN ou APN
- Filtrage instantané sans rechargement de page
Détails Expansibles :
- Cliquez sur n'importe quelle ligne pour voir les détails complets
- Inspecter l'état complet de la session
- Voir la configuration et les capacités des pairs
Aucune Authentification Requise (Utilisation Interne) :
- Accès direct depuis le réseau de gestion
- Conçu pour l'utilisation de l'équipe NOC/opérations
- Lier uniquement à l'IP de gestion pour des raisons de sécurité
Flux de Travail Opérationnels
Dépannage de Session (Plongée Profonde) :
1. L'utilisateur signale un problème de connexion
2. Ouvrir la page Recherche UE (/ue_search)
3. Rechercher par IMSI, MSISDN ou adresse IP
4. Examiner les détails complets de la session :
a) Sessions Actives - Vérifier que la session existe avec les paramètres corrects
b) Localisation Actuelle - Vérifier TAC, ID de Cellule, localisation géographique
c) Informations sur le Porteur - Vérifier les porteurs par défaut et dédiés
- QCI, MBR/GBR, Noms de Règles de Facturation
- Limites APN-AMBR
d) Informations de Facturation - ID de session Gy, statut de quota
e) Informations de Politique - Session Gx, règles PCC installées
f) Événements Récents - Historique de session et changements d'état
5. Si la session n'est pas trouvée → Vérifier la page Diameter pour la connectivité PCRF
6. Si problèmes de localisation → Vérifier les données de la tour cellulaire dans la section Localisation Actuelle
Recherche Rapide de Session :
1. L'utilisateur signale un problème
2. Ouvrir la page Sessions PGW (/pgw_sessions)
3. Rechercher par IMSI ou numéro de téléphone
4. Vérifier que la session existe avec des détails de base :
- Adresse IP UE allouée
- Paramètres de QoS
- Points de terminaison de tunnel établis
5. Pour une analyse détaillée → Cliquez sur la session pour l'étendre ou utilisez la Recherche UE
Vérification de la Santé du Système :
1. Ouvrir la page État UPF → Vérifier que tous les pairs PGW-U sont "Associés"
2. Ouvrir la page Diameter → Vérifier que tous les pairs PCRF sont "Connectés"
3. Ouvrir Sessions PGW → Vérifier le nombre de sessions actives par rapport à la capacité
Surveillance de Capacité :
- Jeter un œil au nombre de Sessions PGW
- Comparer à la capacité licenciée/attendue
- Identifier les périodes de pic d'utilisation
- Surveiller la distribution à travers les APNs
Interface Web vs. Métriques
Utiliser l'Interface Web pour :
- Dépannage approfondi des abonnés (Recherche UE)
- Détails et inspection de session individuelle
- État des pairs en temps réel (PFCP, Diameter)
- Vérifications rapides de santé à travers toutes les interfaces
- Dépannage d'utilisateurs spécifiques par IMSI/MSISDN/IP
- Vérification de la localisation géographique (intégration de la tour cellulaire)
- Analyse de QoS des porteurs (MBR, GBR, QCI)
- Inspection des règles de politique et de facturation
- Historique de session et pistes d'audit
- Surveillance de la capacité du pool IP
- Vérification de la configuration et des règles
Utiliser les Métriques Prometheus pour :
- Tendances historiques
- Alertes et notifications
- Graphiques de planification de capacité
- Analyse de performance
- Surveillance à long terme
Meilleure Pratique : Utiliser les deux ensemble - Interface Web pour les opérations immédiates, Prometheus pour les tendances et alertes.
Surveillance & Métriques
En plus de l'Interface Web, OmniPGW expose des métriques compatibles avec Prometheus pour la surveillance :
Métriques Disponibles
-
Métriques de Session
teid_registry_count- Sessions S5/S8 activesseid_registry_count- Sessions PFCP activessession_id_registry_count- Sessions Gx activesaddress_registry_count- Adresses IP UE allouéescharging_id_registry_count- IDs de facturation actifs
-
Métriques de Message
s5s8_inbound_messages_total- Messages GTP-C reçussxb_inbound_messages_total- Messages PFCP reçusgx_inbound_messages_total- Messages Diameter reçus- Durées de traitement des messages
-
Métriques d'Erreur
s5s8_inbound_errors_total- Erreurs de protocole S5/S8sxb_inbound_errors_total- Erreurs de protocole PFCPgx_inbound_errors_total- Erreurs Diameter
Accéder aux Métriques
Les métriques sont exposées via HTTP à l'endpoint configuré :
curl http://127.0.0.42:42069/metrics
Voir Guide de Surveillance & Métriques pour la configuration du tableau de bord et des alertes.
Documentation Détailée
Cette section fournit un aperçu complet de toute la documentation OmniPGW. Les documents sont organisés par sujet et cas d'utilisation.
Structure de la Documentation
Documentation OmniPGW
├── OPERATIONS.md (Ce Guide)
│
└── docs/
├── Configuration & Installation
│ ├── configuration.md Référence complète de runtime.exs
│ ├── ue-ip-allocation.md Configuration du pool IP
│ └── pco-configuration.md Paramètres DNS, P-CSCF, MTU
│
├── Interfaces Réseau
│ ├── pfcp-interface.md Sxb/PFCP (communication PGW-U)
│ ├── diameter-gx.md Gx (communication PCRF)
│ ├── diameter-gy.md Gy/Ro (communication OCS)
│ └── s5s8-interface.md S5/S8 (communication SGW-C)
│
└── Opérations
├── session-management.md Cycle de vie de la session PDN
└── monitoring.md Métriques Prometheus & alertes
Documentation par Sujet
🚀 Prise en Main
| Document | Description | But |
|---|---|---|
| OPERATIONS.md | Guide principal des opérations (ce document) | Aperçu et démarrage rapide |
⚙️ Configuration
| Document | Description | Lignes |
|---|---|---|
| configuration.md | Référence complète de runtime.exs | 1,600+ |
| ue-ip-allocation.md | Gestion et allocation du pool IP UE | 943 |
| pco-configuration.md | Options de Configuration de Protocole (DNS, P-CSCF, MTU) | 344 |
🔌 Interfaces Réseau
| Document | Description | Lignes |
|---|---|---|
| pfcp-interface.md | Interface PFCP/Sxb vers PGW-U | 1,355 |
| diameter-gx.md | Interface Diameter Gx vers PCRF (Contrôle de Politique) | 941 |
| diameter-gy.md | Interface Diameter Gy/Ro vers OCS (Facturation en Ligne) | 1,100+ |
| s5s8-interface.md | Interface GTP-C S5/S8 vers SGW-C | 456 |
📊 Opérations & Surveillance
| Document | Description | Lignes |
|---|---|---|
| session-management.md | Cycle de vie et opérations de session PDN | 435 |
| monitoring.md | Métriques Prometheus, tableaux de bord Grafana, alertes | 807 |
| data-cdr-format.md | Format de fichier CDR, configuration URR, facturation hors ligne | 847 |
| qos-bearers.md | Gestion de QoS & des porteurs, contrôle de politique | 448 |
| troubleshooting.md | Procédures de dépannage et problèmes courants | 687 |
🔧 Fonctionnalités Avancées
| Document | Description | Lignes |
|---|---|---|
| pcscf-monitoring.md | Découverte P-CSCF et surveillance de santé | 894 |
Fonctionnalités de la Documentation
📈 Diagrammes Mermaid
Tous les documents incluent des diagrammes Mermaid pour une compréhension visuelle :
- Diagrammes d'architecture
- Diagrammes de séquence (flux de messages)
- Machines d'état
- Topologie réseau
💡 Exemples Pratiques
Chaque document inclut :
- Exemples de configuration du monde réel
- Configurations prêtes à copier-coller
- Cas d'utilisation courants
🔍 Dépannage
Chaque document d'interface inclut :
- Problèmes courants et solutions
- Commandes de débogage
- Métriques pour le diagnostic
🔗 Renvois Croisés
Les documents sont largement interliés pour une navigation facile.
Chemins de Lecture
Pour les Opérateurs Réseau
- OPERATIONS.md - Aperçu (ce document)
- configuration.md - Installation
- monitoring.md - Surveillance
- session-management.md - Opérations quotidiennes
Pour les Ingénieurs Réseau
- OPERATIONS.md - Aperçu de l'architecture (ce document)
- pfcp-interface.md - Contrôle du plan utilisateur
- diameter-gx.md - Contrôle de politique
- diameter-gy.md - Facturation en ligne
- s5s8-interface.md - Gestion de session
- ue-ip-allocation.md - Gestion IP
Pour la Configuration & le Déploiement
- configuration.md - Référence complète
- ue-ip-allocation.md - Pools IP
- pco-configuration.md - Paramètres réseau
- monitoring.md - Configuration de la surveillance
Statistiques du Document
- Total de Documents : 14
- Total de Lignes : ~10,900+
- Taille Totale : ~265 Ko
- Diagrammes Mermaid : 75+
- Exemples de Code : 150+
Concepts Clés Couverts
Architecture
- ✅ Séparation du plan de contrôle/plan utilisateur
- ✅ Architecture OTP/Elixir
- ✅ Supervision des processus
- ✅ Sessions basées sur GenServer
Protocoles
- ✅ PFCP (Protocole de Contrôle de Transfert de Paquet)
- ✅ GTP-C v2 (Protocole de Tunnel GPRS)
- ✅ Diameter (RFC 6733)
Interfaces 3GPP
- ✅ Sxb (PGW-C ↔ PGW-U)
- ✅ Gx (PGW-C ↔ PCRF)
- ✅ Gy/Ro (PGW-C ↔ OCS)
- ✅ S5/S8 (SGW-C ↔ PGW-C)
Opérations
- ✅ Gestion des sessions
- ✅ Stratégies d'allocation IP
- ✅ Application de QoS
- ✅ Intégration de la facturation
- ✅ Surveillance & alertes
Ressources Supplémentaires
Spécifications 3GPP
| Spec | Titre |
|---|---|
| TS 29.274 | GTP-C v2 (interface S5/S8) |
| TS 29.244 | PFCP (interface Sxb) |
| TS 29.212 | Interface Diameter Gx (Contrôle de Politique) |
| TS 32.299 | Applications de Facturation Diameter (Gy/Ro) |
| TS 32.251 | Facturation de domaine de paquet |
| TS 23.401 | Architecture EPC |
Documentation Connexe
- Fichier de configuration : config/runtime.exs