5G ASN.1 : structure et encodage des messages

5G ASN.1 : structure et encodage des messages

Aujourd’hui on va voir comment la norme ASN.1 s’intègre dans l’architecture 5G pour structurer les messages échangés entre les différentes entités du réseau. ASN.1, ou Abstract Syntax Notation One, est un langage de description de données largement utilisé pour assurer l’interopérabilité dans les télécommunications.

Qu’est-ce que l’ASN.1 dans le contexte 5G

ASN.1 permet de définir de manière formelle la structure des messages utilisés dans les interfaces de signalisation, comme NGAP (Next Generation Application Protocol), XnAP (Xn Application Protocol) ou F1AP (F1 Application Protocol). Il fournit une représentation indépendante du langage de programmation et du matériel, tout en s’associant à divers mécanismes d’encodage pour la transmission binaire.

Principaux avantages d’ASN.1 en 5G

  • Modularité : les structures sont définies en modules, facilitant leur gestion et leur évolution.
  • Interopérabilité : les messages peuvent être échangés entre équipements d’origines diverses sans ambiguïté.
  • Optimisation : l’encodage binaire comme PER (Packed Encoding Rules) permet de réduire la taille des messages.

Encodage des données avec ASN.1

Dans les protocoles 5G, l’encodage des messages ASN.1 est généralement réalisé avec PER (Aligned ou Unaligned) pour optimiser la bande passante. Voici les principaux types d’encodage utilisés :
5G ASN.1 : structure et encodage des messages

Exemple simplifié d’une définition ASN.1

Voici un exemple basique de structure ASN.1 pour illustrer la syntaxe :

MyMessage ::= SEQUENCE {
  messageId     INTEGER,
  isActive      BOOLEAN,
  payload       OCTET STRING
}

Cette définition spécifie un message contenant un entier, un booléen et une chaîne binaire, qui seront encodés selon les règles choisies (ex : PER).

Utilisation dans les interfaces 5G

Les spécifications 3GPP définissent des centaines de messages au format ASN.1 pour les interfaces comme :

  • NGAP : entre l’AMF et le gNB (N2)
  • F1AP : entre le CU et le DU (F1)
  • XnAP : entre deux gNBs (Xn)

Chaque message est formalisé en ASN.1, puis converti en représentation binaire via PER pour le transport dans les paquets NAS ou RRC. Cette méthode garantit que tous les équipements, quels que soient leur fabricant ou leur origine, puissent interpréter les messages de la même manière.

La compréhension d’ASN.1 est donc indispensable pour toute analyse ou débogage de trames 5G. Elle permet aussi de générer automatiquement le code source correspondant à ces structures à l’aide d’outils comme asn1c, ce qui simplifie l’implémentation des protocoles côté réseau.

Pour aller plus loin, découvrez comment les protocoles RRC et NAS exploitent cette structure ASN.1 dans les échanges entre l’UE et le réseau.