Professional Documents
Culture Documents
Konstantinos Katsaros
k.katsaros @ surrey.ac.uk
Outline
1 Introduction
2 NS-3 Modules
3 LTE Module
4 WiFi Example
FakeTitle1
Introduction
FakeTitle1
Where to get it
FakeTitle1
Current Modules in main NS-3 tree
FakeTitle1
Module Organization
FakeTitle1
Helper API
The ns-3 “helper API" provides a set of classes and methods that
make common operations easier than using the low-level API
Consists of:
- container objects
- helper classes
The helper API is implemented using the low-level API
Users are encouraged to contribute or propose improvements to the
ns-3 helper API
FakeTitle1
Building NS-3
FakeTitle1
Discrete-event simulations
FakeTitle1
Time in NS-3
FakeTitle1
NS-3 API
FakeTitle1
Scalability
FakeTitle1
Attribute System
FakeTitle1
Tracing System
FakeTitle1
FlowMonitor
FakeTitle1
NetAnim
FakeTitle1
LTE module - Design
FakeTitle1
Model Overview
FakeTitle1
Propagation Models
Buildings model
- Add buildings to network topology
Path loss model
- Okumura Hata (outdoor)
- ITU-R P1411 LOS & NLOS (outdoor)
- ITU-R P1238 (indoor)
- External & internal wall losses
- Log-normal shadowing
- Pathloss logic chooses correct model depending on node position
Fast fading model
- Trace-based
- Freq. and time dependent
Antenna models
- Isotropic
- Sectorial (cosine & parabolic shape)
FakeTitle1
PHY model
FakeTitle1
MAC Scheduler model
FakeTitle1
MAC Scheduler
FakeTitle1
Simulation Output
FakeTitle1
Features Highlighted
FakeTitle1
Simulation Time
FakeTitle1
Walkthrough of WiFi Internet example
FakeTitle1
NS-3 Implementation of WiFi Example
FakeTitle1
Structure of NS-3 program
FakeTitle1
Source Code for P2P example
Starting your script with this line ensures that emacs editor will be able
to indent your code correctly. The following lines ensure that your code is
licensed under the GPLv2.
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil;
-*- */
// GPLv2 Licence
Include the proper header files. For simulation scripts, you can aggregate
them with modules, but when developing your module, you have to
include the specific header file (not the aggregated)
include “ns3/core-module.h"
include “ns3/network-module.h"
include “ns3/internet-module.h"
include “ns3/point-to-point-module.h"
include “ns3/applications-module.h"
...
Use the ns3 project namespace
using namespace ns3;
K. Katsaros Introduction to NS-3 04/07/13 29 / 33
Introduction NS-3 Modules LTE Module WiFi Example Acknoledgement
FakeTitle1
example cont.
FakeTitle1
example cont.
FakeTitle1
Resources
Web site:
http://www.nsnam.org
Mailing list:
https://groups.google.com/forum/?fromgroups#!forum/
ns-3-users
IRC:
ns-3 at freenode.net
Tutorial:
http://www.nsnam.org/docs/tutorial/tutorial.html
Code server:
http://code.nsnam.org
Wiki:
http://www.nsnam.org/wiki/index.php/Main_Page
For LENA project:
http:
//iptechwiki.cttc.es/LTE-EPC_Network_Simulator_(LENA)
K. Katsaros Introduction to NS-3 04/07/13 32 / 33
Introduction NS-3 Modules LTE Module WiFi Example Acknoledgement
FakeTitle1
Acknowledgments