LTE Module for NS-3

Simulation is an effective research tool in complex scenarios, such as cellular systems and WLAN networks. Adding new modules to an existing network simulator is common. This permits either to improve the performance of the simulated framework (e.g., a new resource management) or to better characterize the behavior of the overall system (e.g., full specification of the wireless channel). Therefore, these tools are open to be constantly updated and developed by the research community. For instance, MEDIEVAL uses NS-3, an open source discrete-event network simulator written in C++.

Specifically, MEDIEVAL is interested in the LTE module, that has been recently integrated into the latest stable release, ns-3.10, and initially developed during the Google Summer of Code (GSOC) 2010, while the current development of the 3GPP compliant framework can be downloaded here. A graphical representation of the proposed protocol stack is given in the figure below, taken from the LENA project.

The main contribution of MEDIEVAL in NS-3 can be found here. We plan to contribute to the open source community providing new NS-3 modules for LTE, such as link error prediction model and HARQ modules. The aim of this contribution is to consolidate and extend the features of the LTE simulator in NS-3, looking at the needs of MEDIEVAL. For example, new modules to extend the functionalities of the wireless access are planned to be implemented in the LTE NS-3 simulator. The goal is to assess the performance of the LTE network with techniques proposed and currently under investigation by partners of the project, triggering the exchange of ideas.


The increase in multi-interfaced terminals has motivated the research and deployment of novel heterogeneous networking procedures. With the existence of different kinds of wireless access networks and devices, the IEEE 802.21 standard stands as a shining beacon for the definition of Media Independent procedures with the aim of optimizing handovers. These mechanisms have extensively been used in past research initiatives, and are starting to see their first prototypes. However, the output software of these research initiatives, and the elaborated prototypes, are typically deployed in controlled environments, with specific hardware and/or operating systems.

Open Dot Twenty One, is an Open Source implementation of the Media Independent Handover framework from the IEEE 802.21 Media Independent Handover Services standard, using C++ APIs, created by the ATNoG group from the Instituto de Telecomunicações, University of Aveiro, Portugal. Its architecture and intelligent usage of the boost libraries allows it to be compiled in different operating systems, as well as facilitating its integration of different access link control modules. A graphical representation of its architecture is presented below.

ODTONE will play a vital part in the MEDIEVAL project, not only through the provision of an extensible and modular general-purpose Media Independent Handover Function (MIHF), but also by allowing new extensions to be easily coupled into the implemented MIH Protocol. As a result, partners implementing their MIH-Users (i.e., the high-level entities which interface with the MIHF) and the link control modules, are able to do it in a simplified and integrated way. For more information, please go to the ODTONE official website.


The consumption of popular multimedia contents, such as live TV shows, demand for efficient network transport mechanisms, such as IP multicast. Besides, the mobile data is increasing at a fast pace, leading to the need to research IP multicast under mobility management protocols such as PMIPv6. One such scenario is exemplified below.

MEDIEVAL tackles such scenarios leveraging on a multicast routing daemon for IPv6 (MRD6), which is an open-source implementation for Linux and BSD. MRD6 supports the following main features:

  • MLDv2 (and MLDv1 compatibility)
  • PIM-SM (including Source-Specific Multicast support)
  • BSR and Embedded-RP
  • Partial MBGP support (IPv6 multicast Sub-address Family Identifier Information for populating  local MRIB, for routers at the network edge)
  • Native and virtual interfaces (IPv6-IPv4, IPv6-IPv6 and TUN/TAP tunnels)
  • Remote configuration (using CLI)
  • Automatic translation of IPv4 multicast traffic to IPv6

Additionally, MRD6 is a useful tool in such scenarios as quick network prototyping, testing new network features and even to run in embedded systems. mrd6 packs mrd6sh, a tool that, along with built in telnet support, allows to interactively configure and obtain information from mrd6. Most commands may be called by the least common command prefix. The available options include the possibility to display groups' information, per group and per source forwarding statistics and others. Its build requirements are the following: a GNU build system, including G++ and Make.

OpenAirInterface Proxy Mobile-IPv6

