OpenAirInterface
Introduction
Les réseaux cellulaires LTE 4G se sont vues rapidement adoptés par tous les principaux
opérateurs dans le monde et devraient dominer le paysage cellulaire au moins pour la décennie
en cours. Indubitablement, Ils constitueront également le point de départ de nouveaux progrès
au-delà de la génération actuelle de réseaux cellulaires mobiles pour tracer la voie vers les
réseaux mobiles de cinquième génération. Comme il a été relaté précédemment, plusieurs nou-
velles approches et technologies sont considérées comme des éléments potentiels constituant un
tel ou tel futur réseau mobile, incluant l’utilisation des techniques du cloud au profit du réseau
radio, la possibilité de rendre ce dernier programmable suivant les principes SDN/NFV, le mas-
sif MIMO et le Full Duplex. La recherche sur ces technologies nécessite, donc, des plateformes
d’expérimentation réalistes, flexibles et de faible coût. Dans ce cadre, la plateforme OpenAirIn-
terface constitue un véritable outil d’émulation open source puissant à travers sa configuration
”OpenAirInterface System Emulation” (OAISIM) et un dispositif de test efficaces qui donne des
résultats réalistes à l’aide de son architecture LTE-Softmodem. De ce fait, le présent chapitre
présentera la plateforme OAI ainsi que les options que o↵re par rapport aux autres outils open
source, en mettant l’accent sur sa composition, son architecture et le processus d’installation,
de configuration et de mise en œuvre.
45
les systèmes cellulaires 3GPP avec la possibilité d’interagir avec des équipements commerciaux
propriétaires à chaque niveau du réseau. L’écosystème est déjà composé d’universités, de grands
acteurs du monde industriel et des développeurs individuels.
OAI est désignée comme étant la première plateforme permettant une implémentation
complète de la pile protocolaire selon la norme 3GPP d’un système LTE aussi bien au niveau
du réseau accès E-UTRAN qu’au niveau du réseau cœur EPC [17]. Ainsi, elle peut être utilisée
pour construire et personnaliser une station de base et un réseau cœur LTE sur un PC et par la
suite faire connecter un UE commercial pour tester d’une part les di↵érentes configurations et
déploiement d’un réseau, d’autre part pour pouvoir surveiller et superviser le fonctionnement
d’un système réseau mobiles en temps réel. Pour ce faire, OpenAirInterface est basée sur une
architecture d’interface radio logicielle hébergée sur PC. Autrement dit, la fonctionnalité de
l’émetteur-récepteur est réalisée via une interface SDR connectée à un ordinateur hôte pour le
traitement des données.
En outre, la plateforme OAI est développée en langage de programmation standard C sous
plusieurs distributions ”real time Linux” optimisées par des processeurs ”x86-64” et publiées
en tant que logiciel libre sous les termes de la version 3 de la GNU ”General Public License”
(GPLv3). Elle fournit un environnement de développement riche avec des outils intégrés tels
que des modes d’émulation très réalistes, des outils de supervision et de débogage, un analyseur
de protocole, un profileur mesurant la performance et un système de logging configurable pour
toutes les couches et tous les canaux [18] et [19].
Grosso modo, deux caractéristiques importantes peuvent décrire l’utilité de la plateforme
OpenAirInterface au profit de la recherche et de l’industrie dans le domaine des réseaux sans
fil à savoir :
• Une implémentation logicielle open-source du système cellulaire LTE (4G), extensible vers
des modules de cinquième génération, qui est entièrement compatible avec les normes
3GPP et pouvant être utilisé dans le cadre des expérimentations et des démonstrations
indoor/outdoor en temps réel ;
• Une capacité d’émulation intégrée pouvant être utilisée afin de tester des scénarios répétitifs
dans un environnement logiciel uniquement, et par la suite basculer de façon transparente
entre l’émulation évolutive et l’expérimentation en temps réel. Pour ce faire, deux modes
d’émulation de couche physique (PHY) sont pris en charge di↵érant par le niveau de
détail auquel la couche PHY est réalisée.
46
une interface physique réelle ou bien utiliser la configuration OAISIM afin d’émuler cette partie
du réseau. Quant à la partie cœur EPC, qui est décrite par une suite de logiciels implémentée
dans une machine linux, elle se compose des éléments suivants : le ”Serving Gateway” (S-GW),
le ”Packet Data Network Gateway” (P-GW), le ”Mobility Management Entity” (MME) et
le ”Home Subscriber Server” (HSS). Il est a souligné que la plateforme OAI est la première
implémentation logicielle open source d’un système LTE/LTE-Advanced/LTE-Advanced-Pro
générant une pile protocolaire complète du standard 3GPP à la fois au niveau du réseau accès
et la partie cœur. Enfin, Le reste de cette section décrit les fonctionnalités logicielles, matérielles
et d’émulation d’OAI.
Software :
Rappelons-le, la plateforme OAI dispose d’une implémentation logicielle complète de systèmes
cellulaires mobiles LTE/LTE-A conformes aux normes 3GPP LTE écrite en langage C et py-
thon travaillant sous la distribution Linux version temps réel optimisé par un processeur x86-64.
Les progiciels de l’OSA relatifs au réseau cœur sont rassemblés dans un package appelé ”ope-
nairCN” tandis que ceux correspondant au réseau d’accès E-UTRAN font l’objet du package
”openairinterface5g”. Actuellement, la combinaison de ces deux ensemble de packages forme
une implémentation logicielle ”LTE release 8/9”, ”LTE-Advanced release 10/11/12” et ”LTE-
Advanced-Pro release 13/14” pour les éléments UE, eNB, MME, HSS, S-GW et P-GW sur des
machines Linux. Aussi, Il est à noter que pour permettre l’intégration dans un environnement
OpenStack, ”openairCN” est distribué sous une licence ”Apache V2.0”. De son côté, le pa-
ckage ”openairinterface5g” est distribué gratuitement par l’OSA selon les termes stipulés par
une nouvelle licence open source intitulée la ”OAI Public License” (FRAND), qui couvre les
accords de propriété intellectuelle utilisés dans la norme 3GPP et permettant à ces membres
de détenir des brevets sur les procédures clés utilisées dans les standards [20].
Dans ce contexte, au niveau de la couche physique, OAI o↵re les fonctionnalités suivantes :
47
Concernant la pile protocolaire implémentée au niveau du réseau accès E-UTRAN, elle
fournit les fonctionnalités suivantes :
• Conforme à la release 8-14 LTE ;
• Implémente les couches MAC, RLC, PDCP et RRC ;
• Service de protocole pour eMBMS Rel10 (MCH, MCCH, MTCH) ;
• ”Priority-based MAC scheduler” avec sélection MCS dynamique ;
• Pile protocolaire entièrement reconfigurable ;
• Vérification de l’intégrité et le chi↵rement à l’aide de l’algorithme AES ;
• Prise en charge de la mesure RRC avec écart de mesure ;
• Interfaces standard S1AP et GTP-U vers le réseau cœur ;
• Prise en charge de l’IPv4 et l’IPv6.
Quant au réseau cœur, il se caractérise par :
• Implémentations des MME, S-GW, P-GW et HSS. OAI réutilise les piles de protocoles
d’application GTPv1u et GTPv2c conformément aux normes de l’implémentation logi-
cielle open source d’EPC appelée ”nwEPC” [21] ;
• L’intégrité et le chi↵rement NAS à l’aide de l’algorithme AES ;
• Gestion des procédures UE : attachement, authentification, accès au service, établissement
du support radio ;
• Accès transparent au réseau IP (aucune passerelle S-GW externe ni passerelle P-GW ne
sont nécessaires). Nom du point d’accès configurable, plage IP, DNS et E-RAB QoS ;
• Prise en charge de l’IPv4 et l’IPv6.
Par ailleurs, La plateforme OAI peut fonctionner, selon le type de test, dans plusieurs
configurations distinctes impliquant des équipements commerciaux à di↵érents niveaux à savoir :
• OAI UE <=> OAI eNB + OAI EPC ;
48
• OAI UE <=> OAI eNB + Commercial EPC ;
• OAI UE <=> Commercial eNB + OAI EPC ;
• OAI UE <=> Commercial eNB + Commercial EPC ;
• Commercial UE <=> Commercial eNB + OAI EPC ;
• Commercial UE <=> OAI eNB + Commercial EPC ;
• Commercial UE <=> OAI eNB + OAI EPC.
Hardware :
En de termes d’équipements requis afin de mettre en œuvre la plateforme OpenAirInter-
face, des machines basées sur l’architecture Intel sont nécessaires pour supporter les logiciels
implémentés au niveau de l’eNB, l’UE et l’EPC. Cette exigence est due principalement à des
fonctions DSP optimisées qui utilisent activement les instructions SIMD (SSE, SSE2, SSS3 et
SSE4). Pratiquement, l’OAI a été testée sur les familles de processeurs suivantes :
• Generation 3/4/5/6 Intel Core i5,i7 ;
• Generation 2/3/4 Intel Xeon ;
• Intel Atom Rangeley, E38xx, x5-z8300.
Particulièrement concernant l’UE, il a été testé au moyen de processeurs de type :
• Intel Core™ i5-6600K CPU 3.50GHz × 4 ;
• Intel Core™ i5-6600 CPU 3.30GHz × 4.
En outre, les di↵érentes parties de l’OAI devraient fonctionner sur n’importe quelle machine
Linux 64 bits avec des spécifications à respecter quant au choix du type de noyau en fonction
du composant OAI à installer. Ces contraintes seront détaillées au niveau de la section relative
à l’installation de la plateforme OAI.
Pour l’expérimentation et la validation en mode temps réel, des contraintes spécifiques de
matériel et de système d’exploitation sont requises au niveau des systèmes SDR et accessoires
compatibles avec la plateforme :
• La carte PCI ExpressMIMO2 d’EURECOM, l’interface utilisateur SDR par défaut conçu
pour l’OAI, nécessite un PC avec ”8/16-way PCIe slot” gratuit et un adaptateur appro-
prié. La carte peut fonctionner avec un ”1-way PCIe slot” ou un ”ExpressCard slot” sur
un ordinateur portable ;
• Les cartes NI/Ettus USRP B200/B210/X300/N300 nécessitant un PC avec un port USB3
et un chipset USB compatible. Il convient de souligner que l’OAI prend désormais en
charge le logiciel de pilote de matériel ”UHD Hardware Driver Software” (USRP) à utiliser
avec les versions récentes des plateformes radio logicielles USRP hébergées sur PC étant
largement utilisées par la communauté des chercheurs ;
• BladeRF avec USB3 port ;
49
• LimeSDR avec USB3 port ;
• Le transport Ethernet (échantillons IQ sur Ethernet) nécessite un PC avec un port Fast
Ethernet (10 Gbps ou plus) ;
• Afin de transmettre/recevoir correctement des signaux RF dans di↵érentes bandes, l’équipe
OpenAirInterface a développé une solution passive à base de duplexeur et une solution
active moyennant des duplexeurs/commutateurs et des amplificateurs. Ces solutions sont
compatibles avec les SDR susmentionnés.
Par ailleurs, puisque l’OAI opère souvent dans des bandes de fréquences sous licence, il n’est
pas recommandé d’e↵ectuer des tests Over the air. Car les fréquences allouées aux cellules
commerciales à proximité interfèrent toujours avec l’OAI impactant négativement sur ses per-
formances. Ainsi, afin de ne pas se voir infliger une amende par les autorités compétentes pour
avoir transmis dans une bande sous licence sans autorisation, il est fort recommandé d’utiliser
des chambres anéchoı̈ques ou des cages RF pour e↵ectuer les bancs de teste.
Emulation :
Outre le fonctionnement en mode temps réel de la plateforme OAI en utilisant les équipements
matériels susmentionnés, la pile protocolaire LTE peut être exécutée dans un environnement
en local dans un laboratoire en mode d’émulation afin d’aboutir à une validation réaliste et
une évaluation des performances des systèmes. En e↵et, faisant partie des modules que o↵re
l’OAI, la configuration OAISIM est utilisée afin de mener des simulations et des émulations
expérimentaux d’un réseau LTE ainsi que ses évolutions. OAISIM permet soit la simulation
moyennant la couche physique complète (PHY) impliquant la convolution du vrai signal PHY
avec un canal émulé en temps réel. Soit la simulation en utilisation l’abstraction PHY qui repose
sur une unité d’abstraction PHY simulant les événements d’erreur dans le décodeur de canal.
OpenAirInterface dispose d’un environnement de développement avancé avec de nombreux ou-
tils tels que des modes d’émulation élevés, une surveillance souple, des outils de débogage et
une journalisation configurable pour toutes les couches et tous les canaux [2].
Comme illustré dans la figure 4.2, l’émulation se déroule en trois phases à savoir :
• Configuration du scénario : disposition de l’expérience et séquence d’initialisation du
composant ;
• Exécution : synchronise l’instance du nœud et exécute l’expérience ;
• Analyse des fichiers log et du résultat : superviser l’expérience et traitez les données
brutes (log).
Le scénario est défini en format XML, qui est utilisé pour configurer l’environnement, la
topologie du réseau, le trafic de l’application et les paramètres d’Entrée/Sortie de l’émulation.
Le comportement du support sans fil est modélisé à l’aide d’une unité d’abstraction PHY qui
émule les événements d’erreur dans le décodeur de canal et fournit des mesures émulées à
partir de la couche PHY en temps réel. De ce fait, Le processus d’émulation peut également
50
Figure 4.2 – Emulation process
être utilisé pour tester de manière contrôlée un prototype de système avant son déploiement
dans un environnement RF réel.
51
mode d’émulation.
Par ailleurs, une autre approche qui devient de plus en plus populaire et qui épouse le
mode de fonctionnement de l’OAI est l’utilisation de plateformes à base des systèmes SDR afin
d’atteindre un maximum de niveau de flexibilité et de réalisme. En e↵et, Il existe plusieurs
projets axés sur l’implémentation logicielle du LTE moyennant des cartes USRP à savoir :
LTEENB [28], OpenLTE, gr-lte [29] et OLSD [30]. Parmi cette liste d’outils, LTEENB atteint
plus de similitudes par rapport à la plateforme OAI en termes de fonctionnalités en particu-
lier en ce qui concerne l’implémentation et l’émulation. Toutefois, il s’agit d’une plateforme
propriétaire commercialisée sous le nom d’Amarisoft. En e↵et, cette dernière est considérée,
au même titre qu’openEPC, comme étant à accès ouvert mais pas open source. Quant à la
plateforme openLTE, bien qu’elle soit bien organisé et facile à personnaliser, elle est jugée
encore incomplète et de nombreuses fonctionnalités sont toujours instables ou en cours de
développement.
De surcroit, WARP [31] et SORA [32] sont également des plateformes largement utilisées
par la communauté scientifique pour des recherches sur les réseaux sans fil, or elles sont
spécialement axées sur la norme 802.11 la rendant moins évolutive. Il est à noter que, bien
qu’elle soit propriétaire, SORA est jugée aussi proche d’OAI dans la mesure où elle intègre
un système LTE complet et une capacité d’émulation intégrant le module SDK de Colombo
[33]. De son côté, srsLTE demeure qu’une simple bibliothèque LTE open source fournissant des
fonctions conformes aux normes pour créer un système LTE et donc cet outil est jugé incom-
plet malgré l’apparition de solutions autonomes eNodeB, UE et, plus récemment, une simple
implémentation EPC.
A la lumière de ces comparaisons, l’OAI possède deux caractéristiques uniques, telles que
mentionnées au début de ce chapitre. D’une part, l’OAI déploie une implémentation logicielle
complète du LTE basée sur les systèmes SDR, open source et conforme aux normes. D’autre
part, elle dispose d’une capacité d’émulation hautement réaliste permettant de mettre en œuvre
des évaluations de système répétables et évolutives. En fin, à travers sa communauté OSA, l’OAI
connait une expansion vertigineuse avec à son actif plusieurs projets de recherche innovants et
plus de 50 laboratoires de recherche universitaires et industriels partenaires.
Etant donné que la conception des systèmes 5G sont toujours sujet de discussion et de
recherche au sein du monde universitaire et industriel, la figure 4.3 présente un ensemble de
projet de recherche 5G identifié par les membres de l’OSA afin de faire évoluer la pile proto-
colaire 3GPP dans le domaine cellulaire tant au niveau de la partie accès qu’au niveau réseau
cœur. Dans cette section, il s’agit de relater une sélection des principaux travaux de recherches
entrepris dans ce cadre à travers des articles scientifiques qui ont déjà été validé.
52
Figure 4.3 – Axes de recherche stratégiques d’OpenAirInterface
Cloud RAN
Les travaux de recherche sur le C-RAN se concentrent essentiellement sur l’optimisation
des ressources matérielles et logicielles ainsi que l’économie de l’énergie. Dans ce contexte,
disposant d’une implémentation complète de la pile protocolaire LTE, la plateforme OAI permet
de mener des bancs d’essai C-RAN prometteur. En e↵et, [34] décrit la mise en place d’un
prototype de réseau d’accès radio C-RAN en utilisant la plateforme OpenAirInterface et du
matériel de base incluant la carte USRP représentant la partie RF. Ainsi, il a été question
d’illustrer le déploiement du ”Remote Cloud Center” (RCC) e↵ectuant un traitement centralisé
en bande de base rattaché à des ”Remote Radio Units” (RRU) connectées via Ethernet. En
outre, cette démonstration a pu illustrer la flexibilité du déploiement de plusieurs architectures
de séparation de protocole de réseau d’accès radio cellulaire en utilisant OAI. Dans ce même
contexte, le troisième scenario du chapitre 5 a pour objectif d’implémenter un système Cloud
RAN complètement virtualisé à l’aide de l’architecture OAISIM en faisant intervenir de multiple
utilisateurs.
Massive MIMO
Faisant partie des axes de recherche clé entrepris par l’OSA, Massive MIMO est considéré
comme étant l’avenir de la prochaine génération de communications sans fil en termes d’ef-
ficacité spectrale et énergétique ainsi que de nombreux autres avantages. Dans ce cadre, [35]
présente un banc d’essai implémentant la technologie massive MIMO via la plateforme Ope-
nAirInterface. Il s’agit de la première expérience au monde a implémenté une station de base
open source conforme au standard LTE dotée d’un réseau d’antennes de grande taille monté sur
des cartes ExpressMIMO2 et USRP pouvant fournir directement des services aux équipements
d’utilisateur commerciaux. Le banc d’essai e↵ectue un étalonnage de réciprocité du canal en
mode TDD pour acquérir des informations précises sur l’état du canal au niveau de l’émetteur
(CSIT). Il montre la possibilité d’utiliser la technologie massive MIMO déjà présente dans
la génération actuelle de la norme LTE en utilisant le mode de transmission ”TM7-TM10”,
53
démontrant la possibilité de pouvoir évoluer en douceur du réseau sans fil 4G à la cinquième
génération.
NOMA
N’ayant jamais été exploré dans le cadre des systèmes de communication actuels et passés,
”Non-Orthogonal Multiple Access” (NOMA) est considéré comme l’une des techniques d’accès
radio proposées pour améliorer l’efficacité spectrale au niveau des futurs réseaux mobiles 5G
par le biais d’un multiplexage utilisateurs dans le domaine énergétique. Bien que le concept de
NOMA ait été proposé il y a plusieurs années, la performance de NOMA n’a été vérifiée qu’en
théorie, mais pas en pratique. Ainsi, le but de l’article [36] est de mettre en œuvre en liaison
descendante un système NOMA basé sur la plateforme OAI en utilisant la technologie SDR.
Dans ce système, un récepteur de type ”Successive Interference Cancellation” (SIC) a été mis
en œuvre en utilisant une méthode de traitement ”multi-thread” afin d’améliorer l’efficacité
du traitement du signal en bande de base. En raison de la limitation des formats ”DownLink
Control Informatiom” (DCI) standard dans les systèmes LTE actuels, un nouveau format DCI
a été spécialement conçu pour la reconstitution des signaux dans le système NOMA développé.
Sur la base de ce système, une série d’expériences des liaisons radio ont été réalisées et les
résultats de l’expérience montrent que le schéma NOMA présente un gain de débit significatif
par rapport à un schéma à accès multiple orthogonal (OMA).
54
Architecture réseau et équipement matériel/logiciel utilisé :
L’architecture adoptée pour ce travail afin de déployer le réseau mobile LTE à base de la
plateforme OpenAirInterface, se compose de deux nœuds physiques telle que présentée par la
figure 4.4. Le premier nœud implémente l’eNB et l’UE puisque ce travail se déroule dans un
environnement entièrement simulé à défaut d’avoir les cartes USRP à disposition. Quant au
deuxième nœud, il implémente l’EPC comprenant le MME, le HSS et le SPGW qui sont in-
terconnectés par des interfaces en boucles locales. Le S-GW et le P-GW sont fusionnés pour
ce déploiement, en conséquence les interfaces S5 et S8 sont inexistantes. Le SPGW est relié
à internet via l’interface SGi dont l’adresse est attribuée par un serveur DHCP. Sur le plan
contrôle, le MME est relié à l’eNB par l’interface S1-C pour l’échange de messages de signali-
sation. Alors que sur le plan data, le module SPGW est relié à l’eNB via l’interface S1-U pour
véhiculer le trafic utilisateur. Le plan d’adressage choisi pour chaque interface est explicité sur
la même figure.
Les deux nœuds constituant le réseau OAI LTE sont à base de machine linux dotée d’une
distribution de système d’exploitation (OS) Ubuntu 14.04.5 LTS 64-bit, étant la plus stable,
et ayant un processeur 4 CPU Intel Core i5 avec 8 Go en mémoire vive ainsi qu’un disque dur
de 500 Go. La machine destinée à l’installation du module EPC dispose d’un noyau 4.7.7 avec
le module GTP activé afin de supporter le protocole GTP utilisé par les passerelles SPGW.
Tandis que la machine implémentant la partie e-UTRAN est à base d’un OS ayant un noyau
3.19 low-latency pour s’a↵ranchir de problème de temps réel du à l’utilisation de cartes USRP
ou autre matériel RF. Le récapitulatif des équipements mise en œuvre dans le cadre de cette
installation est présenté par le tableau ci-dessous.
55
Equipement Hôte 1 (e-UTRAN) Hôte 2 (EPC)
CPU 4 CPU Intel Core i5, 2.5 GHz 4 CPU Intel Core i5, 2.5 GHz
OS Ubuntu 14.04.5 LTS 64-bit Ubuntu 14.04.5 LTS 64-bit
Noyau 4.7.7 avec module GTP activé 3.19 low-latency
RAM 8 Go 8 Go
Ethernet interface Gigabit Ethernet Gigabit Ethernet
1 git clone https :// gitlab . eurecom . fr / oai / linux -4.7. x . git
2 cd linux -4.7. x
3 sudo dpkg -i
4 linux - headers -4.7.7 - oaiepc_4 .7.7 - oaiepc -10.00. Custom_amd64 . deb
5 linux - image -4.7.7 - oaiepc_4 .7.7 - oaiepc -10.00. Custom_amd64 . deb
De même, la version linux ”kernel 3.19 low-latency” est configurée sur la machine UE/eNB en
utilisant les lignes de commande ci-après :
Des configurations supplémentaires sont nécessaires à ajouter dans cette machine. D’abord,
désactiver les ”C-states” à partir du bios afin de réduire la puissance du processeur si la pleine
vitesse n’est pas requise. Ensuite, il faut désactiver le ”CPU frequency scaling” du proces-
seur permettant au système d’exploitation de faire évoluer la fréquence du processeur tout en
économisant de l’énergie. Cette dernière manœuvre est exécutée comme suit :
1 # Install cpufrequtils
2 sudo apt - get install cpufrequtils
3 # Then edit the following file
4 sudo nano / etc / default / cpufrequtils
5 # Add the following line to this file
6 GOVERNOR\="performance
7 # Save and exit
56
8 # Disable ondemand daemon
9 sudo update - rc . d ondemand disable
Aussi, si une personne désire enregistrer son propre code sur le ”git”, il doit alors configurer ce
dernier avec son nom et son adresse email et ajouter à la machine d’installation Ubuntu 14.04
un certificat d’authentification à partir du site web ”www.gitlab.eurecom.fr”.
Pour obtenir le module ”openairinterface5g” supportant l’eNB et l’UE à partir du serveur
”EURECOM gitLab”, la ligne de commande suivante est exécutée :
Il est procédé de la même manière pour obtenir le module ”openair-cn” qui supporte l’EPC
avec ses trois composantes :
En outre, au niveau de la machine EPC, il faut spécifier le ”Fully Qualified Domain Name”
(FQDN) du MME et du HSS qui consiste à donner un nom de domaine complet à un serveur :
Ici, par exemple, le nom de domaine complètement qualifié est ”epc.openair4G.eur” avec ”epc”
est le ”hostname” et ”openair4G.eur” est le ”realm”.
Par ailleurs, la branche ”Master” est par défaut sélectionnée, étant la branche la plus stable.
Alors que la branche ”develop” qui contient les validations récentes testées sur un banc de test
OAI est activée au besoin suivant la syntaxe suivante :
57
1 cd openair - cn # or open ai ri nt er fa ce 5g
2 git checkout develop
3 git pull
Installation du code
A présent, deux dossiers sont placés dans chaque machine à savoir : ”openair-cn” et ”openai-
rinterface5g”. Un script d’installation automatisé est situé dans le répertoire ”cmake-targets”
pour le cas du module UE/eNB et le répertoire ”scripts” quant au module EPC. L’outil ”cmake”
génère automatiquement des ”Makefiles” afin d’installer le système OAI.
Tout d’abord, il est nécessaire de basculer à la branche ”develop” pour pouvoir télécharger
les récents packages mis à jour. Ensuite, à partir du répertoire ”scripts”, le MME, le HSS et les
SPGW sont installés à l’aide :
L’option ”-I” sert à télécharger les packages nécessaires à l’installation ainsi que la mise en
place des dépendances au profit de chaque élément de l’EPC.
1 cd ope na ir in te rf ac e5 G
2 source oaienv # It sets the correct environment variables
3 cd cmake_targets
4 sudo ./ build_oai -I -- install - system - files -- install - optional - packages
Afin de s’enquérir du sens de chaque option, l’entrée ”./build oai–h” est exécutée. Ci-après
une explication de quelques options :
58
• -I : installe les packages requis ;
• -g : ajoute des symboles de débogage aux directives de compilation ;
• - -eNB : installe eNB (cas de la configuration Lte-softmodem) ;
• -x : ajoute la fonction du logiciel ”OAI Scope” aux éléments binaires produits ;
• - -install-system-files : installe les fichiers OAI requis pour le système Linux ;
• -w : ajoute les packages requis à l’installation du matériel RF (USRP, ExpressMIMO2. . . ) ;
• - -install-optional-packages : installe les package optionnels.
Configuration
Afin de pouvoir mettre en œuvre le réseau OAI LTE après l’installation des di↵érents pa-
ckages et modules, des configurations apportées à un nombre de fichiers sont nécessaires aussi
bien au niveau de la machine e-UTRAN qu’au niveau de l’hôte EPC. Les étapes de paramétrage
des trois modules de la partie cœur MME, HSS et SPGW seront explicitées dans cette section.
En revanche, la configuration de la partie e-UTRAN sera traitée tout au long du chapitre 5 en
fonction du scénario mis en place.
Avant de modifier les fichiers de configuration liés à l’EPC, il faut, en premier lieu, procéder
à la copie de ceux-ci dans le dossier ”/usr/local/etc/oai” afin que le système puisse les exploiter
lors de la compilation :
Ensuite, les paramètres de configuration sont appliqués à chaque fichier en vue de les adapter
à cette application de la manière suivante :
• Au niveau du module MME : il est procédé à la modification du fichier ”mme.conf ”
à l’aide de la commande ”gksu” permettant d’éditer le fichier directement en mode ”root”
comme suit :
59
Les modifications e↵ectuées concernent des paramètres réseau tels que le ”Tracking Area Code”
(TAC), ”Mobile Country Code” (MCC), ”Mobile Network Code” (MNC) et les adresses IP
assignées aux interfaces relatives au MME et à l’eNB selon l’architecture réseau de la figure
4.4. Ci-après un extrait de ce fichier :
Un autre fichier doit être modifié dans ce cadre, il s’agit du fichier ”mme fd.conf” qui
implémente le protocole DIAMETER permettant de communiquer avec le HSS via l’interface
S6A.
60
2 Realm = \openair4G ."eur ;
3 ConnectPeer = " hss . openair4G . eur " { ConnectTo = " 127.0.0.1 " ;
4 No_SCTP ; No_IPv6 ; Prefer_TCP ; No_TLS ; port = 3868; realm =
" openair4G . eur " ;};
Ainsi, un nombre de paramètres relatifs à la base de données MySQL sont entrés dans ce
fichier en l’occurrence le nom d’utilisateur et le mot de passe. Ceci a pour objectif de permettre
l’accès à la base de données HSS afin de pouvoir y faire les traitements nécessaires. Quant à
la clé de l’opérateur de la base de données ”oai db”, elle doit être rapportée de telle façon à
correspondre à la clé de l’opérateur de la carte USIM du UE. Il est à noter que la base de
données ”oai db”, a été créée au cours de la phase d’installation.
1 HSS :
2 {
3 # MySQL mandatory options
4 MYSQL_server = " 127.0.0.1 " ;
5 MYSQL_user = " root " ;
6 MYSQL_pass = " linux " ;
7 MYSQL_db = " oai_db " ;
8 # HSS options
9 OPERATOR_key = " 1006020 f 0 a 4 7 8 b f 6 b 6 9 9 f 1 5 c0 6 2 e 4 2 b 3 " ;
10 RANDOM = " true " ;
11 # Freediameter options
12 FD_conf = " / usr / local / etc / oai / freeDiameter / hss_fd . conf " ;
13 };
61
1 gksu gedit / usr / local / etc / oai / spgw . conf
1 S - GW :
2 {
3 NE TW OR K_ IN TERFACES :
4 {
5 # S - GW binded interface for S11 communication ( GTPV2 - C )
6 S G W _ I N T E R F A C E _ N A M E _ F O R _ S 1 1 = " lo " ;
7 S G W_ I P V 4_ A D D R E S S _ F O R _ S 1 1 = " 127.0.11.2/8 " ;
8 # S - GW binded interface for S1 - U communication ( GTPV1 - U )
9 S G W _ I N T E R F A C E _ N A M E _ F O R _ S 1 U _ S 1 2 _ S 4 _ U P = " eth1 :1 " ;
10 S G W _ I P V 4 _ A D D R E S S _ F O R _ S 1 U _ S 1 2 _ S 4 _ U P = " 192.168.12.62/24 " ;
11 S G W _ I P V 4 _ P O R T _ F O R _ S 1 U _ S 1 2 _ S 4 _ U P = 2152;
12 # S - GW binded interface for S5 or S8 communication
13 S G W _ I N T E R F A C E _ N A M E _ F O R _ S 5 _ S 8 _ U P = " none " ;
14 S G W _ I P V 4 _ A D D R E S S _ F O R _ S 5 _ S 8 _ U P = " 0.0.0.0/24 " ;
15 };
16 };
17 P - GW =
18 {
19 NE TW OR K_ IN TERFACES :
20 {
21 # P - GW binded interface for S5 or S8 communication
22 P G W _ I N T E R F A C E _ N A M E _ F O R _ S 5 _ S 8 = " none " ;
23 P G W _ I P V 4 _ A D D R E S S _ F O R _ S 5 _ S 8 = " 0.0.0.0/24 " ;
24 # P - GW binded interface for SGI ( egress / ingress internet traffic )
25 P G W _ I N T E R F A C E _ N A M E _ F O R _ S G I = " eth1 " ;
26 PG W_ MA SQ UE RADE_SGI = " yes " ;
27 UE _T CP_M SS_CLAMPING = " yes " ;
28 };
29 # Pool of UE assigned IP addresses
30 IP_ADDRESS_POOL :
31 {
32 IPV4_LIST = ( " 172.16.0.0/12 " ) ;
33 };
34 # DNS address communicated to UEs
62
35 D E FA U L T _D N S _ I P V 4 _ A D D R E S S = " 8.8.8.8 " ;
36 D E F A U L T _ D N S _ S E C _ I P V 4 _ A D D R E S S = " 8.8.4.4 " ;
37 # Non standard feature , normally should be set to " no " , but you may
need to
38 set to yes for UE that do not explicitly request a PDN address
through NAS signalling
39 F O R C E _ P U S H _ P R O T O C O L _ C O N F I G U R A T I O N _ O P T I O N S = " no " ;
40 UE_MTU = 1500;
41 };
Pour mettre en œuvre le module EPC, il est, toujours, procédé à la compilation et l’exécution
(figure 4.5 et figure 4.6) du HSS en premier lieu. Ceci est réalisé à l’aide des lignes de commande
suivantes :
A présent, il est possible d’accéder à la base de données ”oai db”, présentée par la figure
4.7, en utilisant les paramètres de sécurité configurées préalablement.
Il est procédé de même pour le MME qui est démarré en deuxième lieu à l’aide des lignes
de commande ci-après :
63
Figure 4.5 – HSS est compilé avec succès
1 cd scripts
2 ./ build_mme -c
3 ./ run_mme -i
Le résultat de la compilation et l’exécution du MME est illustré par la figure 4.8 et la figure
4.9.
Pour le SPGW, les lignes de commande ci-dessous sont utilisées afin d’e↵ectuer la compila-
tion et l’exécution des deux passerelles :
64
Figure 4.7 – la base de données ”oai db”
1 cd scripts
2 ./ build_spgw -c
3 ./ run_spgw
Le résultat obtenu est présenté par les captures de la figure 4.10 et la figure 4.11.
65
Figure 4.10 – SPGW est compilé avec succès
Conclusion
Ce chapitre avait pour objectif de présenter OpenAirInterface comme étant une plateforme
suffisamment flexible et évolutive capable de promouvoir la recherche 5G. En e↵et, elle o↵re
une implémentation logicielle open source pour les systèmes LTE/LTE-A compatibles avec la
norme 3GPP et permettant de mettre en place des expériences et des démonstrations en temps
réel grâce à la technologie SDR et aussi mener des bancs d’essai complétement virtuels grâce à
sa capacité d’émulation. En outre, il a été mis en exergue, à travers les bancs d’essai réalisés par
les scientifiques de l’OSA, que l’OAI pourrait devenir une plateforme d’évaluation de référence
pour le développement de la technologie 5G en fournissant aux chercheurs un environnement
de prototypage et de test rapide permettant d’expérimenter de nouvelles innovations. Enfin, le
mode d’emploi relatif à la configuration et à l’installation de l’OAI a été présenté servant de
base afin de réaliser les di↵érents scénario du chapitre 5.
66
Chapitre 5
Introduction
Le présent chapitre consiste à déployer quelques scénarios simulant la mise en place de
réseaux 4G/5G moyennant la plateforme OpenAirInterface au sein du laboratoire de l’Insti-
tut. Cette entreprise a pour but de montrer que l’OAI se présente comme une plateforme de
recherche suffisamment flexible pour implémenter un écosystème cellulaire ouvert, tant pour
l’expérimentation 4G que pour la recherche 5G. En e↵et, afin de mettre en œuvre les bancs
de test permettant d’implémenter les scénarios retenus, il a été procédé à l’installation, la
compilation et l’exécution de la plateforme OAI au niveau de deux machines linux, dont les
caractéristiques techniques sont répertoriées dans le tableau 4.1, suivant les étapes et les confi-
gurations relatées dans la section précédentes et en respectant l’architecture réseau présentée
par la figure 4.4. Ainsi, au niveau du premier scénario, il a été question d’interconnecter la
machine OAISIM, implémentant la partie accès et comprenant l’UE et l’eNB, avec la partie
cœur représentée par la machine linux abritant le module EPC via un lien ETHERNET afin
de simuler la procédure d’attachement d’un seul UE. Ensuite, au niveau du deuxième scénario,
le banc de test a été réalisé de manière à connecter plusieurs utilisateurs simultanément au
réseau en apportant les modifications nécessaires tant au niveau de la partie accès qu’au ni-
veau du réseau cœur. Enfin, le troisième scenario consiste à implémenter un module 5G à base
d’un système Cloud RAN complètement virtualisé à l’aide de l’architecture OAISIM en vue
de permettre d’une part l’évaluation des performances de tel système dans di↵érents scénarios
réalistes, d’autre part le déploiement flexible de toute configuration future évoluant dans une
infrastructure de cloud computing.
67
dans le tableau 4.1 et qui seront mis à contribution pour réaliser les autres scénarios. Cette
expérimentation consiste à installer, en premier temps, l’architecture EPC ainsi que ses mo-
dules au sein de la première machine linux qui sera interconnectée par la suite à la deuxième
machines implémentant la composante OAISIM qui comprend l’eNB et l’UE. Pour ce faire, les
modules HSS, MME et SPGW ont été configurés, installés et compilés suivant les étapes et
la configuration décrites précédemment. Aussi, les informations relatives à la carte USIM ont
été renseignées dans la base de données HSS pour permettre l’authentification du UE. A l’aide
des lignes de commande explicitées dans la section ”installation de l’OAI”, il a été procédé à
la mise en œuvre du module EPC en commençant par l’exécution de la base de données HSS,
puis le gestionnaire de mobilité MME et enfin les passerelles SPGW.
De même, les modules nécessaires pour exécuter l’OAISIM, eNodeB et UE ont été installés
et compilés. Aussi, tous les fichiers permettant de se connecter à l’EPC ont été configurés en
respectant le tutoriel présenté par le chapitre 4. En e↵et, en respectant l’architecture réseau
retenue pour tous les scénarios, les parties MME et le SPGW sont reliées à l’eNB via l’inter-
face virtuelle eth0 : 1 (192.168.12.82). En revanche, le MME, HSS et SPGW sont connectés
entre eux via l’interface ”loopback” puisqu’ils sont installés dans la même machine. En outre,
le fichier ”ue eurecom test sf r.conf ” a été modifié afin de permettre au UE de s’authentifier
auprès de la base de données HSS. Les informations utilisées dans ce banc d’essai et permettant
d’identifier l’UE sont présentées comme suit :
• Ki Value : fec86ba6eb707ed08905757b1bb44b8f ;
• Operator key : dbc4e25644591a59aa700857a2bf095b ;
• IMSI : 208930100001111 ;
• MSISDN : 33611123456 ;
• IMEI : 356113022094149.
Ainsi, lorsqu’un UE tente de se connecter au MME, le HSS vérifie les informations de
sécurité en calculant automatiquement la clé de l’opérateur à l’aide de la valeur ”Ki” du UE.
Si la clé calculée est identique à celle fournie par l’UE, alors il est autorisé à être attaché à la
MME, sinon il est rejeté.
Afin de mettre en marche le réseau LTE de ce scénario en connectant la partie e-UTRAN
à la partie cœur, la ligne de commande ci-dessous est utilisée afin de procéder à la compilation
du programme :
68
Figure 5.1 – la compilation est e↵ectué avec succès
Une fois la compilation est correctement e↵ectuée (figure 5.1), la phase du ”Run” est
exécutée en faisant appel au fichier exécutable crée lors de la compilation :
Le module EPC étant correctement exécuté à travers ces trois composantes, le module
OAISIM comprenant l’eNB et l’UE se connecte avec succès au réseau cœur (figure 5.2). Ceci
est clairement observé via le tableau inclus dans le fichier log MME illustré par la figure 5.3.
69
Figure 5.2 – UE et eNB connectés avec succès
Ensuite, il génère des messages ”System Information Block” (SIB). Il s’agit de la phase
initialisation. Ensuite, l’eNB envoie un message SIB1, SIB2 et SIB3 via le canal BCCH
vers l’UE qui procède au décodage de ces messages une fois reçus.
70
1 [ RRC ][ I ][ UE 0] Received SIB1 / SIB2 / SIB3 Switching to RRC \ _SI \ _RECEIVED
UE configure les couches PHY/MAC en fonction de ces message et les identifiants RA-RNTI
et C-RNTI temporaire sont attribués. La procédure ”Random Access” s’e↵ectue avec succès.
• RRC Connection Establishment : L’UE identifié par le C-RNTI utilise une alloca-
tion UL-SCH pour envoyer le message de demande de connexion RRC. Ce message
contient une identité UE (généralement S-TMSI : MMEC + M-TMSI). Le message inclut
également la cause d’établissement de la connexion RRC.
L’eNodeB répond par un message RRC Connection Setup sur le DL-SCH. Le message
crée le ”Signaling Radio Bearer” (SRB) en mode acquittement. Le message contient également
des paramètres de configuration pour la liaison montante RLC, UL-SCH, ”Power Head Room”
(PHR) et le contrôle de puissance en liaison montante.
1 [ RRC ][ I ][ FRAME 00011][ eNB ][ MOD 00][ RNTI 521 d ][ RAPROC ] Logical Channel
DL - CCCH , Generating RRCConnectionSetup ( bytes 25)
71
Ce message est également utilisé pour lancer la procédure d’attachement en envoyant la
demande d’attachement en tant que charge utile NAS au MME via l’interface S1AP.
A travers l’interface S6a, Le MME contacte le HSS via le protocole DIAMETER en envoyant
le message ”Authentication Info Request” pour récupérer le vecteur d’authentification.
1 INFO NAS \ - EM ir \ - cn / src / nas / emm / sap / emm_send . c :0908 EMMAS \ - SAP \ -
Send
2 Authentication Request message
72
A partir du message ”Authentication Request”, L’UE calcule ensuite les clés de chif-
frement et d’intégrité ainsi que son sceau d’authentification nommée ”RES”. Cette valeur est
transmise au MME à travers le message ”Authentication Response”.
1 INFO NAS - EM ir - cn / src / nas / emm / sap / emm_send . c :796 MMAS - SAP - Send
Security Mode Command message
L’UE informe le MME de la génération des clés de sécurités NAS en fonction de l’algorithme
choisi par le MME via le message ”Security Mode Complete”.
Le MME envoie la requête ”Update Location Request” vers le HSS afin de lui notifier
la prise en charge du UE (authentifié) et pour réclamer la récupération du profil d’abonnement
du client.
Le HSS envoie le profil de souscription du client au MME encapsulé dans le message ”Up-
date Location Answer”. A partir de cette confirmation, le MME peut créer une session EPS
et un ”bearer EPS” par défaut.
73
3 l :576 , C :277/ l :12 , C :264/ l :25 , C :296/ l :21 , C :268/ l :12}
Dans la réponse ”Create Session Response” destinée au SGW, le PGW indique l’iden-
tifiant ”Tunnel Endpoint IDentifier” (TEID) pour établir le tunnel GTP sur l’interface S5 avec
le SGW. Le SGW transfère ensuite le message ”Create Session Response” au MME en
allouant un identifiant S1 TEID pour créer le tunnel S1 GTP associé au bearer S1 entre l’eNb
et le SGW.
1 INFO NAS - EM ir - cn / src / nas / emm / sap / emm_send . c :0180 EMMAS - SAP - Send
Attach
2 Accept message
Le message ”Attach Request” est encapsulé dans le message ”Initial Context Setup
Request” du protocole S1-AP.
74
Et ensuite sur le lien radio via le protocole ”RRC Connection Reconfiguration” en vue
d’être envoyé au UE afin d’activer le ”default radio bearer”.
1 [ RRC ][ I ][ FRAME 00027][ UE ][ MOD 00][ RNTI 521 d ] Logical Channel UL - DCCH
( SRB1 )
2 , Generating R R C C o n n e c t i o n R e c o n f i g u r a t i o n C o m p l e t e ( bytes 2 , eNB_index
0)
L’eNB envoie à son tour le message ”Initial Context Setup Response” au MME incluant
l’identifiant S1 TEID. Le MME de sa part transfère ce message vers le S-GW pour que ce dernier
puisse connaitre le S1-TEID et procéder à la construction du lien avec l’eNB.
Le ”S1 bearer” est ainsi établi via le protocole S1 GTP-U. Le S-GW attend la confirmation
de la connexion du UE. Ce dernier envoi le message ”Attach Complete” au MME, en réponse
au message ”Attach Accept” pour confirmer son attachement auprès du MME.
Une fois la procédure ”UE Attach” est achevée, une interface virtuelle nommée ”oip1” est
créée et dotée d’une adresse IP (172.16.0.112) assignée par le P-GW indiquant l’établissement
d’un ”S1 bearer”. A travers cette interface, il est possible d’étudier le comportement du UE sur
le plan data. La figure 5.4 illustre les caractéristiques de l’interface générée.
75
Figure 5.4 – l’interfaces virtuelle ”oip1” côté e-UTRAN
Côté EPC, l’interface gtp0 a été créée en guise d’établissement du tunnel GTP lors de
l’opération d’attachement afin d’atteindre le P-GW. La figure 5.5 donne un aperçu de cette
interface virtuelle.
Pour évaluer la connectivité du UE avec le réseau extérieur, un ping a été e↵ectué entre l’UE
et internet à partir de l’interface ”oip1”. Le résultat obtenu est concluant comme le montre la
figure 5.6.
76
De même, afin de vérifier la connexion entre le P-GW et l’UE, un ping est lancé au UE à
travers son interface ”oip1”, à partir de la passerelle P-GW via son interface gtp0. L’opération
ICMP est illustrée par la figure 5.7.
Au vu des résultats obtenus, il a été démontré que l’UE a pu s’attacher au réseau et que
le plan data a bien été établi entre le terminal virtuel et internet. Ce dernier constat peut être
compris d’avantage par les captures Wireshark affichées par la figure 5.8 et la figure 5.9.
Figure 5.8 – Capture Wireshark d’une requête ICMP entre oip1 et gtp0
77
Figure 5.9 – Capture Wireshark d’une requête ICMP entre oip1 et internet
78
Utilisateurs Paramètres de la carte USIM
• Ki Value : fec86ba6eb707ed08905757b1bb44b8f ;
UE 0
• Operator key : dbc4e25644591a59aa700857a2bf095b ;
• IMSI : 208930100001111 ;
• MSISDN : 33611123456 ;
• IMEI : 356113022094149.
• Ki Value : fec86ba6eb707ed08905757b1bb44b8f ;
UE 1
• Operator key : dbc4e25644591a59aa700857a2bf095b ;
• IMSI : 20893 0100001112 ;
• MSISDN : 33638030012 ;
• IMEI : 35609304079212.
• Ki Value : fec86ba6eb707ed08905757b1bb44b8f ;
UE 2
• Operator key : dbc4e25644591a59aa700857a2bf095b ;
• IMSI : 20893 0100001113 ;
• MSISDN : 33638030013 ;
• IMEI : 35609304079213.
Une fois le fichier OAISIM paramétré, la compilation de la machine OAISIM est relancée
pour tenir compte des nouvelles configurations. Par la suite, afin de pouvoir émuler les trois
utilisateurs en même temps, les fichiers ”.nvramX” sont générés à l’aide de la commande :
1 sudo -E ./ conf2uedata -c
~/ OPENAIR_DIR / openair3 / NAS / TOOLS / ue_eurecom_test_sfr . conf -o
~/ OPENAIR_DIR / cmake_targets / oaisim_build_oai / build
79
Figure 5.10 – Attachement avec succès de UE0, UE1 et UE2 au MME
Du côté HSS, le résultat est confirmé à travers l’enregistrement aves succès des trois UEs
auprès de la base de données lors de l’opération d’authentification comme ceci est reflété par
la capture de la figure 5.11 et les messages, ci-dessous, extraits du fichier log :
80
Chaque UE écoute sur un port UDP pour recevoir des commandes ”Hayes”. Le port par
défaut est 10000 pour le premier UE, 10001 pour le second et 10002 pour le troisième. Ceci
peut être démontré à travers les messages log suivants :
Par ailleurs, Afin d’examiner le bon fonctionnement du plan data, des requêtes ICMP ont
été lancées à partir de chaque UE via l’interface ”oipX” en vue de vérifier la connectivité avec
le réseau extérieur. En e↵et, les interfaces virtuelles ”oipX” ont été créées avec succès après
l’opération d’attachement comme illustrée par la figure 5.12.
Et le ping entre chaque UE et Internet est e↵ectué correctement comme cela est affiché sur
la figure 5.13.
81
Figure 5.13 – ping concluant vers internet via les interfaces UE0, UE1 et UE2
Un autre outil est implémenté dans l’OAI appelé ”OAI Performance Profiler” destiné à
mesurer et analyser le temps d’exécution des di↵érents opérations intervenant dans les échanges
82
entre l’UE et l’eNB. La figure 5.15 présente une capture du résultat obtenu après le lancement
de cet outil au profit du deuxième scénario.
Figure 5.15 – Résultat obtenu par ”OAI Performance Profiler” entre l’UE0 et l’eNB
En récapitulatif, lors de cette expérience, l’objectif était de parvenir à émuler cette fois
l’opération d’attachement de trois UEs simultanément au réseau OAI LTE. A cet e↵et, en
faisant appel aux fichiers log, aux requêtes ICMP ainsi que les outils o↵erts par la plateforme,
le plan de contrôle a été examiné au même titre que le plan data.
83
génération définis par l’OSA. S’inscrivant dans cette optique, le troisième scénario a pour ob-
jectif de mettre en place un module 5G Cloud RAN en utilisant l’émulateur OAI afin d’évaluer
les performances de telle architecture ainsi que de permettre l’étude et le test en laboratoire de
toute architecture évoluant dans une infrastructure de cloud computing avant son déploiement
futur. Pour ce faire, ce banc d’essai a été basé sur les deux machines utilisées précédemment
pour implémenter le réseau d’accès et la partie cœur suivant l’architecture explicité par la figure
5.16. L’environnement et les conditions d’exécution des trois modules constituant la machine
EPC sont maintenus à l’instar des deux autres scénarios. En revanche, la machine e-UTRAN a
été reconfigurée tout en gardant le même environnement.
En e↵et, afin d’implémenter la partie accès dans cette démonstration, il a été sujet d’utiliser
la branche ”develop” qui supporte la version ”oaisim-rru” permettant d’extraire les modules
nécessaires pour déployer le RRH/UE et le BBU. Ainsi, malgré quelques bugs dus à l’instabilité
de la branche ”develop”, Les modules contenus dans cette version permettent de mener des
simulations sans carte RF ou UE réelle. Comme illustré sur la figure 5.16, la version oaisim-
rru fournit un module intégré qui englobe l’UE et le RRH. Etant déployés sur le même hôte,
le RRH et le BBU sont connectés via l’interface ”loopback”, tandis que le BBU est connecté
via l’interface virtuelle eth0 :1 (192.168.12.82) à l’EPC. En utilisant la bande 7 de l’Evolved
Universal Mobile Télécommunications System (UMTS) Terrestrial Radio Access (E-UTRA) et
à l’image des autres scenarios, la fréquence utilisée en liaison descendante est de l’ordre de 2680
MHz alors qu’en liaison montante, elle est égale à 2560 MHz. Le mode de duplexage utilisé est
le ”Frequency Division Duplex” (FDD) avec une bande passante d’environ 5 MHz.
Deux fichiers sont à traiter pour mettre en œuvre l’eNB dans l’architecture C-RAN selon le
schéma de réseau de la figure 5.16.
Ainsi, le premier fichier nommée ”rru.band7.tm1.if4p5.25PRB.oaisim.conf” est paramétré
afin de démarrer le RRH, tandis que le fichier ”rcc.band7.tm1.if4p5.25PRB.lo.conf” est configuré
en vue de lancer le BBU. Les extraits de ces deux fichiers de configuration sont présentés par
l’annexe B. Au niveau de cette démonstration, deux utilisateurs sont mis à contribution afin de
s’attacher au réseau. Pour cela, les données de configuration USIM utilisées sont celles des UE0
84
et UE1 mentionnées dans le tableau et qui sont déjà enregistrées dans la base de données HSS
permettant de vérifier l’identité de ses deux UEs. Ses données d’authentification sont reportées
sur le fichier ”ue eurecom test sfr.conf”.
Après le paramétrage des fichiers ”oaisim-rru”, la compilation de la machine RRH +
U E/BBU est relancée pour tenir compte des nouvelles configurations. Par la suite, afin de
pouvoir émuler les deux utilisateurs en même temps, les fichiers ”.nvramX” sont générés à
l’aide de l’exécutable ”conf 2uedata” à l’instar du deuxième scénario.
Dans le but de démarrer le module OAI RRU (RRH)/UE, la ligne de commande suivante
est utilisée :
Une fois, ce module est correctement exécuté, le résultat affiché sur l’écran est donné par la
figure 5.17.
Figure 5.17 – OAI RRU est exécutés correctement et reste en attente de la connexion OAI RCC
De même, afin d’exécuter le module BBU, la ligne de commande ci-dessous est entrée au
niveau du shell :
85
1 sudo -E gdb -- args ./ lte - softmodem -O
2 / home / salaheddine / openair5G / op en ai ri nt er fa ce 5g / targets / PROJECTS
3 / GENERIC - LTE - EPC / CONFrcc . band7 . tm1 . if4p5 .25 PRB . lo . conf
Après que l’OAI RCC (BBU) est connecté avec succès à l’OAI RRU (RRH), la sortie affichée
sur le terminal est illustrée par la figure 5.18.
86
Après l’accomplissement de la phase d’authentification, les deux UEs sont attachés au MME
suivant le tableau des connexions extrait du fichier log MME présenté par la figure 5.20.
Par conséquent, le BBU est associé au MME avec succès suivant le message inclut dans le
fichier log OAI RCC comme suit :
Par ailleurs, à titre d’exemple, la figure 5.21 donne un aperçu sur le comportement de l’UE0
au niveau du plan contrôle en liaison descendante via l’outil ”OAI Soft Scope”. En e↵et, elle
présente les données transmises sur la trame en cours ainsi que les informations relatives aux
ressources à allouer au UE en liaison montante. Ces données de contrôle appelées Downlink
Control Information (DCI) sont transmises sur le canal PDCCH. Aussi, cette figure présente
les transactions qui s’opèrent au niveau du canal PDSCH qui supporte les canaux de transport
DL-SCH et le PCH permettant de transmettre le trafic utilisateur ainsi que des informations
sur le ”paging”.
Par ailleurs, afin d’étudier et surveiller les réseaux OAI à tester, l’OSA a prévu le Frame-
work ”T-tracer”. Il s’agit d’un outil puissant qui permet d’examiner la pile protocolaire (PHY,
MAC, RLC, PDCP et RRC) entre l’UE sélectionné et l’eNB ainsi que d’autres informations.
Ces informations concernent le type de modulation et de codage adoptés, les canaux physiques
(PUSCH, PUCCH), la puissance du signal reçu, l’énergie du UE sélectionné, les messages HAR-
Q/ACK/NACK, le débit mesuré en UL et en DL et des messages log pour le ”troubleshooting”.
Cet outil a été conçu spécialement au profit de la configuration ”LTE-Softmodem” à base de
matériel RF, mais en téléchargeant des packages mis à jour pour les versions récentes du module
”openairinterface5G”, ”T-tracer” a pu fonctionner dans un environnement OAISIM en utilisant
l’option ”–T-tracer” à ajouter avant la compilation. La figure 5.22 donne le résultat obtenu avec
l’outil ”T-tracer” lors des échanges entre l’UE0 et le BBU pris à titre d’exemple.
Sur le plan data, la figure 5.23 montre la capacité des deux utilisateurs à accéder à internet
87
Figure 5.21 – DL Scope de l’eNB (RRH/BBU) au UE0
Figure 5.22 – Résultat obtenu par T-tracer entre l’UE0 et l’eNB (RRH/BBU)
via le réseau OAI C-RAN mise en œuvre dans le cadre de ce banc d’essai. En e↵et, en lançant
une requête ICMP à l’adresse ”google.com” à travers les interfaces virtuelles ”oipX”, le ping
s’exécute avec succès. Les adresses des interfaces ”oip1” (172.16.0.116) et ”oip2” (172.16.0.118)
représentant respectivement l’UE0 et l’UE1 sont assignées par le P-GW lors du processus
d’attachement au réseau.
88
Figure 5.23 – Ping concluant vers internet via les interfaces UE0 et UE1
De surcroit, l’outil ”traceroute” a été utilisé afin de voir plus en détail le comportement des
paquets envoyés par les deux UEs à destination du lien ”google.com”. Le tableau 5.2 montre
la réponse temporelle du passage du paquet, sortant du UE en utilisant l’interface virtuelle
”oipX” , par tous les hôtes avant d’arriver à l’adresse cible.
Table 5.2 – Informations obtenues par traceroute via les interfaces UE0 et UE1
89
Conclusion
Au cours de ce chapitre, il a été sujet de présenter trois scénarios relatifs au déploiement
d’un réseau 4G/5G via la plateforme OpenAirInterface dans le but de fournir une configuration
expérimentale proche de la réalité au profit de ce type de réseau mobile ainsi que pour les
architectures futures en utilisant un outil open source au lieu de modules commerciaux. En e↵et,
le premier et le deuxième banc d’essai avaient pour objectif d’étudier le processus d’attachement,
respectivement, d’un seul UE et de plusieurs UEs au réseau OAI LTE. Quant à la troisième
expérience, il a été question de décrire le déploiement et la configuration d’un module 5G à base
de l’architecture C-RAN en utilisant l’OAI afin de desservir deux UEs. Les di↵érents résultats
obtenus au niveau des trois scenarios ont été expliqués à l’aide de captures d’écran, outils de
surveillance OAI dédiés et de fichiers log.
90
Annexe A
93
48 };
49 UE1 :
50 {
51 USER : {
52 IMEI = " 35609304079212 " ;
53 MANUFACTURER = " EURECOM " ;
54 MODEL = " LTE Android PC " ;
55 PIN = " 0000 " ;
56 };
57 SIM : {
58 MSIN = " 0100001112 " ;
59 USIM_API_K = " 8 b a f 4 7 3 f 2 f 8 f d 0 9 4 8 7 c c c b d 7 0 9 7 c 6 8 6 2 " ;
60 OPC = " e 7 3 4 f 8 7 3 4 0 0 7 d 6 c 5 c e 7 a 0 5 0 8 8 0 9 e 7 e 9 c " ;
61 MSISDN = " 33638030012 " ;
62 };
63 # Home PLMN Selector with Access Technology
64 HPLMN = " 20893 " ;
65
66 # User controlled PLMN Selector with Access Technology
67 UCPLMN_LIST = () ;
68
69 # Operator PLMN List
70 OPLMN_LIST = ( " 20811 " , " 20813 " ) ;
71
72 # Operator controlled PLMN Selector with Access Technology
73 OCPLMN_LIST = ( " 22210 " , " 21401 " , " 21406 " , " 26202 " , " 26204 " ) ;
74
75 # Forbidden plmns
76 FPLMN_LIST = () ;
77
78 # List of Equivalent HPLMNs
79 # TODO : UE does not connect if set , to be fixed in the UE
80 # EHPLMN_LIST = ("20811" , "20813") ;
81 EHPLMN_LIST = () ;
82 };
83 UE2 :
84 {
85 USER : {
86 IMEI = " 35609304079213 " ;
87 MANUFACTURER = " EURECOM " ;
88 MODEL = " LTE Android PC " ;
89 PIN = " 0000 " ;
90 };
91 SIM : {
92 MSIN = " 0100001113 " ;
93 USIM_API_K = " 8 b a f 4 7 3 f 2 f 8 f d 0 9 4 8 7 c c c b d 7 0 9 7 c 6 8 6 2 " ;
94 OPC = " e 7 3 4 f 8 7 3 4 0 0 7 d 6 c 5 c e 7 a 0 5 0 8 8 0 9 e 7 e 9 c " ;
95 MSISDN = " 33638030013 " ;
96 };
97 # Home PLMN Selector with Access Technology
98 HPLMN = " 20893 " ;
99
100 # User controlled PLMN Selector with Access Technology
101 UCPLMN_LIST = () ;
102
103 # Operator PLMN List
104 OPLMN_LIST = ( " 00101 " , " 20810 " , " 20811 " , " 20813 " , " 20893 " , " 310280 " ,
" 310028 " ) ;
105
106 # Operator controlled PLMN Selector with Access Technology
107 OCPLMN_LIST = ( " 22210 " , " 21401 " , " 21406 " , " 26202 " , " 26204 " ) ;
108
109 # Forbidden plmns
110 FPLMN_LIST = () ;
111
112 # List of Equivalent HPLMNs
113 # TODO : UE does not connect if set , to be fixed in the UE
114 # EHPLMN_LIST = ("20811" , "20813") ;
115 EHPLMN_LIST = () ;
116 };
94
Annexe B
95
45 pucch_n1_AN = 32;
46 pdsch_referenceSignalPower = -29;
47 pdsch_p_b = 0;
48 pusch_n_SB = 1;
49 pusch_enable64QAM = " DISABLE " ;
50 pusch_hoppingMode = " interSubFrame " ;
51 pusch_ ho p p in g O ff s e t = 0;
52 pusch_groupHoppingEnabled = " ENABLE " ;
53 pus ch_ g r o u p A s s i g n m e n t = 0;
54 pusch_sequenceHoppingEnabled = " DISABLE " ;
55 pusch_nDMRS1 = 1;
56 phich_duration = " NORMAL " ;
57 phich_resource = " ONESIXTH " ;
58 srs_enable = " DISABLE " ;
59 pusch_p0_Nominal = -95;
60 pusch_alpha = " AL1 " ;
61 pucch_p0_Nominal = -104;
62 msg3_d el t a _P r e am b l e = 6;
63 pucch_ d e l t a F _ F o r m a t 1 = " deltaF2 " ;
64 puc ch_ d e l t a F _ F o r m a t 1 b = " deltaF3 " ;
65 pucch_ d e l t a F _ F o r m a t 2 = " deltaF0 " ;
66 puc ch_ d e l t a F _ F o r m a t 2 a = " deltaF0 " ;
67 puc ch_ d e l t a F _ F o r m a t 2 b = " deltaF0 " ;
68 rach_numberOfRA_Preambles = 64;
69 rach_preamblesGroupAConfig = " DISABLE " ;
70 rac h_p o w e r R a m p i n g S t e p = 4;
71 rach_preambleInitialReceivedTargetPower = -104;
72 rac h_p r e a m b l e T r a n s M a x = 10;
73 rach_raResponseWindowSize = 10;
74 rach_macContentionResolutionTimer = 48;
75 rach_m ax H A RQ _ M sg 3 T x = 4;
76 pcch_default_PagingCycle = 128;
77 pcch_nB = " oneT " ;
78 bcch_modificationPeriodCoeff = 2;
79 ue_TimersAndConstants_t300 = 1000;
80 ue_TimersAndConstants_t301 = 1000;
81 ue_TimersAndConstants_t310 = 1000;
82 ue_TimersAndConstants_t311 = 10000;
83 ue_TimersAndConstants_n310 = 20;
84 ue_TimersAndConstants_n311 = 1;
85 ue_Tra ns m i ss i o nM o d e = 1;
86 }
87 );
88 srb1_parameters :
89 {
90 # ti m e r _ p o l l _ r e t r a n s m i t = ( ms ) [5 , 10 , 15 , 20 ,... 250 , 300 , 350 ,
... 500]
91 tim e r _ p o l l _ r e t r a n s m i t = 80;
92 # timer_reordering = ( ms ) [0 ,5 , ... 100 , 110 , 120 , ... ,200]
93 timer_reordering = 35;
94 # timer_reordering = ( ms ) [0 ,5 , ... 250 , 300 , 350 , ... ,500]
95 tim e r _ s t a t u s _ p r o h i b i t = 0;
96 # poll_pdu = [4 , 8 , 16 , 32 , 64 , 128 , 256 , infinity ( >10000) ]
97 poll_pdu = 4;
98 # poll_byte = ( kB )
[25 ,50 ,75 ,100 ,125 ,250 ,375 ,500 ,750 ,1000 ,1250 ,1500 ,2000
99 ,3000 , infinity
100 ( >10000) ]
101 poll_byte = 99999;
102 # max_retx_threshold = [1 , 2 , 3 , 4 , 6 , 8 , 16 , 32]
103 max_ re tx _t hr es ho ld = 4;
104 }
105 # ------- SCTP definitions
106 SCTP :
107 {
108 # Number of streams to use in input / output
109 SCTP_INSTREAMS = 2;
110 SCTP_OUTSTREAMS = 2;
111 };
112 ////////// MME parameters :
113 mme_ip_address = ( { ipv4 = " 192.168.12.62 " ;
114 ipv6 = " 192:168:30::17 " ;
96
115 active = " yes " ;
116 preference = " ipv4 " ;
117 }
118 );
119 NETWORK_INTERFACES :
120 {
121 ENB_INTERFACE_NAME_FOR_S1_MME = " eth0 :1 " ;
122 ENB_IPV4_ADDRESS_FOR_S1_MME = " 192.168.12.82/24 " ;
123 ENB_INTERFACE_NAME_FOR_S1U = " eth0 :1 " ;
124 ENB_IPV4_ADDRESS_FOR_S1U = " 192.168.12.82/24 " ;
125 ENB_PORT_FOR_S1U = 2152; # Spec 2152
126 };
127 rrh_gw_config = (
128 {
129 local_if_name = " lo " ;
130 remote_address = " 127.0.0.2 " ; # local address for
" rcc . band7 . tm1 . if4p5 .25 PRB . lo . conf " file
131 local_address = " 127.0.0.1 " ; # remote address for
" rcc . band7 . tm1 . if4p5 .25 PRB . lo . conf " file
132 local_port = 50000; # for raw option local port must be the same to
remote
133 remote_port = 50000;
134 rrh_gw_active = " yes " ;
135 tr_preference = " udp_if4p5 " ;
136 rf_preference = " usrp_b200 " ;
137 iq_txshift = 4;
138 tx_sample_advance = 80;
139 tx_ sch e d u l i n g _ a d v a n c e = 9;
140 if_compression = " alaw " ;
141 }
142 );
143 log_config :
144 {
145 global_log_level = " info " ;
146 global _ l o g _ v e r b o s i t y = " medium " ;
147 hw_log_level = " info " ;
148 hw_log_verbosity = " medium " ;
149 phy_log_level = " info " ;
150 phy_log_verbosity = " medium " ;
151 mac_log_level = " info " ;
152 mac_log_verbosity = " high " ;
153 rlc_log_level = " info " ;
154 rlc_log_verbosity = " medium " ;
155 pdcp_log_level = " info " ;
156 pdcp_l og_verbosity = " medium " ;
157 rrc_log_level = " info " ;
158 rrc_log_verbosity = " medium " ;
159 };
160 }
161 );
97