Openairinterface Emulation Platform and Methodology...
Transcript of Openairinterface Emulation Platform and Methodology...
Openairinterface Emulation Platform and Methodology
This work is licensed under a CC attribution
Share-Alike 3.0 Unported license.
Attribution: You must attribute this work to the author(s).
Commercial: You may use this work for commercial purposes.
Derivative Works: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same,
similar or a compatible license.
GNU GPL License
Agenda
Introduction
OAI Emulation methodology Experiment design Architectural design Hardware platforms
Additional tools
OAI Emulation process and usage
Case study MESH: CHORIST, and HNPS LTE: LOLA, CONECT
OAI Web tools and development area
Reference
2
Introduction
Next generation wireless systems are becoming complex
Evolving cellular network (LTE/LTE-A)
multihop networks (WMN/WSN/VANET/DTN)
Need a reliable performance evaluation
Analytical approach is difficult
Stochastic factors from channel/mobility/traffic
Experimental approach
Simulation
Emulation
Real testbeds
3
A brief Comparison
Simulation
No interaction with the external entities (closed environment)
Part or all of the elements of a network/system is modeled or abstracted
Emulation
Bring the external elements with their I/O streams (open environment)
Decision on which element is real or modeled depends on the use case
and purpose of the experiments
At least one thing is modeled
Real testbed
All the elements are real
Part of the testbed maybe controlled
4
A brief Comparison
Experiment Scenario Setup
Abstraction / Modeling
Reproducibility Scalability / Costs
Limitation Net Traffic & Mobility
Analytical +++ - +++ +++ CPU/Abstracted/
Modeled
Simulation ++ + +++ ++ Abstraction Modeled
Emulation + ++ ++ ++ CPU/CostModeled
/ Real
Real Testbed
- NA - - Cost Real
5
Purpose of an Experimentation
Examine properties of an existing, planned and/or non-ideal network
Validation and integration
Performance evaluation (app,proto, alg, technique)
System testing and optimization
6
Classification of Validation Platforms
Analytical
• UML
• FreeMat
• IDL
• Matlab
• SciLab
• Octave
Simulation
• Sinalgo
• NetSim
• GloMoSim/Qualnet
• NS-3
• Opnet
• Omnet++
Emulation
• NS3
• NistNEt
• CORE
• USPR2
• WARP
• CMU-DSR
• ORBIT
• OAI
Real Testbed
• PlanetLab/OneLab
• NITOS
• GnuRadio
• WARP
• ORBIT
• Sundance, BEE2, WiTestLab
• USPR2
• OAI
Scalability Reproducibility Applicability
Abstraction Level Realism Level
8
ORBIT: Real Testbed
Each ORBIT node is a micro-computer with Linux Operation system two-dimensional grid of 400 802.11 radio nodes interconnecting with user-specific topology
Nodes are connected like a grid with wired or wireless communication links Lib mac allows extraction of PHY measurement including RSSI, Txrate from the driver)
12
OAI Emulation platform
An open source HW/SW platform for innovations in emerging air interface technologies as well as wireless networking Complete system including layer 1/2/3 platform interconnected to
Linux IP protocol stack in a controlled laboratory environment
emu.openairinterrface.org
www.openairinterface.org
twiki.eurecom.fr
forums.eurecom.fr/openairinterfaceThis work is licensed under a CC attribution
Share-Alike 3.0 Unported license. GNU GPL License
15
OAI Emulation Methodology
Specify experiment and architectural design with the following properties Reproducibility
repeat the experiment in the controlled environment
Scalability run medium-to-large scale networking experimentations
Applicability represent a set of realistic scenarios and use-cases
Simulation Soft Realtime
Emulation
Hard Realtime
EmulationReal Testbed
Scalability Reproducibility Applicability
Abstraction Level Realism Level
17
Key Features
Real time distributed validation environment with a real
setting with/without RF equipments
Real protocol stack implementation
End-to-end IPv4/IPv6 packet transition with QoS support
Repeat the experiment and compare the results in fair and
realistic conditions
Emulate a medium-to-large scale networks on one or more
machines
18
Building Blocks
Linux IP network interface
Real L1/L2/L3 protocol stack (not modeled)
PHY Abstraction Modem, physical channels, along with propagation
Emu transport mechanism (or combination)Direct memory transfer for realtime behavior with virtualized
protocol stack
Ethernet (ip multicast) not realtimeECOS and RTNET support realtime Ethernet
A set of tools
L2 Protocols
PHY Procedures
Emulation Medium
OAI Network Interface
L3 Protocols
PHY Abstraction
19
OAI Emulation Workflow
UE 0UE 1
UE 2
eNB 0
Emulation Platform
Web Interface
Results
DB
NOT SYNCHED
ATTACHED
CONNECTED
SYNCHED
20
Use Cases
Protocol implementation validation Enables developers of L2/L3 and applications to test their
implementation in a real-time setting without the need for RF equipment
Repeatable and scalable real-time experiments (hundreds of nodes)
System performance evaluation For L2/L3 protocol and application assessment
Use of accurate and fast PHY abstraction models
Possibility of using / combining Real channel measurement traces as simulation stimulus (input
from EMOS)
Real live network with RF equipment interconnected with the emulation platform
21
Experiment Design
Allow reproducibility of the experiment
Concept of sequential experiment workflow
the output of each step will be the input of the next
OAI defines five consecutive steps, and each step is splited into several sub-steps
Scenario descriptor
Configuration
Execution
Monitoring
Analysis
23
Experiment Design
Analysis
Performance Evaluation Protocol Validation System Testing
MonitoringExecution Logs Packet Traces
Execution Debug Mode Soft Realtime Mode Hard Realtime Mode Realtime RF
ConfigurationNetwork Interface Traffic/Mobility Protocol Stack PHY/RF Abstraction
Scenario DescriptionEnvironment/System Network Topology Application EMU IO Parameters
24
Basic Scenario Descriptorbuild the layout of an experiment
Environment / System
Pathloss model
Channel Model SCM (3GPP 36.384)
Antenna description
System bandwidth
System frequency
Network Topology
Area
Nodes descriptors ENB/CH vs. UE/MR
DistributionStatic, RWP, RWalk, grid
Average distance
Mobility model Static, RWP, Rwalk, Grid
Moving dynamicsSpeed, pause time, journey
time
25
Basic Scenario Descriptorbuild the layout of an experiment
Traffic
Type VoIP, M2M, Gaming
Packet size and Inter-arrival time Constant
Uniform
Exponential
Poisson
ON-OFF
Emu I/O Params
Emu time
Log level Per component
Packet trace at L2 Wireshark Interface
Performance metrics/layer one-way delay, throughput,
loss rate,
Seed Random, user-specific
26
Configurationdefine a sequence of component s’ initialization
XML Gen scenario is translated / defined in “xml” format
Config Gen (OCG) Process xml file Compute config parameters Initialize and configure operation of all components
Example: when to generate traffic? Which mobility model?
Config Gen
Pkt TracerMobility Gen
Traffic GenLog Gen
Env/sys
Net
App
Emu I/O
Scenario Descriptor
XML GenL2 Protocols
PHY Procedures
Emulation Medium
OAI Network Interface
L3 Protocols
PHY Abstraction
RB Conf. Gen.
27
Executionsynchronize nodes and run the experiment
Mode1. Debug Mode Access stratum user space + no IP driver an
2. Soft Realtime mode Access stratum user space + Driver in Kernel
3. Hard Realtime Mode Access stratum RTAI kernel + Driver in kernel
4. Realtime RF Mode Hard Realtime Mode + HW + Attenuator
Type1. One instance / machine IP multicast through Ethernet
2. Several instances / one machine (Virtualization) Shared memory
28
Monitoringwatch the experiment in real time
Passive monitoring
Execution and performance logs
Active monitoring (packet tracer/sniffer)
Check and control performance metrics and protocol signaling during the experiment
Online and offline capabilities
Command line interface
Label and archive raw data
29
Analysisprocess raw data and produce statistics
Raw data processing
Correlating and examining user plane traffics
Filtering and extracting protocol signaling
Results Generation and archiving
Key performance indicators (KPI)
Statistics
Design and implementation validation
30
Architectural Design
Scalability of the experiment
Protocol vitalization and parallelism
Optimized emulated data transport
Offloading capabilities depending on Hardware
Applicability of the experiment
Real protocol stack (not modeled) interconnected with Linux TCP/IP network stack
Hard realtime and soft realtime operations (RTAI)
Attach real applications (emulate the remaining traffic)
Feed real channel traces
Interconnection with a live network
32
Building Blocks
Scenario
Descriptor
XML format
Scenario
Results
External
Application
Dispatcher
Result GenConsole
External
Traffic Gen
Config Gen
Pkt TracerMobility Gen
Traffic GenLog Gen
L2 Protocols
PHY Procedures
Emulation Medium
OAI Network Interface
L3 Protocols
PHY Abstraction
OAISIM - OAIEMU
RB Conf. Gen.
33
Virtualization of Protocol Stack
Share the host kernel between different emulated nodes / instance
Parallelism : logical and useful
Logical: Each Node on separate thread
Useful: Dynamic allocation of PHY abstraction and channel modelling on multiple thread
Other parallelism
Compilation directives
Physical Machine
Application
Host OS
…
Hardware
Shared Kernel
(Host+ virtual instances)
Emulation Medium
34
Emulated Medium
Emulated data are exchanged through two techniques
Shared memory
IP multicast over Ethernet (or any other medium)
IP Multicast
Channel realization
Shared memory
…
Inst0
Inst1 Inst K
Physical Machine K
Inst 2
Channel realization
Shared memory
…
Inst0
Inst1 Inst K
Physical Machine 0
Inst 2
…
35
Emulated Medium : IP Multicast Case
Requires barrier synchronization (rdv point) to achieve
frame synchronization among multiple instances /
machines
Proceed per subframe, where the next subframe cannot start
until all nodes complete the previous subframe
Coordinated by the primary master (typically the first
machine in the emulation)
Limitation:
Dynamic join/leave of a physical machine in the multicast
group at anytime is not supported
36
Emulation Medium10.0.3.3. 10.0.2.2
10.0.1.2
10.0.1.1
Multicast Group224.0.0.161
224.0.0.162
224.0.0.163
224.0.0.164
Primary Master
Secondary Master
37
PHY Abstraction
Prediction model for modem performance (BLER) based on current channel state (per subcarrier SINR)
Modem performnce: modulation and coding
Enables fast simulation of PHY layer performance for system level simulation
Inject simulated error patterns for each transport channel block traversing the MAC/PHY interface
PHY Abstraction is done at the receiver
Wideband SINR are computed on every subframe
Network topology
Pre-defined propagation model
38
PHY Abstraction: 2 Modes
L2 Protocols
PHY Procedures
OAI Network Interface
L3 Protocols
PHY Abstraction
F(SNR, MCS)=P(BLER)
L2 Protocols
PHY Procedures
OAI Network Interface
L3 Protocols
PHY
Mod.
Coding Decodin
g
Demod.
Convolution
Signal
Channel
Realization:
ENB2UE
UE2ENB
Same IF
Same IF as
with RF
Uncoded msg
Uncoded msg
Channel Descriptor
Channel Trace
Mobility Gen
EMOS
Chan
nel M
odel
Pat
h L
oss
39
Radio Resource Control
• System Information
• RRC Connection management
• Resource Configuration
• QoS
• Measurements reporting
• Mobility management
Packet Data Convergence Layer
• Header (De)Compression (ROHC)
• Ciphering/Deciphering, Integrity
• Data Transfer Procedures, Re-establishment Procedure
• In-sequence delivery
Radio Link Control
• Segmentation and reassembly
• Reliable data transfer
• In sequence delivery
PHY
L2 Protocol Stack
Medium Access Control
• Random Access
• HARQ
• Scheduling
• DL/UL SCH Data Transmission
• MUX/DEMUX, DRX
Contr
ol Pla
ne
Use
r Pla
ne
40
L2 Protocol Stack
SignallingRadio Bearers (BCCH, CCCH)
Radio Resource Control(RRC)
PDCP
RLC-TM RLC-UM RLC-AM
RLC Config.
PDCP Config.
UnacknowledgedRadio Bearers
AcknowledgedRadio Bearers
MAC Scheduling Unit (ULSCH/DLSCH)
SI/RA/MP Procedures
MAC Config.
Logical Channels
PHY Procedures
Transparent Mode
Data PlaneControl Plane
41
L2 Protocol Stack
RRC System Information broadcast RRC connection establishment signalling data transfer connection reconfiguration (addition and
removal of radio bearers, connection release)
measurement collection and reporting at UE and eNB
RLC - TM
RLC- UM Segmentation, concatenation, and
reassembly
RLC- AM Segmentation, concatenation, and
reassembly Padding Data transfer to the user Error control and correction
NAS Middleware for interfacing IPv4/IPv6-
based mechanisms for signalling and user traffic with 3GPP-specific mechanisms for the access network
PDCP IP-interconnection facilities with the RLC
MAC eNB RRC interface for SI and CCCH Basic Schedulers DCI generation HARQ Support RA procedures and RNTI management RLC interface (AM, UM)
MAC UE PDU and header formats RLC interface (AM,UM) RRC interface for SI and CCCH
42
OAI Network Interface
Netlink socket for soft real time mode: user spaceKernel Space
RTFIFO for Hard realtime mode using RTAI : kernel spcae
PHY Procedures
L2 Protocols RTAI/
USER
Non-Access Stratum DriverNAS Control Plane IP Packet Classification
IP Kernel
43
L3 Protocol Stack
PHY Procedures
L2 Protocols
Non-Access Stratum Driver
RTAI/
USER
KernelIP
Radio Resource Management
Topology & Connectivity Management
Local Routing
Forwarding
Routing /Multicasting
MIP
Data Plane
User
Control Plane
44
E2E Validation
Real Application
Channel realization
Shared memory
…
Inst0
Inst1 Inst K
Real Application
Channel realization
Shared memory
…
Inst0
Inst1 Inst K
IP Multicast
Physical Machine 0 Physical Machine k…
Emulated or True Core Network
Real Application
L2 Protocols
PHY Procedures
Emulation Medium
OAI Network Interface
PHY Abstraction
L2 Protocols
PHY Procedures
Emulation Medium
Traffic/Mobility Gen
PHY Abstraction
L2 Protocols
PHY Procedures
Emulation Medium
Traffic/Mobility Gen
PHY Abstraction
L2 Protocols
PHY Procedures
Emulation Medium
OAI Network Interface
PHY Abstraction
L2 Protocols
PHY Procedures
Emulation Medium
Traffic/Mobility Gen
PHY Abstraction
L2 Protocols
PHY Procedures
Emulation Medium
Traffic/Mobility Gen
PHY Abstraction
45
E2E Validation: Use caseWide Area Network Emulator WANEM
Delay emulation tool allowing applications to experience wide area network delays, bandwidth and error ratios http://wanem.sourceforge.net/
UE 0 UE 1
UE 2
eNB 0
UE 0 UE 1
UE 2
eNB 0
46
Hard Real Time Operation
Designed to emulate the wireless
behavior in a real network
With real app and proto
Respects L2 frame timing strictly
sync wrt sample stream
L1/L2 protocols run using the
real-time kernel
RT Threads under RTAI
L3 networking makes use of
Linux networking stack
47
Soft Real Time Operation
Designed to enable realistic large scale emulation inside one or series of machine(s)
Performance evaluation
Debugging protocol stack
Calibrated to respect L2 frame timing on average
10us scheduling accuracy
MAC/PHY is a regular Linux process
With multi-threading
L3 networking makes use of Linux networking stack
48
eNB/CH Interface
RA
Proc
Measurement
Procedures
ULSCH/DLSCH
Scheduling
PHY Proc
Abstraction
uls
ch
_d
lsch_eN
B_sched
ule
r
initia
te_
ra
term
ina
te_ra
ge
t_D
CI_
sd
u
fill_
rar
ge
t_d
lsch_sdu
rx_
sd
u
ge
ne
rate
_pss_e
mul
ge
ne
rate
_phic
h_
em
ul
dls
ch_
encodin
g_
em
ul
lte
_m
easure
men
ts_em
ul
lte
_syn
c_
tim
e_
em
ul
ge
ne
rate
_pbch
_em
ul
uls
ch_
decodin
g_
em
ul
rx_
uls
ch_
em
ul
RLC
ma
c_
rlc_
da
ta_re
q
ma
c_
rlc_
da
ta_in
d
ma
c_
rlc_
sta
tus_in
d
ca
nce
l_ra
PDCP
TM UM AMRRC
pd
cp
_data
_in
d
pd
cp
_data
_re
q
pd
cp
_config_
req
rrc_rlc_config_req
rrc_rlc_data_req
rrc_data_ind
rrc_data_conf pd
cp
_config_
req
mac_rrc_lite_data_req
mac_rrc_lite_data_ind
49
UE/MR Interface
Phy Proc
Abstraction
ue
_se
nd_sd
u
ue
_d
ecode
_S
I
ue
_ge
t_sd
u
fill_
rar
ge
ne
rate
_pra
ch_em
ul
rx_
ph
ich
_em
ul
dci_
de
codin
g_
pro
ce
dure
s_to
p_
em
ul
uls
ch_
encodin
g_
em
ul
dls
ch_
decoid
ng_
em
ul
lte
_u
e_m
easure
ments
_em
ul
lte
_syn
c_
tim
e_
em
ul
ue
_o
ut_
of_
syn
ch_
ind
ue
_p
roce
ss_ra
r
ue
_ge
t_ra
ch
ph
y_
syn
ch
_succe
ss
ge
ne
rate
_srs
_e
mul
rx_
pb
ch
_e
mul
RA
Proc
Measurement
Procedures
ULSCH/DLSCH
Scheduling
RLC
PDCP
TM UM AMRRC
pd
cp
_data
_in
d
pd
cp
_data
_re
q
pd
cp
_config_
req
rrc_rlc_config_req
rrc_rlc_data_req
rrc_data_ind
rrc_data_conf pd
cp
_config_
req
mac_rrc_lite_data_req
mac_rrc_lite_data_ind
ma
c_
rlc_
da
ta_re
q
ma
c_
rlc_
da
ta_in
d
ma
c_
rlc_
sta
tus_in
d
50
Hardware Emulation Platforms
Standard PC Workstation PC Cluster ARM modules GPU Workstation
Scalability vs. Cost
Processing Capability
Network Link Speed
RAM Latency
52
L2
RF Emulation
Measurements, PHY Error
RTAI
L2L2L1/L2
IPv6, NAS DriverPossible Hardware Platform
Gigabit Ethernet Switch
Machine 0
Frontend
Machine n-1Machine 1 Machine 3
Machine 2 Machine 4 Machine n
VL
AN
EX
P
Transport Emulated Data
Application Data
IPv4
IPv6
…
…
53
Software/Hardware Co-DesignCPU mono-thread vs. CPU multi-thread
QPI Channel
Core 1
Core2 Core 3
Core 0
C
a
c
h
e
RAM DDR3
(Dual or 3
channels)QPI Channel
Core 1
Core 2 Core 3
Core 0
RAM DDR3
(Dual or 3
channels)
Bottleneck
C
a
c
h
e
54
Software/Hardware Co-DesignGPU threading
GPU
PCI Express
RAM GDR5
Inte
rnalB
us
GDR5 time faster than DDR3
PCI express speed = QPI
Channel speed
Arch dependent
55
OMG Roadmap
Embedded Approach Both worlds integrated in a single product Advantage
Native and fast interaction, including feedback
Disadvantage Complex extension / cannot get the best of both worlds
Isolated Approach: One simulator providing traces for the other Advantage:
Separate development
Disadvantage No feedback Access delay
Federated Approach Both worlds interact through sockets API and are synchronized by an interface Advantage:
Independent development/ can use different simulators
Disadvantage: Synchronization and data management
OpenAir Emu contains basic random models(RWP, RWALK,GRID)
OpenAir Emu loads trace files
provided by SUMO
OpenAir Emu connects to
SUMO via sockets
63
Current System Configuration for EMULATION
Soft Realtime EMULATION (USER-SPACE LINUX ) UBUNTU 9.04
GCC 4.3.3
KERNEL 2.6.29.4 / GENERIC UBUNTU KERNEL (2.6.28-generic) IPv6 features enabled (OPTIONAL. Only if IPv6 is required)
Hard Realtime EMULATION (KERNEL-SPACE + RTAI) UBUNTU 9.04
GCC 4.3.3
KERNEL 2.6.29.4 VANILLA KERNEL (from www.kernel.org)
Patched with OpenAirInterface Driver
Patched with RTAI 3.8
Twiki: HOW-TO create the 2.6.29.4 OpenAirInterface kernel on a Ubuntu 9.04
65
Upcoming System Configuration
For both hard and soft realtime mode UBUNTU 9.04 UBUNTU 10.04 LTS version (3 years support)
GCC 4.3.3 GCC 4.4.3
KERNEL 2.6.29.4 2.6.32.2
VANILLA KERNEL (from www.kernel.org)
Patched with OpenAirInterface Driver (ONLY if using IPv6)
Patched with RTAI 3.8
Patched with BIGPHYSAREA (ONLY for RADIO)
Hardware requirements
Gigabit Ethernet Switch
For a Small scale emulation = Normal laptop (Core 2 duo CPU)
e.g : DELL PRECISION M2300, Core 2 duo 2.2Ghz, 2GB of RAM
For a large scale emulation = Cluster machine (Quad-core CPU)
e.g : DELL POWEREDGE 1950, QuadCore 2.2Ghz, 8GB of RAM
66
OAISIM Emulation Process
Step 1: Generate/edit an xml configuration file
Step 2: OAISIM initiates All MAC/PHY structure Log generation per sub-layer Config generation for automatic detection/parsing of the XML
configuration file Packet tracer for monitoring usre-plane and data-plane singling Mobility generation for different node mobility pattern Channel Modeling to calculate the propagation and fading Traffic generator for user plane
Step 3: OAISIM runs the emulation PHY procedures, layer 2 protocols, traffic generator, and packet tracer PHY abstraction, channel modeling, and mobility generator Emulation medium
Step 4: OAISIM outputs to Result Generation & Display.
67
Usage
Command line using options
Command line using xml scenario descriptor with OCG
Web interface using html scenario descriptor with OCG localhost/OpenAirEmu
EURECOM Portal emu.openairinterface.org
68
Makefile
Open the Makfile in openair4G/targets/SIMU/USER/
Support for -mmmx -msse -msse2 -m32 -msse4
Compilation Options: RRC_CELLULAR NAS_NETLINK ADDCONF DEBUG_PHY Under linux, xml libs are also includes
Make (openair4G/targets/SIMU/USER and make clean; make all NAS_NETLINK=1) all, oaisim nasmesh1, nasmesh2, install_nasmesh clean, cleanl1, cleanl2 printvars
Documentation: openair1 Ready, openair2/3 coming soon Run doxygen in OPENAIRX_DIR/DOCS/DOXYGEN
69
Lab Session: Experiment 1
How to use the platform and what are the main components
Follow the control plan signaling
RRC connection management
Data radio bearer configuration
IP interface setup
Send IP packets and follow the user plane traffic
Protocol instance and IP address
Wireshark
Simple ways to process the output of the simulator
70
Compiling and Testing
Read the target/README.txt for installation procedure libblas; libblas-dev,libxml2,libxml2-dev, asn1c Export the env. variables
Start from targets/SIMU/USER env , check the env variables Make clean Make all NAS_NETLINK=1 On Linux, OCG is active by default Binary file for the user space “oaisim”
Compile and install the oai network device make nasmesh1 for emulation on 1 PC lsmod | grep nasmesh
To see that the module is identified by LINUX dmesg ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 Ifconfig oai0 ping 10.0.1.1 (ctrl C to stop ping)
71
Command line
Usage (./oaisim -h): oaisim -h -a -F -C tdd_config -R N_RB_DL -e –x transmission_mod e -m target_dl_mcs -
r(ate_adaptation) -n n_frames -s snr_dB -k ricean_factor –t max_delay -f forgetting factor -z cooperation_flag -u nb_local_ue -U omg_model_ue -b nb_local_enb -B omg_model_enb -M ethernet_flag –p nb_master -g multicast_group -l log_level -c ocg_enable –E seed
Options
-F: enable FDD mode, defaulted 0
-C: TDD configuration, defaulted 3
-R: set number of RB DL, defaulted to 25
-e : activate extended prefix, defaulted 0
-s : set a fixed SNR in dB, defaulted 30
-k: ricean factor, defaulted to 1x10-13
-t: delay spread, defaulted to .8
-f: forgetting factor, defaulted .999
-x: set the transmission mode, defaulted 2
-z: cooperation flag, defaulted 0
-o :path loss model, defaulted 0
-a: abstraction flag, defaulted 0
-n: set the number of frames, unlimited
-u: number of local UE/MR, defaulted 1
-U: mobility model of UE/MR, defaulted 0
-b: number of local eNB/CH, defaulted 1
-B: mobility model of eNB/CH, defaulted 0
-M: activate the distributed emulation
-p: set the number of physical machines
-g : set the multicast group id
-l: set the global log level, defaulted trace
-c: activate the OCG, defaulted 0
-E : seed for random number, defaulted 0
72
Control Plane Signalling
With the PHY abstraction : ./oaisim –a –n 10 > log.txt
Open log.txt (gedit log.txt)
NOT_SYNCHED
eNB generates MIB, SIB 1/2/3
RRC_PRE_SYNC
UE Decodes MIB, SIB1/2/3
Attached
Random access preamble
Random access response (RAR)
RRC Connection Setup
RRCConnectionRequest (UE)
RRCConnectionSetup (eNB)
RRCConnectionSetupComplete (UE)
Accept Connections (NAS)
Bring up interface (oai0)
Establish Data Radio Bearer (dmesg)
UE 0 UE 1
UE 2
eNB 0
NOT SYNCHED
ATTACHED
CONNECTED
SYNCHED
73
1enb, 1UE
20KM2 area
Data Plane Signaling
Check specific logs ./oaisim -a –n 20 | grep XXX > log_XXX.txt (replace XXX by RRC)
where XXX is RRC, MAC, RLC, PDCP, NAS, UE, eNBNAS for DRB setupRLC for segmentation and reassembly
./oaisim –a | grep PDCP ping 10.0.1.2 ping 10.0.2.1Wireshark
Run with more than one UE and check logs and config ./oaisim –a –u5 | grep PDCP ping 10.0.1.6, ping 10.0.1.5, ping 10.0.1.4, ping 10.0.1.3, ping
10.0.1.2 ping 10.0.6.1, ping 10.0.5.1, ping 10.0.4.1, ping 10.0.3.1, ping
10.0.2.1
74
Examples
TARGETS/SIMU/EXAMPLES/VIRT_EMUL_1eNB Several instance within the same physical machine with IP
connectivity
Compile with NAS_NETLINK=1
Insmod nasmesh.ko
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
ifconfig oai1 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255
rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 3
rb_tool -a -c0 -i1 -z0 -s 10.0.2.2 -t 10.0.2.1 -r 3
75
LAB Session: Experiment 2
In directory openair4G/targets/SIMU/USER
Activate the PHY layer and adjust the SNR run ./oaisim –s 0 >log_phy.txt
Check the control plane and data plane signaling as before
Open two new shells go to openair4G/targets/SIMU/USER run ./watch_enb & ./watch_ue
Check the logs
Modify SNR to 8, 20
Increase number of UEs
What do you observe when complete PHY layer is used?
76
Lab session : Experiment 3
Fine tune scenario with command line and OCG
Open the file targets/SIMU/EXAMPLES/OSD/WEBXML/template_2.xml
Usage : ./oaisim –c 2 –n20 | grep OMG
Change the “number of nodes”, “area” and “mobility model” in target/SIMU/EXAMPLES/OSD/WEBXML /template_2.xml
• Mobility model: fixed, random_waypoint, random_walk
• Alternatively, -U and –B options
Add a new template template_k.xml k in target/SIMU/EXAMPLES/OSD/WEBXML and run ./oaisim –c k, , where k = 1,2,3,4,…, n
./oaisim –c template_3.xml give the template manually with the following format: xxx_n.xml
77
<OAI_EMULATION><TOPOLOGY_CONFIG>
<MOBILITY><UE_MOBILITY>
<UE_INITIAL_DISTRIBUTION>random</UE_INITIAL_DISTRIBUTION><RANDOM_UE_DISTRIBUTION>
<NUMBER_OF_NODES>2</NUMBER_OF_NODES></RANDOM_UE_DISTRIBUTION><UE_MOBILITY_TYPE>fixed</UE_MOBILITY_TYPE>
</UE_MOBILITY><eNB_MOBILITY>
<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION><RANDOM_eNB_DISTRIBUTION>
<NUMBER_OF_CELLS>1</NUMBER_OF_CELLS></RANDOM_eNB_DISTRIBUTION><eNB_MOBILITY_TYPE>fixed</eNB_MOBILITY_TYPE>
</eNB_MOBILITY></MOBILITY>
</TOPOLOGY_CONFIG><EMULATION_CONFIG>
<EMULATION_TIME>40</EMULATION_TIME></EMULATION_CONFIG>
</OAI_EMULATION>
XML Scenario Descriptor (template_1.xml)
78
LAB Session: Experiment 4
Distributed Emulation
2 physical machines
1 instance per machine
In directory openair4G/targets/SIMU/USER
make nasmesh2 for distributed emulation
Machine 1: eNB
./oaisim –u0 –M0 –p2 | grep PDCP
Ping 10.0.1.2
Machine 2: UE
./oaisim –b0 –M1 –p2 | grep PDCP
ping 10.0.1.1
Check the user-plane and data-plane signaling as before
79
Open a browser and type http://Localhost/OpenAirEmu
Require XAMPP (http://www.apachefriends.org/)
Add OpenAirEmu web interface to htdocs
Configure OpenAirEmu.conf<?$OPENAIR_HOME = ""; // set the absolute Path
// DO NOT CHANGE THESE VARIABLES$OPENAIR1_DIR = "$OPENAIR_HOME/openair1";$OPENAIR2_DIR = "$OPENAIR_HOME/openair2";$OPENAIR3_DIR = "$OPENAIR_HOME/openair3";$OPENAIR_TARGETS = "$OPENAIR_HOME/targets";$WEBXML_PATH = "$OPENAIR_TARGETS/SIMU/EXAMPLES/OSD/WEBXML";$RESULTS_PATH = "$OPENAIR_TARGETS/SIMU/EXAMPLES/OSD/RESULTS";?>
Currently does not support distributed emulation
Web Interface
80
IP Addressing of Virtualized Instances
When transmitting data among the virtualized protocol instances, the third and fourth byte of IPv4 address represents who is the source and destination Ping 10.0.1.2 = 10.0.1.110.0.2.2
Oai network device at the receiver side changes the address so that the local IP stack accepts the packetmake the third byte of both the source
and destination equal to the fourth of the destination
10.0.2.1 10.0.2.2
Physical Machine
Host OS
…
Hardware
Shared Kernel
(Host+ virtual instances)
Emulation Medium
Phy Abstraction
10.0.1.1 10.0.2.2
81
Output
Execution Log files per component
Currently only not all the components support different log level
Packet trace for MAC
Monitor/profile the execution
gprof
83
Usage of OAI Experimental Platform
Platforms are designed to offer open access pooled resources
Usage:
Carry out research and development projects sometimes up to the industrialization phase
tests, and develop prototypes and/or pre-production series. They can even serve as usage labs.
85
Rapidly Deployable Networks
A field trial (underground and medium-range outdoor) was carried out near Barcelona (Spain) in February 2009 near Paris (France) in November 2010
Goals: Validation and Integration of rapidly-deployable mesh technologies
into multi-standard systems for rapidly deployable networksPHY/MAC (rapidly-deployable WiMAX/LTE-like radio access) – 1.9 GHz, 5
MHz channelization TDD, 2x2 MIMO-OFDMA, 23dBmL3 (routing protocols + QoS management)Public-safety applications (video sensing, group comms)
87
CHORIST Trials (Barcelona Feb 2009)
Single Cluster Deployment
ClusterHead
Router 1 Router 2ClusterHead
Router 1
Router 2
630 meters
230 meters
ClusterHead 1 Router 2Router 1
ClusterHead 2
Router 3
Dual Cluster Deployment
88
HNPS Trial
Deploy-
able
WiMAX
Wireless
Mesh
Network
UMTS
&
LTE
SatCom(NoSaCo)
Wi-Fi
Ethernet
Gateway
Fixed
High
Speed
Network
Ethernet InternetIAN
WAN
90
The Implemented Network
Mobile Command
Centre
(Black Logan)
Mobile Unit 1
(Yellow Clio)
Mobile Unit 2
(simulated
vehicle)
Crisis Centre
(HITEC -
Luxembourg)
Crisis Centre
(Alcatel / Lucent - Paris)
WAN
Satellite Link
IAN
WiMAX/
WMN
Voice Service
TETRAPOL
TETRA Network
Crisis Centre
Redundancy
(Luxembourg)
91
HNPS Scenario: Terrorist Attack in a Building
Storage area
Hostages
Headquarters
MU 1MU 2
Video Analytics 1
Video Analytics 2
WMN
TETR
APOL
92
Network Used in the HNPS Scenario
Fixed Radio Networks
TETRAPOL
National PMR for public security – exterior
TETRA
Private PMR, for private security - exterior
WiFi
Exterior et interior – with localisation service
WiMAX
Wide band 4G radio network private
UMTS
Wide band 3G radio network public – Access granted to
public security agents
SatCom
Long distance connection with backhaul
Fast Deployable Networks
WiMAX
Wide band network limited to the
’intervention site
Wireless Meshed Network (WMN)
Deployed in areas where other
networks unavailable e.g. basements
– connected to the WAN via WiMAX
Wireless Sensor Network (WSN)
Deployed on demand to connect
sensors – may use the WMN or
WiMAX
93
Collaborative Web Tools
SVN Repositories containing OPENAIR1 : base band processing, channel sounder, OPENAIR2 : medium access control, L2 protocol stack OPENAIR3 : wireless networking TARGETS : simulation, emulation, real experiments
TWIKI Quick access by partners to our development via a collaborative HOW-TO
phpBB Forum external support services
Bugzilla Internal / external bug reporting
BSCW Internal/ external CMS for document sharing
Soon Sourceforge distribution of stable code
95
Collaborative Web Tools
Revision Control System SVN and WEBSVN Repository: https://svn.eurecom.fr/openairsvn/openair4G/trunk/
Web interface: https://svn.eurecom.fr/openairwebsvn/
Snapshot: http://svn.eurecom.fr/openairinterface/
Documentation Doxygen, Graphviz, Readme/howto OPENAIRX_DIR/DOCS/TEMPLATES
CMS https://bscw.eurecom.fr
Wiki https://twiki.eurecom.fr
Forum http://forums.eurecom.fr/openairinterface
Bug reporting http://bugzilla.eurecom.fr
96
Development Area
OPENAIR1: Baseband/PHY
Advanced PHY (LTE/LTE-A), Propagation Measurement
and Modelling, Sensing and Localization Techniques,
PHY Modeling Tools
OPENAIR0: Wireless Embedded System Design
Agile RF design, Reconfigurable High-end Transceiver
Architectures, FPGA prototyping, Simulation Methodologies,
Software development tools, low-power chip design
Cognitive
Technologies
Wideband RF,
Agile Spectrum
Management,
Interference
Management and
Control,
Distributed/Collabo
rative techniques,
Spectrum Sensing,
Cognitive and
Flexible Radio
Architectures,
Ambient
Networking
OPENAIR2: Medium-Access Protocols
Cellular/Mesh topologies, resource allocation, cross-layer
wideband scheduling, distributed resource control,
cooperation, low latency signalling
OPENAIR3 : Wireless Networking
All-IP, Mobility Management, 802.21, Cellular/Mesh
Routing Protocols, Mesh Topology Management, Radio
Resource Management, multicasting, QoS
Targets:
Simulation &
Emulation & Real
experimentation
Field trial,
measurement
campaign, Large –
scale real-time
system emulation,
protocol / algorithm
validation,
performance
evaluation, SW/HW
architecture,
software defined
radio, traffic and
mobility generators
97
OAI Users and Projects
Several labs have acquired OAI equipment Thales Communications (Paris) Alcatel-Lucent (Paris) Technical University of Berlin (2 labs) Bilkent University Aalborg University University of Nice Sophia-Antipolis EPFL CNES (French Space Agency)
Several labs contribute to SW development through collaborative projects
Related FP7 projects: SENDORA,WHERE,NEWCOM++, LOLA, CONECT, SAMURAI, SACRA,
MEDIEVAL
98
Development Methodology
Versioning and release
trunk : target new releaseRequire dev and bug fix
tagging : stable / specific releaseno dev just bug fix
branches: new featuresmerging to trunk when validated
Status can be seen on http://svn.eurecom.fr/openairwebsvn
99
Important Points
Document your code using doxygen and Readme Only .h files Add .h files to Doxyfile in DOCS/ Check the generated html
svn update : get the latest version
make check and run examples: validate your modification With/without abstraction flag and IP interface+traffic
svn status (-qu): to check your modifications
svn add : add new files if any
svn diff file_name , svn diff –r HEAD file_name
svn ci files –m “add your comment” commit ONLY the source files and not the generated files
100
References
freemat.sourceforge.net/
www.mathworks.fr/
www.gnu.org/software/octave/
www.scilab.org/
tetcos.com/software.html
pcl.cs.ucla.edu/projects/glomosim/
www.nsnam.org
www.opnet.com
www.omnetpp.org
http://nitlab.inf.uth.gr/NITlab/
www.openairinterface.org
102
Contacts Information
URL:
www.openairinterface.org
Partnership and collaboration :
Technical Support:
103