Proxy Mobile IPv6 (PMIPv6) is a network-based mobility management protocol for localized domains, which is standardized by IETF. OpenAirInterface Proxy Mobile IPv6 (OAI PMIPv6) is an implementation of the RFC 5213, developed by EURECOM. OAI PMIPv6 is an open source under the GNU General Public License version 2.
OAI PMIPv6 has been implemented as a patch for UMIP v0.4 release (latest version) for Linux. The PMIPv6 architecture is defined in two functional entities. There are the Local Mobility Anchor (LMA) and the Mobile Access Gateway (MAG). OAI PMIPv6 implements LMA and MAG components in software in the same code. In MIPL, Mobile IPv6 is implemented using multi threads: one for handling the ICMPv6 messages, one for handling Mobility Header messages, and another one for handling tasks and time events. To support PMIPv6, the EURECOM implementation has extended these elements and implemented handlers for all necessary messages and events. ICMPv6 messages and Mobility Header messages are parsed by the Handler as inputs to the Finite State Machine, which is the heart of the system. Two different Finite State Machines are defined for LMA and MAG. They are in charge of making appropriate decisions and controlling all the other elements to provide correct predefined protocol behaviour. The PMIPv6 Binding Cache stores all information about MNs’ points of attachment and it is kept up-to-date with the mobility of MNs. All the basic building blocks of UMIP are used in an efficient way as shown in the following figure.
On the security side, inside the OAI PMIPv6 an enabled AAA client in IPv6 based on freeradius-client is provided and for prefix allocation on LMA, OAI PMIPv6 supports AAA server in IPv6.

OpenAirInterface LTE

OpenAirInterface is an open-source hardware/software development platform innovation in the area of digital radio communications. It was created by the Mobile Communications Department at EURECOM based on its experience in publicly-funded R&D carried out in the context of collaborative research projects (French ANR and European Framework programs).
OpenAirInterface LTE Platform, implements the LTE protocols on the radio interface between a Mobile Node (aka User Equipment (UE)) and a proprietary Base Station (aka Access Router (AR)), using real-time extensions of Linux Operating System. It includes a middleware NAS driver, the RRC layer, the MAC layer, the RLC layer and PDPC frames support. It is completed by RF cards providing the transmission of the LTE radio signal.
The radio elements are based on proprietary cards developed by EURECOM. These cards are providing transmission of LTE radio signal in TDD (Time Duplex Division) mode over 5MHz bandwidth at 1.9 GHz. The radio cards are viewed as PC-Express devices by the PCs. All the processing of the LTE physical layer is done in software on the PC. From the user plane perspective, the Linux IPv6 stack is accessing the LTE modem as a device driver. The control plane interface is ready to present a MIH_Link_SAP to upper layers both at the UE and the eNodeB side (collocated with the Access Router).
The platform contains the following protocol entities:

  • NAS: The direct inter-connection between LTE and IPv6 is performed using an inter-working function, located in the NAS driver and operating in both the Control Plane and the Data Plane. This function provides the middleware for interfacing IPv6-based mechanisms for signalling and user traffic with 3GPP-specific mechanisms for the access network (e.g. for mobility, call admission, etc.). It is developed as an extension of a standard IPv6/IPv4 network device driver.
  • RRC: The RRC layer, shared between the UE and the eNodeB, performs the control of the radio interface. It is based on 3GPP 36.331 v9.2.0. The control procedures (extended to support MBMS for multicast and broadcast) available in the LTE platform are the following
    • System Information broadcast
    • RRC connection establishment
    • Signalling data transfer
    • Connection reconfiguration (addition and removal of radio bearers, connection release)
    • Paging and measurement collection and reporting at UE and eNodeB
  • MAC: The MAC layer implements a subset of the 3GPP 36-321 release v8.6 in support of BCH, DLSCH, RACH, and ULSCH channels. The MAC implementation (providing an interface to external schedulers based on Femtocell forum specifications) includes:
    • RRC interface for SI and CCCH, Schedulers, HARQ Support
    • Random Access procedures and RNTI management
    • RLC interface (AM, UM)
  • RLC: The RLC layer implements a subset of the 3GPP 36-322 release v9.3 with TM, UM and AM modes.
  • PDCP: The current PDCP implementation is compatible with 3GPP Release 4, and does not support the security or header compression functionalities with respect to 3GPPP 36-323.

The following figure shows the integration of OpenAirInterface code in a global setting between a User Equipment and a base station acting also as an access router.