Aller au contenu principal

Documentation de l'interface S5/S8

Communication GTP-C avec PGW-C

OmniSGW par Omnitouch Network Services


Table des Matières

  1. Aperçu
  2. Détails du Protocole
  3. Configuration
  4. Établissement de Session
  5. Modification de Session
  6. Termination de Session
  7. Types de Messages
  8. Opérations Réseau
  9. 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 IESourceDescription
IMSIMMEIdentité de l'abonné mobile
MSISDNMMENuméro de téléphone mobile
MEIMMEIdentité de l'Équipement Mobile
Bearer ContextMMEConfiguration de la porteuse (QCI, ARP)
APNMMENom du Point d'Accès (internet, ims, mms)
Réseau ServantMMECode PLMN (MCC/MNC)
Type RATMMETechnologie d'Accès Radio (EUTRAN)
ULIMMEInformations de Localisation Utilisateur (TAI, ECGI)
Charging IDSGWRé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 IESourceDescription
CausePGWIndication de succès/échec
Bearer ContextPGWPorteuse allouée avec TEID
Allocation d'Adresse PDNPGWAdresse IP UE assignée
Restriction APNPGWPolitiques pour cet APN
Charging IDPGWID de facturation généré par PGW
TEIDPGWAlloué pour le tunnel S5/S8

Codes de Réponse

Code de CauseDescriptionRécupération
0Demande AcceptéeSession établie
16Pas de ressources disponiblesRejeter vers MME, action de l'utilisateur
25Erreur de sémantique dans l'IEVérifier le format du message
49Pas de règle correspondanteMismatch de politique PGW-C
64Contexte non trouvéLa session existe déjà
65Erreur sémantique dans la réponseMauvaise configuration PGW
72IE obligatoire manquant/incorrectMessage 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 :

CauseRaisonSolution
16Pas de ressourcesVérifiez la capacité PGW, épuisement du pool IP
25Erreur sémantiqueVérifiez que le contexte de porteuse correspond aux attentes de PGW
49Pas de règle correspondanteVérifiez la configuration APN au PGW
72IE manquantVérifiez que MME envoie les champs requis

Échecs d'Opération de Porteuse

Problème : "Échec de la Demande de Modification de Porteuse"

Diagnostic :

  1. Vérifiez les métriques pour le taux d'erreur modify_bearer
  2. Inspectez les paramètres QoS pour leur validité
  3. 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