Skip to content

LTE-A Proximity-based Services, Device-to-device Communication module for NS-3

Notifications You must be signed in to change notification settings

makhtardiouf/d2d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

d2d

LTE-A Proximity-based Services, Device-to-device Communication module for NS-3

This repository hosts a prototyping environment developed for EPC-level user device discovery and communication in LTE-Advanced networks, called D2dSim. Using the popular network simulation platform NS-3, it is one of the first open-source D2D implementation attempt of a subset of the 3GPP Proximity-based Services Release 12/13.

**Implemented features:

EPC Network-assisted device discovery
    UE Proximity Application (ProseApp) <->  EPC Proximity Function Entity (ProseFcn)
    See files: lte/model/epc-prose*, lte-proseapp*, lte/helper/lte-prose-helper*

LTE-Direct communication  (UE <-> UE)

WiFi adhoc, to emulate WiFi-Direct for comparison purposes   (UE <-> UE) 

**What remains to be done:

LTE-Direct discovery; some data structures are in draft stage.

**1. Configuration on Ubuntu:

apt-get install libgccxml-dev libgsl0-dev libopenmpi-dev python-dev python-pygraphviz \
python-kiwi python-pygoocanvas python-gnome2 python-rsvg libsqlite3-dev gtk+-2.0-dev

**2. Get the ns-3 development tree:

hg clone -r 12192 http://code.nsnam.org/ns-3-dev ns3-dev
cd ns3-dev
export NS3_DIR=`pwd`

** Note that recent updates of mainstream ns-3 can bring compilation or runtime failures, 
due to TrafficControl & Queuing features that were added to the IP network module. 
Thus, use Revision 12192 above.

**3. Pull the D2D-related changesets:

git clone https://github.com/makhtardiouf/d2d.git
cp -Rv d2d/* src/
mv d2d/.git src/      # For future updates with git pull

cd $NS3_DIR
export CXXFLAGS="-O0 -ggdb -g3 -Wall -std=c++11 -fstrict-aliasing -Wstrict-aliasing"
./waf configure --build-profile=debug --enable-sudo --enable-examples

**4. Build:

CXXFLAGS="-std=c++11" ./waf build   

**5. Run:

./waf --run d2dsim

** Utility scripts are in:

$NS3_DIR/src/lte/examples/d2d-data/d2d*.bash
d2dbuild.bash  Build and display log
d2drun.bash  Executes D2dSim and display logged output at program termination
d2ddbg.bash  Runs D2dSim under the GDB debugger ...
Link them under /usr/local/bin/  for your convenience 

Stats files(txt, pcap) are saved under the OUTPUT directory.

Recommended environment: (K)Ubuntu 15.x, 16.x; g++ 4.9, 5.x

Detailed documentation will be written later on.

This project was initially hosted at: https://bitbucket.org/makhtardiouf/dtod

NS-3 LTE module: (C) Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
HTTP-related code: (C) Georgia Tech Research Corporation

D2D features: (C) 2014-2016 Gyeonsang N. University
InfoCom Engineering department
Adviser: Woongsup Lee
Implementer: Makhtar Diouf

About

LTE-A Proximity-based Services, Device-to-device Communication module for NS-3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published