Documentation de l'interface S5/S8
Communication GTP-C avec PGW-C
OmniSGW par Omnitouch Network Services
Table des Matières
- Aperçu
- Détails du Protocole
- Configuration
- Établissement de Session
- Modification de Session
- Termination de Session
- Types de Messages
- Opérations Réseau
- Dépannage
Aperçu
L'interface S5/S8 connecte OmniSGW au PGW-C (Plan de Contrôle de la Passerelle de Paquets) en utilisant le protocole GTP-C v2 (GPRS Tunnelling Protocol - Plan de contrôle). Cette interface gère la signalisation de gestion de session PDN entre les passerelles.
Caractéristiques Clés
- Protocole GTP-C v2 - Signalisation conforme aux normes
- Routage de Session basé sur TEID - Identifiants de points de terminaison de tunnel pour le suivi
- Gestion de Connectivité PDN - Créer/modifier/supprimer des connexions PDN
- Gestion de Porteuse - Opérations de porteuse par défaut et dédiée
- Échange d'ID de Facturation - Facturation coordonnée entre les passerelles
- Allocation d'Adresse IP - Provisionnement d'IP UE à partir des pools PGW
Détails du Protocole
Version GTP-C 2
- Protocole : GTP-C v2 (3GPP TS 29.274)
- Transport : UDP
- Port : 2123 (standard)
- Type d'Interface : Plan de Contrôle
- Direction : Demande/réponse bidirectionnelle
TEID (Identifiant de Point de Terminaison de Tunnel)
Chaque session PDN a des TEID uniques pour les deux directions :
- TEID SGW - Alloué par SGW-C pour les messages S5/S8 provenant de PGW
- TEID PGW - Alloué par PGW-C pour les messages S5/S8 provenant de SGW
Flux de Message :
SGW-C → PGW-C : Utilise le TEID de PGW-C dans l'en-tête
PGW-C → SGW-C : Utilise le TEID de SGW-C dans l'en-tête
ID de Facturation
L'ID de facturation est essentiel pour la coordination de la facturation :
- Généré par : PGW-C lors de la réponse de création de session
- Transmis à : SGW-C pour la génération de CDR
- Utilisé pour : Corréler les charges hors ligne entre les CDR SGW et PGW
- Format : Entier 32 bits, unique par connexion PDN
Configuration
Configuration de Base
# config/runtime.exs
config :sgw_c,
s5s8: %{
# Adresse IPv4 locale pour l'interface S5/S8
local_ipv4_address: "10.0.0.15",
# Optionnel : Adresse IPv6 locale
local_ipv6_address: nil,
# Optionnel : Remplacer le port par défaut
local_port: 2123,
# Pairs PGW-C
pgw_peers: [
%{
ip_address: "10.0.0.20",
name: "pgw-c-primary"
},
%{
ip_address: "10.0.0.21",
name: "pgw-c-secondary"
}
],
# Délais d'attente des messages
message_timeout_ms: 5000,
max_retries: 3,
retry_backoff_ms: 1000
}
Exigences Réseau
Règles de Pare-feu :
# Autoriser GTP-C depuis le réseau PGW-C
iptables -A INPUT -p udp --dport 2123 -s <pgw_network>/24 -j ACCEPT
# Autoriser GTP-C sortant vers PGW-C
iptables -A OUTPUT -p udp --dport 2123 -d <pgw_network>/24 -j ACCEPT
Routage :
# Assurez-vous d'une route vers le réseau PGW-C
ip route add <pgw_network>/24 via <gateway_ip> dev eth0
Établissement de Session
Demande de Connexion PDN Initiale
Lorsque MME demande une connexion PDN via S11, SGW-C transmet à PGW-C via S5/S8.
Demande de Création de Session (SGW-C → PGW-C)
Éléments d'Information Clés :
| Nom IE | Source | Description |
|---|---|---|
| IMSI | MME | Identité de l'abonné mobile |
| MSISDN | MME | Numéro de téléphone mobile |
| MEI | MME | Identité de l'Équipement Mobile |
| Bearer Context | MME | Configuration de la porteuse (QCI, ARP) |
| APN | MME | Nom du Point d'Accès (internet, ims, mms) |
| Réseau Servant | MME | Code PLMN (MCC/MNC) |
| Type RAT | MME | Technologie d'Accès Radio (EUTRAN) |
| ULI | MME | Informations de Localisation Utilisateur (TAI, ECGI) |
| Charging ID | SGW | Référence de facturation générée par SGW |
Réponse à la Création de Session (PGW-C → SGW-C)
Éléments d'Information Clés :
| Nom IE | Source | Description |
|---|---|---|
| Cause | PGW | Indication de succès/échec |
| Bearer Context | PGW | Porteuse allouée avec TEID |
| Allocation d'Adresse PDN | PGW | Adresse IP UE assignée |
| Restriction APN | PGW | Politiques pour cet APN |
| Charging ID | PGW | ID de facturation généré par PGW |
| TEID | PGW | Alloué pour le tunnel S5/S8 |
Codes de Réponse
| Code de Cause | Description | Récupération |
|---|---|---|
| 0 | Demande Acceptée | Session établie |
| 16 | Pas de ressources disponibles | Rejeter vers MME, action de l'utilisateur |
| 25 | Erreur de sémantique dans l'IE | Vérifier le format du message |
| 49 | Pas de règle correspondante | Mismatch de politique PGW-C |
| 64 | Contexte non trouvé | La session existe déjà |
| 65 | Erreur sémantique dans la réponse | Mauvaise configuration PGW |
| 72 | IE obligatoire manquant/incorrect | Message incomplet |
Modification de Session
Modification de QoS de Porteuse
Lorsque MME demande des modifications de QoS via S11, SGW-C propage à PGW-C via S5/S8.
Création de Porteuse (Porteuse Dédiée)
PGW-C peut demander l'activation de la porteuse dédiée via S5/S8 :
Suppression de Porteuse (Porteuse Dédiée)
Lorsque la porteuse dédiée n'est plus nécessaire :
Termination de Session
Déconnexion PDN Normale
Transitions d'État :
[PDN Connecté]
↓ (Delete Session Request de MME)
[Libération de la Session PGW]
↓ (Réponse de Suppression PGW reçue)
[Libération des Ressources SGW]
↓ (TEID libéré, CDR journalisé)
[PDN Déconnecté]
Types de Messages
Résumé des Messages S5/S8
Détails des Messages
Demande/Réponse de Création de Session
- Déclencheurs : Attachement initial, demande de connectivité PDN
- Fréquence : ~1 par connexion PDN par UE
- Direction : Bidirectionnelle
Demande/Réponse de Suppression de Session
- Déclencheurs : Détachement, déconnexion PDN
- Fréquence : ~1 par terminaison de connexion PDN
- Direction : Bidirectionnelle
Demande/Réponse de Modification de Porteuse
- Déclencheurs : Changement de QoS, modification de porteuse
- Fréquence : Variable (0 à plusieurs par session)
- Direction : Bidirectionnelle
Demande/Réponse de Création/Suppression de Porteuse
- Déclencheurs : Activation/désactivation de porteuse dédiée
- Fréquence : Variable (0 à plusieurs par session)
- Direction : Bidirectionnelle
Demande/Réponse d'Écho
- Déclencheurs : Surveillance de chemin/pair
- Fréquence : Périodique (recommandé 1/minute minimum)
- Direction : Bidirectionnelle
Opérations Réseau
Surveillance des Pairs
Surveillez la connectivité PGW-C :
# Vérifiez les TEID S5/S8 actifs
curl -s http://127.0.0.40:42068/metrics | grep s5s8_teid
# Surveillez le flux de messages S5/S8
curl -s http://127.0.0.40:42068/metrics | grep s5s8_inbound_messages_total
# Attendu : flux constant de messages de Création/Suppression/Modification
Vérification de Session PDN
Inspectez les connexions PDN actives :
Interface Web → Page des Sessions UE
└── Pour chaque session UE :
├── Pair PGW-C associé
├── ID de Facturation (de PGW)
├── Adresse IP UE (de PGW)
├── Liste des Porteuses avec QoS
└── Paire TEID S5/S8
Inspection du Flux de Messages
Suivez l'activité des messages S5/S8 :
# Comptez les opérations de Création de Session
curl -s http://127.0.0.40:42068/metrics | grep create_session_request_total
# Surveillez les modifications de porteuse
curl -s http://127.0.0.40:42068/metrics | grep modify_bearer
# Vérifiez le taux d'erreur
curl -s http://127.0.0.40:42068/metrics | grep s5s8_inbound_errors_total
Stratégie de Sélection PGW
Si plusieurs pairs PGW-C sont configurés :
Logique de Sélection :
├── Équilibré par Charge : Round-robin entre les pairs
├── Collant : Même APN utilise toujours le même PGW
├── Actif-Standby : Basculement si le pair est indisponible
└── Personnalisé : Logique spécifique à l'application
Surveillez la distribution :
# Sessions par pair PGW
curl -s http://127.0.0.40:42068/metrics | grep session_by_pgw_peer
Dépannage
Échecs d'Établissement de Session
Problème : "Demande de Création de Session rejetée par PGW"
Diagnostic :
# Vérifiez le code de cause
curl -s http://127.0.0.40:42068/metrics | grep create_session_response_cause
# Vérifiez la connectivité PGW
curl -s http://127.0.0.40:42068/metrics | grep s5s8_peer_status
Causes et Solutions Courantes :
| Cause | Raison | Solution |
|---|---|---|
| 16 | Pas de ressources | Vérifiez la capacité PGW, épuisement du pool IP |
| 25 | Erreur sémantique | Vérifiez que le contexte de porteuse correspond aux attentes de PGW |
| 49 | Pas de règle correspondante | Vérifiez la configuration APN au PGW |
| 72 | IE manquant | Vérifiez que MME envoie les champs requis |
Échecs d'Opération de Porteuse
Problème : "Échec de la Demande de Modification de Porteuse"
Diagnostic :
- Vérifiez les métriques pour le taux d'erreur modify_bearer
- Inspectez les paramètres QoS pour leur validité
- Vérifiez que PGW est accessible
Solutions :
- Réduisez la fréquence de modification de QoS
- Vérifiez que les valeurs de QoS sont conformes à la politique PGW
- Vérifiez PGW pour des problèmes de PCRF/politique
Problèmes de Délai d'Attente des Messages
Problème : "Délai d'attente des messages S5/S8"
Métriques :
# Latence des messages
curl -s http://127.0.0.40:42068/metrics | grep s5s8_inbound_duration_seconds
# Compte des délais d'attente
curl -s http://127.0.0.40:42068/metrics | grep s5s8_timeout_total
Solutions :
- Augmentez message_timeout_ms si le RTT du réseau est élevé
- Vérifiez la congestion du réseau
- Vérifiez la disponibilité CPU/mémoire de PGW
- Surveillez la perte de paquets
Mismatch d'ID de Facturation
Problème : "Mismatch d'ID de Facturation dans les CDR"
Diagnostic :
- Vérifiez que PGW renvoie un ID de facturation valide
- Vérifiez les journaux CDR pour un ID de facturation manquant
- Comparez les CDR SGW et PGW
Solution :
- Assurez-vous que PGW envoie l'ID de facturation dans toutes les réponses
- Gérez les ID de facturation manquants de manière appropriée dans la journalisation CDR
Pour des références détaillées sur les métriques et la configuration du tableau de bord Prometheus, voir le Guide de Surveillance & Métriques.
Meilleures Pratiques
Configuration
- Redondance PGW : Configurez plusieurs pairs PGW-C pour le basculement
- Distribution de Charge : Utilisez le round-robin pour une charge équilibrée
- Délais d'Attente : Définissez-les de manière appropriée en fonction du RTT WAN (typique : 5-10 secondes)
- Réessais : 2-3 réessais avec un retour exponentiel
Opérations
- Santé des Pairs : Surveillez les temps de réponse d'écho
- Routage APN : Faites correspondre la configuration APN SGW aux APN PGW
- Suivi des Erreurs : Alertez sur un taux d'erreur S5/S8 soutenu
- Planification de Capacité : Surveillez l'utilisation du pool IP au PGW
Gestion de Session
- Limites de Session : Suivez les sessions simultanées par rapport à la capacité PGW
- Nombre de Porteuses : Surveillez la distribution des porteuses par défaut + dédiées
- Validation de QoS : Vérifiez les paramètres QoS acceptés par PGW
- Facturation : Vérifiez que l'ID de facturation est reçu et journalisé
Intégration avec d'Autres Interfaces
Coordination S11 ↔ S5/S8
Flux de Message S11 (de MME)
↓
Traitement de Session SGW-C
↓
Message S5/S8 (vers PGW-C)
↓
Attendre la Réponse
↓
Réponse S11 (retour à MME)
Coordination S5/S8 ↔ Sxa
Réponse de Création de Session S5/S8 (de PGW)
↓
Extraire les Infos de Porteuse/QoS
↓
Établissement de Session Sxa (vers SGW-U)
↓
Attendre que le Plan Utilisateur soit Prêt
↓
Compléter la Réponse de Création de Session S11